0

Has anyone else had any problems with IIS 6 App Pools running away with memory utilization? I am using server 2003 and our one classic ASP applications (powered by an Access database). Once a request has been made, it leaks around 180 MB. I moved the app into its own pool to isolate it from the other sites. I do not think we had this problem with IIS 5 in Windows 2000, I could be wrong. Could it be that it is loading up the database? Would trimming out old data help? Thanks for your time!

2 Answers 2

1

I'm hosting several "classic ASP" applications back-ending into MDB files w/ IIS 6 and not seeing this behaviour. It can work just fine.

I'm guessing that you've got some code that is running away w/ memory (storing session variables that never get cleaned up, etc). I doubt that removing data from the database is going to improve matters, unless the leaky code is leaking in proportion to database size (i.e programmer is loading a large recordset and then parsing it script-side).

Profiling / benchmarking classic ASP code isn't fun. You've probably got database connections being stored in session variables that aren't being closed properly. I'd look in that direction first.

0

Do you see the memory usage increase over time? More than likely it's a leak in your app code. You can try to increase the frequency of process recycling in order to free up the memory as a workaround. If it is a code problem then this is just a band-aid and you'd want to analyze your code for the problem.

A big culprit of memory leaks in classic ASP are ADO objects that never get closed and disposed of properly.

3
  • Its all near at start. Jun 22, 2009 at 20:11
  • or at first request. What is the proper way to close an ADO object? Jun 22, 2009 at 20:12
  • It really depends on how they're created. Something that devs frequently do is create session scoped recordsets to maintain state information which can persist for quite a while... In this case the object(s) would only get closed on session termination. Another thing to check is at the page level, making sure recordsets and connections are disconnected and released at the end of the script.
    – squillman
    Jun 22, 2009 at 20:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .