• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 714
  • Last Modified:

Windows Server 2003 R2 x64 - IIS Issue (RAM)

THE SERVER
http://i.imgur.com/b0VChGM.png

THE PROBLEM
We have about 400 websites running on this server. We had them all under 1 App Pool which we noticed kept having freezing points every now and then so we separated the websites into 4 different app pools. 100 sites per app pool.

The issue is even more evident. What happens is the PF Usage keeps going up to the max get's to about 9GB and then stalls all the websites which then we can see the PF usage starts to go down to 4GB and then starts to go back up. While the PF Usage is dropping the sites become unavailable which lasts about 1 minute.

Processes show that w3wp.exe taking up most of the Mem Usage & VM Size.

WHAT WE DID ALREADY
We have ordered more ram. It currently shows the server has 4GB of RAM. We will be increasing it to 8GB this coming Saturday.

WHAT I WOULD LOVE TO KNOW
1.  Is this enough? Is there anything else we should do to try and resolve the issue?
2.  How does PF Usage go above 4GB of RAM since we clearly only have 4GB how is it showing more than that being used?

Thank you for your help.
0
CyberAd
Asked:
CyberAd
  • 2
1 Solution
 
zc2Commented:
1. I'd prefer to keep each site in it's own app pool. You can use ADSI scripting to automate the management tasks, such as making the pools and assigning the sites to them.

2. When the server runs out of the physical memory, it uses the virtual memory which is just a file on the hard drive (imagine the speed). This is a very simplified answer, search swapping and paging on the internet for more info.
0
 
CyberAdAuthor Commented:
Actually the issue was a bit different and it had to do with ASP Compiled Pages.  Here are my notes on how we resolved the issue:

w3wp.exe was utilizing a lot of RAM.  So after investigation IIS 6 stores what it calls Template Caching into RAM by default.  Well all we are doing by making the below change is taking it out of RAM and putting that to go onto a drive on the website.

So here we go:
When an ASP page is accessed, IIS caches the whole of the source code, including ALL linked #include pages. The stupid thing is that even if the #include pages were already included by another ASP page previously accessed, THEY ARE CACHED AGAIN!


So what I have done is:

Open IIS
Right click on "Web Sites" -> Properties
Click "Home Directory" tab, click "Configuration"
Click "Cache Options" tab
Set "Cache limited ASP files in memory" to "5"
Set "Cache limited ASP files on disk" to whatever your disk has space for (default to 2000)

The only change was setting Cache limit ASP files in memory from 500 to a 5.  When I did that I noticed the location of where we store these files grew from 0 to 1.8GB in size.

I have changed the file storage of the sessions to be F:\IISSessions, this is an SSD 50GB drive.

Old location was: %windir%\system32\inetsrv\ASP Compiled Templates
0
 
CyberAdAuthor Commented:
RAM Usage went down to a stable 3GB from 9GB.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now