Microsoft Internet Information Server

Securing:

Scripting

DNS NT

Index Server

http://techref.massmind.org/techref/inet/iis/iis/default.htm

Every so often, IIS 4 will start exibiting strange behaviors that fall in to one of two catagories: A) it will shut down for no apparent reason without any error messages or continue running but consume all the processors cycles (100% Processor Time) or B) it will start throwing error messages that don't make any sense.

If you get the error messages, you can generally look them up in the Microsoft Knowledge Base (MSKB) and find a solution. For the sudden shut down and hangs, you will find it very hard to find a solution with Microsoft. They have information on finding a buggy component or script (which may also cause these problems) but they will not tell you to do the following, which has solved the problem for me every time....

...simply rebuild the site definition in the IIS 4 manager. E.g. if you have a site called "default" then make a new one called "default2" and set it up just like the first. Then stop default and start default2. I believe this is related to the "corrupt metabase" issue that is addressed on the MSKB, but their instructions for correcting the problem did not work for me.

Another problem with CPU overload is caused by Index Server

And it would appear that waiting for a response from an overloaded SQL server can cause the number of Current Anonymous Users to climb skyward while the web servers CPU stays quite. If you don't have a max users limit set, the web server will eventually "500 Internal Server Error" and just sit there like a lump. I'm experimenting with reduceing the connection and command timeouts for the ADO objects

As per Q235461:

Rather than let ASP pages hold forever waiting for the CPU to get to them, you can set a parameter that kills ASP page requests older that some time; The AspQueueTimeout property specifies the amount of time (in seconds) that an ASP script request is allowed to wait in the queue. When requests are pulled from the queue, they are checked to see if they have expired (have waited longer than the value of this parameter). Expired requests are rejected with a message indicating the server is too busy. From the \system32\inetsrv\adminsamples folder, type:
cscript adsutil.vbs set w3svc/1/AspQueueTimeout 30

The ServerListenBacklog property specifies the number of outstanding sockets that can be queued. The value is based on the AcceptEx operating system parameter, and the server size specified in the ServerSize property. Valid values for this property range from 5 to 500
cscript adsutil.vbs set w3svc/1/ServerListenBackLog 500

The MaxEndpointConnections property specifies the maximum number of "listen" sockets that will be aggregated on a network endpoint. For example, if this value is set to 15, then a maximum of 15 total connections can be made to a single port, even if more than one domain is bound to the port.
cscript adsutil.vbs set w3svc/1/MaxEndPointConnections 500

See also:

Active Server Page Counter

THIS WEEK'S BACKOFFICE TIP of ZD JOURNALS. For a PREVIEW issue, go to

http://www.zdjournals.com/forms/asp/cuvyeu.htm

Deleting crap folders and files in Windows NT

Server Application Error: The server has reached the maximum recovery limit for the application during the processing of your request. Please contact the server administrator for assistance.

Can RRAS be used to implement a dynamic firewall?