0

I am working on an ASP.NET website (not web application) that acts as a data-entry point for a database. We're targeting .NET 4.0. We have a very general page setup: There is a list of items in a gridview, and when the user wants to edit an existing item or add a new one, we use a ModalPopupExtender that holds controls for a data-entry screen. We have put the Extender and all related controls into a single User Control, so that we can easily reuse the these screens.

Everything runs great on my development machine. Fast and reliable.

On the server, one of the pages runs incredibly slow. This page has the User Control with the most child controls. 17 Textboxes, 18 DropDownLists, a TabContainer with 3 TabPanels, 7 Buttons/LinkButtons, and something like 10 Labels.

When you enter the page, it loads slowly. When you click to edit an item (which runs a function in the User Control to populate every control), it takes a good 4 seconds before you see the popup, whereas the other tools with a third of the controls load pretty much instantly.

I get that we're querying a lot of data, so I'm already investigating loading the form dynamically, maybe one quarter of the controls at a time. I think I can do that with [WebMethod]s but am not sure.

It still seems very unusual to me, though, that our server with all the more powerful resources available to it, lags compared to my development box.

Is there anything I should be changing in the website itself, or in IIS on the server, to try and mitigate these slow-downs?

ohioDeveloper
  • 366
  • 3
  • 13
  • Maybe because you have many users, and have some delay on get data, they block each other, see this question/answer http://stackoverflow.com/questions/12284530/asp-net-server-does-not-process-pages-asynchronously/12285168#12285168 and then make a test, disable the session from the page you have the problem to see if it will solve. – Aristos Sep 17 '14 at 19:29
  • Thank you, I will check that out. I can say that the server in question is actually a test-deployment environment, and that there is pretty much no one hitting IIS but myself. The database has more users accessing it, although in my testing, the DB doesn't seem to be the bottleneck. – ohioDeveloper Sep 17 '14 at 19:36
  • If you have access to the server you can monitor it with ProcessExplorer, and other tools to see the status of your pool, if eachs a lot of memory, maybe its recycle often, I do not know what can go wrong. Some times when you query a large database, a single change on the sql can make it a lot slower or faster. – Aristos Sep 17 '14 at 19:39

0 Answers0