I manage a large website with >10,000 pages. For over a year, the
website has been randomly freezing up, requiring a restart of IIS.
The website was recently moved from a Windows 2000/IIS 5/SQL Server to
a Windows 2003/IIS 6/MSDE configuration, and the freezes intensified
from every few weeks to every few hours. With IIS 5, I could just
restart IIS, but now I must restart the IIS service. The IIS
administrator shows absolutely nothing wrong, and there is no pattern
I see to the hangs, other than high website loads. I believe that the
ASP pages seem to crash before HTML or Perl pages in IIS when the
hangs occur.
I have had several hypotheses about the problem: It runs Perl for the
blog, which uses 100% of the CPU power when posts I made. I have
since moved it to Apache to host the blog. I removed all the
Application.Lock commands from ASP. I have tried to close all unused
ODBC connections. I have tried DSN and DSN-less connections. I have
removed all the Application-level variables I can and trimmed
global.asa to the essentials. I have tried to optimized the
efficiency of the SQL code (had to, since we moved to MSDE.) I have
gone through Google and MS technote articles without luck.
More background: The ASP code for the website is eight years old,
with parts being gradually converted to .Net. I am considering moving
much of the website to MySQL (would this help?) The database
connections currently use a single DSN session variable for the entire
site. The MSDE db goes over the 8 query limit hourly, which I believe
is non-significant. I set the IIS recycle settings tighter than the
default to try to kill any hanging connections. I tried running the
IIState tool before and during hangs, without any obvious patterns,
but will send it if you?re interested.
I did see a quite of few of these in running and hung IIState dumps:
Thread ID: 12
System Thread ID: 914
Kernel Time: 0:0:0.0
User Time: 0:0:0.0
Thread Type: Possible ASP page. Possible DCOM activity
Executing Page: Unable to locate ASP page
We are quite desperate to get this issue resolved, and will give you
any information or pay whatever it takes to do so. |