I have been investigating a problem that occurred on a Windows 2003 server a few days ago. there are about 15 app pools, and within a few minutes, they all produced the error below in the system log:
A process serving application pool 'Pool 31x' failed to respond to a ping. The process id was '7144'.
The pools were then restarted automatically, but timed out during startup, leaving all sites down.
My question is: what would cause a "ping timeout" to all of the app pools around the same time, and then why would they start up too slowly?
The app in each pool is a WCMS which uses the .NET 1.1 framework. It connects to a remote DB but is otherwise independent of other machines.
Have you looked in the global HTTP Error Log?
It's called
httperr.log
and is usually in the log file directoryC:\windows\system32\LogFiles
, under the mainW3CSVC1
service.Whenever I've had a problem with app pools that file has been quite helpful.
"Ping" in IIS is nothing but a health check done by W3SVC to monitor the state of the worker process. When you see an event such as "A process serving application pool 'appPool' failed to respond to a ping." means the process is in dead state.
Rapid fail protection is the recycling option which takes care of such issue and recycles the appPool on it's own to such that it maintains good health of the worker process.
You will need to debug the process to get to the root of the issue.
Since you have .net application loaded in the workper process it's not a bad idea to check the Application Event log and see for any .net framework Warning or Error. You can attach Debug Diagnostics tool to the process and take a dump to check what is causing the issue. Follow the article How to use the Debug Diagnostics tool to troubleshoot a process that has stopped responding in IIS