Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 166
  • 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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

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