I have just moved our website to a new host which is a VPS (virtual private server) with Webfusion.
Currently we are just using IIS 6 and MS SQL 2000.
The server only has 500MB of memory, or at least that's what our virtual part of the server has been allocated. We have full remote desktop and admin rights over our virtual OS which is just like a normal server.
Now the only problem is that the server when idling has about 200MB free memory, but when we start IIS6 and SQL this drops to 100MB and then once the server has served about 20K page views the memory is around 15MB free and we start to see messages on clients like unable "HTTP/1.1 New Session Failed" presumably because the server has no available memory to commit to new sessions.
This is all a little boggling to me and I'm struggling to get my head around it.
I would expect that if a user logs on, then a bit of memory is allocated to that session and then once the session ends, the memory becomes available to serve new sessions, but the opposite of this seems to be true, and it would appear that the memory just dissapears.
Or is this not the correct understanding of how memory allocation works?.
My question is really 2 fold.
1) Where's the memory going?, is this normal or is my ASP, and ASP.net application leaking memory?, if so, how can I figure out where the holes are?
2) Can anyone make any suggestions in terms of throttling the amount of memory consumed by both the OS and SQL, IIS6 etc. I have already allocated a fixed amount of just 8MB to SQL (low I know).
Any suggestions and explanations greatly welcome.
Thanks in advance,