I have a web server in production running IIS 6
(Windows Server 2003 SP1) and hosting multiple virtual websites with each
website hosting many ASP.NET applications in virtual directories.
Each website is running in it's own worker process and all the application use
the out of process ASP.NET State Server running on the same webserver (eg.
connecting to 127.0.0.1:42424).
Now recently the following errors have been showing
up in the application event log on the server. At first there would maybe
be 20 in a row one day randomly spaced minutes apart and would only occur
every couple weeks. Recently these errors have started showing up
everyday, 25+ spaced randomly minutes apart. Another tidbit is that if I
recall correctly I believe this started happening around the same time AJAX
applications started being deployed to the server, I'm not sure if they're
related. I am unable to correlate if a specific application causes
this error.
This is the error everytime:
>>>
Event Type: Error
Event
Source: ASP.NET 1.1.4322.0
Event Category: None
Event
ID: 1078
Date: 1/31/2006
Time: 10:41:38
AM
User: N/A
Computer: WebServer
Description:
The state server has closed an
expired TCP/IP connection. The IP address of the client is 127.0.0.1. The
expired Read operation began at 01/31/2006 10:41:04.
<<<
This error does not seem to be causing any problems
with session states being lost or dropped as there have been no reports from
users of problems along those lines (potential users for the sites number in the
10's of thousands).
I have searched the net high and low and newsgroups
and the only real piece of advice on this specific error comes from MS KB 308097
(http://support.microsoft.com/default.aspx?scid=kb;en-us;308097).
Seems to be describing the problem I'm having except that this webserver is not
under high load or high CPU usage, I would describe the load as merely moderate
and CPU usage as low. I increased the timeout in the machine.config and
the registry to the recommended 20 seconds anyway to see if that would
help. It appeared to actually help for a while, but steadily has gotten
worse and worse. I increased the timeout further to 30 seconds, and this
change had no effect on it.
When this server was built the following
recommendations were used as well for increasing scalability and performance as
this server makes substantial use of web services on itself and other
servers.
| • |
Set the values of the maxWorkerThreads
parameter and the maxIoThreads parameter to
100. |
| • |
Set the value of the maxconnection
parameter to 12*N (where N is the number of
CPUs that you have). |
| • |
Set the values of the minFreeThreads
parameter to 88*N and the
minLocalRequestFreeThreads parameter
to76*N. |
| • |
Set the value of minWorkerThreads to 50.
Remember, minWorkerThreads is not in the configuration file by
default. You must add it. |
Can anyone add some insight into this issue? I was hoping with
the long winded question that people would be able to find the answer to this
specific problem easier in the future once it is solved.
Thanks in advance for any help!
AV