I've got two Apache webservers that serve thousands of files per second. I want to compare the two webservers to determine who is actually faster in terms of who can serve more files/s.
mod_status with ExtendedStatus On would exactly do this job, but it slows down the machine too much. Needless to say that there are no access logs as well.
What would be an easy way to determine the number of files/requests the apaches are serving?
Would it relieve the impact of turning on logging to log to a remote server?
Could you run tcpdump on a machine in front of the webservers? (such as a firewall or proxy server)
If mod_status is not an option, might apachetop be an option? If you cannot run access logs or mod_status you will be quite limited.
You can use CustomLog to create a very basic log file which is cheap to update. Eventually you can store it somewhere on NFS to limit i/o to the local drive. If you have sufficient memory and need this statistics for a limited period of time you can put the log in memory. Something like:
Will give you time of the request , filename and the time to honor the request. http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#formats
For in-memory logging use a tmpfs mount point: