We have a web-application running in MS IIS 6.0 under MS Winsows 2003 with
all latest updates installed. The application is a COM-server, exposed for
users via ASP pages. During a stress-test we encounter the following problem.
Dllhost memory usage increasingly grows and never lowers down to its initial
value after all sessions closed. The COM-server itself does not have memory
leaks, we know this because we monitor memory usage in our application. The
COM-object gets successfully destroyed and clears its memory each time a
request is done. As for Dllhost, it seems as if it never frees up all memory
back. We tried to change session timeouts and even to run the application in
the sessionless mode. Nothing helps. Our aim is to process approx. 10
requests per second (for beginning). Normally, if 10 new users are logged at
the moment T and get some resources allocated for their requests, IIS must
clear up all resources, which were used for 10 existing users logged in at
the moment T-<some-timeout>. If this is true, then the following behaviour is
anticipated. After the application test started (M0), Dllhost starts to eat
memory to some, possibly high, value because of new requests. Once the
timeout period elapsed since M0, the memory usage must stabilize: new memory
allocations are equal to the memory which is freed up in every moment.
So, what is the timeout for the sessionless mode?
If sessions are used, what additional time should pass after session timeout
before IIS actually frees up the session memory?
We tried to use sessions with 5 minutes timeout, but memory remains in use
after 5 minutes.
What memory overheads per session are normally charged by Dllhost per
asp-page display?
What data is stored in the memory, used by Dllhost?
How should we set up IIS in order to force memory cleaning exactly by timeout?
Currently IIS is ran out of physical memory (1Gb) in 10 minutes after the
test start and begins to swap, so that performance decreases tremendously.
I've read about some W3SVC parameters in the registry, which might possibly
help us to change IIS caching policy, but it was about static files, whereas
we host mostly dynamic asp-pages.
Thanks in advance.