Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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!

share|improve this question
add comment

2 Answers

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.

share|improve this answer
add comment

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.

share|improve this answer
    
Its all near at start. –  Daniel A. White Jun 22 '09 at 20:11
    
or at first request. What is the proper way to close an ADO object? –  Daniel A. White Jun 22 '09 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 '09 at 20:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.