Apache2 vhost combined log files

Recently I’ve been fighting with memory consumption on my server and have been looking for ways that I can reduce the overall load. After some research I found that Apache opens up a file descriptor for each VHosts log file, and keeps this descriptor open all the time. So when I had a bunch of sites that I didn’t mind if their log files were combined, I did some work.

I verified that first, my /etc/apache2/apache2.conf file had a CustomLog entry for vhost_combined:

LogFormat "%v:%p %h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"" vhost_combined

Once this was confirmed I went into each of the config files in the sites-available directory and modified a single line:

CustomLog /var/log/apache2/groupofsites-access.log vhost_combined

Notice that I added that ‘vhost_combined’ to the end of this line, meaning that it will use the log format from above and for each vhost assigned to use this log file, only keep 1 file descriptor open instead of 6.

So far I’ve actually noticed a quicker response from my webserver as well as lower memory usage. Hopefully this helps you out as well!

About Chris

Chris Klosowski is a Software Developer, and WordPress plugin developer based out of San Tan Valley, Arizona. He's the founding developer of WP-Push, providing Push Notifications for WordPress as well as Post Promoter Pro, the simplest way to promoter your WordPress Content. Connect with Chris on Google+, and Twitter