The mod_status module allows a server administrator to find out how well the server is performing. An HTML page is presented that gives the current server statistics in an easily readable form. If required, given a compatible browser, this page can be automatically refreshed. Another page gives a simple machine-readable list of the current server state.
This Apache module is written in C. It is compiled by default, so all you have to do to use it is enable it in your configuration file:
<Location /status> SetHandler server-status </Location>
For security reasons you will probably want to limit access to it. If you have installed Apache according to the instructions given in this book, you will find a prepared configuration section in httpd.conf. To enable use of the mod_status module, just uncomment it:
ExtendedStatus On <Location /status> SetHandler server-status Order deny,allow Deny from all Allow from localhost </Location>
You can now access server statistics by using a web browser to access the page http://localhost/status (as long as your server recognizes localhost).
The details given by mod_status are:
The number of children serving requests
The number of idle children
The status of each child, the number of requests that child has performed and the total number of bytes served by the child
The total number of accesses and the total bytes served
The time the server was last started/restarted and for how long it has been running
Averages giving the number of requests per second, the number of bytes served per second, and the number of bytes per request
The current percentage of the CPU being used by each child and in total by Apache
The current hosts and requests being processed
In Chapter 5 you can read about Apache::VMonitor, which is a more advanced sibling of mod_status.
Turning the ExtendedStatus mode on is not recommended for high-performance production sites, as it adds overhead to the request response times.