Warning, this feels like a n00b question – so please laugh quietly at my expense 🙂
Question
- Can I use caching for ASP pages
hosted on an IIS6 to reduce the
number of calls made back to a
remote MS SQL server? - How do I configure my environment to
achieve this? (point me towards the relevant documentation, as I don’t know what I’m looking for)
Scenario
Our organisation operates an intranet, where the content is replicated to servers at each of our remote sites. This ensures these sites have continued fast access to important information, documentation and data, even in the event of losing connectivity.
We are in the middle of improving the listing and management of Forms (those pesky pieces of paper that have to be filled in for specific tasks). This involves establishing a database of all our forms.
Views (as ASP pages) are built, and when viewed in the browser display the required information. This information is altered depending on the query strings passed by the user, by way of clicking on a link in which the values relevant to the link are defined in the HREF’s URL (eg; /path/to/file.ext?id=value&id2=value).
However, as the organisation hasn’t been smart enough to invest in MS SQL Server instances at each site, replication of the database and accessing it from the local SQL server isn’t an option.
I was looking at simply running a scheduled task to stream the dynamic pages to static ASP files saved back to the main server (then replicated out to the remote sites), but FSO is giving me a headache so I’ve abandoned that plan.
I’m instead considering the possibility of caching. Can I cache the output of the pages, so that instead of querying the SQL server each time the page is loaded, it loads a recently cached copy of the page and output?
However, as the organisation hasn’t been smart enough to invest in MS SQL Server instances at each site, replication of the database and accessing it from the local SQL server isn’t an option.
This is a real bummer. How busy is are the sites? Could you get away with an “Express” version or even (gasp) MS Access? MySQL might even be helpful here!
Have a look at the “Content expiration” tab in IIS 6. Maybe set it to a week. Also, there are equivalent HTTP headers that your ASP pages can set that will encourage caching.
I was looking at simply running a scheduled task to stream the dynamic pages to static ASP files saved back to the main server (then replicated out to the remote sites), but FSO is giving me a headache so I’ve abandoned that plan.
This sounds very reasonable, and you shouldn’t abandon it. One of the many MSXML/ServerXMLHTTP COM objects should help tremendously. Please outline the “headaches” you were encountering with FSO.