LAMP Stack Optimizations for Small Servers
Jan 21, 2011
bawigga
1 minute read

This WordPress blog is running on a 256MB Slicehost VPS. Here are the settings I have in place to keep Apache and MySQL responsive. Without these settings, the server would often come to a grinding hault and SSH interactions would become very slow and sometimes hang.

Apache – httpd.conf – mpm_prefork_module Settings

`

<IfModule mpm_prefork_module>
    StartServers          2
    MinSpareServers       2
    MaxSpareServers       4
    MaxClients            50
    MaxRequestsPerChild   500
IfModule>

` I found that I saved a bunch of memory just by using less apache processes. Instead of spawing 8 processes by default I’m only going to spawn one and limit the max spares to 4, which means after some load I should only have 4 processes lingering around waiting to serve pages. **MySQL – my.cnf settings** `

skip-innodb
skip-bdb
skip-ndbcluster

`

I dropped mysql’s memory useage by about 11M (sitting right under 5M right now) just by disabling innodb support. I’ve also done some very heavy WordPress caching using wp-supercache. this basically caches every page and post so that I’m just serving up static html content instead of processing the entire WordPress stack for every page load.



comments powered by Disqus