I'm running an ASP/SQL DB application i created. The number of users has tripled to about 30 people and we're really maxing out the server's resources. we recently split the applicaitno up so SQL is on one server and we're using IIS on another server. For a day everything was fine.
But then on the IIS server, we started maxing out the processor because W3WP.exe keeps spiking up and using 90% or more of the CPU. The problem recently is that when it spikes up it keeps the processor maxed out for hours even when everybody stops using the system.
Not being an expert in server management and performance tuning, I've been poking around online trying to find solutions. I ran across a bunch of posts of other people using Windows Server 2003 who've had this same problem. The repeated solution was to change my IIS pool properties so that Maximum Number of Worker Processes was set to 4 instead of the default 1. That seemed to solve it, at least in testing.
But when 30 people logged back on, suddenly all session variables stopped working. So people were constantly not able to access pages that involved session variables.
I checked IIS, and session timeout is set to 20 minutes. I added "Session.Timout = 45" to all of my pages, but it doesn't seem to actually be working.
Finally I moved the Maximum Number of Worker Processes from 4 back to 1 and session variables seem to be working. But now I'm waiting for the CPU to max out.
I've searched through my IIS books and through Experts Exch but I just can't figure out what I'm doing wrong.
My questions are:
1.) Does increasing the Maximum Number of Worker Processes affect session variables functionality? Is there to increase the Maximum and not kill the session?
2.) Is there another function I can do to prevent W3WP from overloading my system other than working with the Maximum Number of Worker Processes?
3.) I've run in to a lot of tools I can install to monitor IIS to try to find out why the ASP code might be causing hang ups, but everything I've found assumes I'm already an expert in IIS and server performance, and I'm neither. Does anyone know of a good tutorial I could use? I really want to find a way to track which ASP pages are causing the problem. But I scroll through logs of everything that happened today and can't tell what is actually creating the issue. I know I'm a neophyte at this, but I can't figure out where to get the instruction I need.
Thanks in advance for any help and please be patient if I have additional questions, I'I'm new to all this.