• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 164
  • Last Modified:

Keep Web Application in Server's Memory

When running on Asp.Net app at an ISP in a shared application pool, I notice quite predictably that there is quite a lot of latency when you make a first request but once the servers get going the performance increases considerably. I don't know if it is considered underhand to encourage the ISP's application server to keep your application in memory by having an aspx page constantly open which makes periodic/pulse requests (perhaps for itself?)

Does anyone else do this? How frequent would you make the pulses to get the right balance between keeping the servers alert and not overloading your application? Is IIS clever enough to realise that the same page is being requested, so it wouldn't keep the whole application in memory so you would need to pulse pages randomly?
0
Silas2
Asked:
Silas2
  • 2
  • 2
1 Solution
 
Silas2Author Commented:
Just talking Asp.Net, from what I've read of IIS's treatment of an Asp.Net request it has to first load the HTTPApplication object for the Asp.net's application so I guess it has to load the whole thing to service any page within the website.
0
 
Ted BouskillSenior Software DeveloperCommented:
If you don't have fully control of IIS the host system might reset the application pool memory in the early hours anyway.

The web application itself won't be able to keep refreshing the page.  IIS sits passively waiting for requests for web pages.  If you don't have direct access to the system to run a scheduled application or webservice you can't trigger page loads.  You'd have to do it with an external application.
0
 
Silas2Author Commented:
Sorry, I meant having an aspx constantly in a client browser somewhere in the world periodically (on a timer say 5-10 seconds) poking a request at a specific aspx file within the site which wouldn't do any work but would make IIS keep the site/app in memory.
0
 
Ted BouskillSenior Software DeveloperCommented:
Yes that will work but don't overdo it.  I'd only do the most popular pages to save system memory for other purposes (like sessions)

Have you read many articles like this on tuning caching?
http://aspnet.4guysfromrolla.com/articles/022802-1.aspx

Without see your pages as well, make sure you minimize the number of .NET server controls you use.  Use standard HTML unless you have to use a .NET server control.  It's a common mistake I see and it adds a LOT of overhead to the site.

If you want to analyze your pages use Firefox with the Firebug and YSlow plug-ins.  They are great for performance tuning a page.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now