Most people hosting Drupal sites experiences that their site becomes less responsive as the number of users raises and that their server load becomes very high. The first cure to levitate the issue is to buy more memory which may levitate the issue for now, but as the number of users raises once more that more memory may not be the right solution. This collection of posts will try to give some pointers to where you could start to get more out of your hardware by tweaking your configuration.
My standard setup runs on Debian Linux with PHP 5.3/5.4, MySQL 5.5.x and Varnish 3.x or newer. The web-server it self is either Apache or nginx based on the setup requirements. This series of articles will look into this stack and the extensions available to boots performance (APC, MemCached, PHP and Drupal tweaks).
You should be aware that many of the tricks described in this article is based on work by others that I have found on the Internet while learning to boost my own servers and so almost every section will have references back to these sources. So this is largely a compilation based on my experiences in hosting and developing Drupal sites over the years.
These posts will cover the following topics:
- Debian 6/7 basic setup
- Nginx (SSL end-point)
- PHP-FPM (Not written)
- PHP 5.3 (most also applies to php 5.x)
- Varnish (Not completed)
- Expire (Not completed)
- Purge (Not written)
- APC (bootstrap cache)
- Entity Cache
All scripts, code and most of the configuration files used in these posts can be found here http://github.com/cableman/configuration.