Garry Conn

How to Optimize Apache on a Pentium III Web Server

By Garry Conn - Mon, Oct 1 2012, 8:14am CDT

include ('tplates/page-top.php'); // PAGES CONTENT GOES BELOW THIS LINE ?>

This website, along with many other sites I webmaster, are hosted on an old, and I do mean OLD, Compaq Proliant ML350 Dual Pentium III web server that I literally have running in the closet of my home office. It's an amazing web server and I have had a blast running and maintaining it. There is no doubt that the websites hosted on it are not the fastest on the web, but I am confident that every website hosted on my server holds it's own quite well.

That said, I can tell you this: using Debian pretty much out of the box without changing anything works almost perfectly! However, as I continue to add more websites and as traffic continues to increase, I find that minor tweaks and modifications need to be made. Today I made some changes and the results proved to be amazing enough to make a page about it, sharing the settings I made so that others who do the same crazy and wacky thing (web server in the closet) can also make these adjustments.

Here's the brief specs on my web server: Dual Pentium III 1Ghz CPU's and 1500Mb RAM. I have a 10000 kbps Internet connection both ways (download and upload). And here's the tweaks below that I just made to the system:

sysctl.conf optimization

Open your sysctl.conf file (Debian: /etc/sysctl.conf) and uncomment or add these settings:

# Use TCP syncookies when needed
net.ipv4.tcp_syncookies = 1
# Enable TCP window scaling
net.ipv4.tcp_window_scaling = 1
# Increase TCP max buffer size
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# Increase Linux autotuning TCP buffer limits
net.ipv4.tcp_rmem = 4096 87380 16777216 
net.ipv4.tcp_wmem = 4096 65536 16777216
# Increase number of ports available
net.ipv4.ip_local_port_range = 1024 65000

Apache Optimization

Next open your apache2.conf file and edit these settings to reflect the configurations shown below:

StartServers          5
MinSpareServers       5
MaxSpareServers       10
MaxClients            25
MaxRequestsPerChild   1000

NOTE: I WILL BE COMPLETING THIS PAGE SOON... IF YOU WANT ME TO FINISH IT QUICKER THEN CONTACT ME TO MOTIVATE ME TO FINISH IT. LOL