Peu convaincu à force par Mongrel (serveur Web pour rails), en raison de l’excès de mémoire consommée (leak ?) voire du CPU par moment, le blog a été transféré vers LightTPD + FastCGI + Rails (Typo).
La configuration /etc/lighttpd/lighttpd.conf, extrait de la partie spécifique pour Rails (Typo) :
server.modules = ( "mod_access", "mod_alias", "mod_accesslog", "mod_fastcgi" ) $HTTP["host"] == "192.168.1.150" { server.document-root = "/var/www/typo/public" server.error-handler-404 = "/dispatch.fcgi" server.indexfiles = ("dispatch.fcgi") accesslog.filename = "/var/log/lighttpd/blog.access.log" fastcgi.server = (".fcgi" => ("localhost" => ("socket" => "/var/www/typo/tmp/typo.socket", "min-procs" => 1, "max-procs" => 2, "bin-path" => "/var/www/typo/public/dispatch.fcgi", "bin-environment" => ("RAILS_ENV" => "production") ))) }
Le reste n’ayant pas été changé de la configuration par défaut. L’IP 192.168.1.150 a été mise au lieu du nom du site (blog.olivier-duval.info), car il existe un frontal Apache (voir l’architecture du zorky lan) pour le reverse proxy (qui redirige vers le blog, les photos, ...selon le nom du site demandé), et celui-ci passe uniquement l’IP au serveur hébergé derrière.
En plus de Google Analytics, le blog est marqué par Phpmyvisites qui se trouve sur un autre serveur virtuel, dédié au PHP. Sur ce dernier, un cache APC a été installé, cache qui permet d’accélérer les pages PHP, tout gain, même minime, reste appréciable. Un tutoriel pour l’installation (et compilation) d’APC.
L’efficacité maximum de LightTPD est obtenue sur les fichiers statiques : 17 000 req/s contre 7 000 req/s pour Apache 2, chiffres obtenus avec ab (ab -k -n 50 http://monsite/page.htm).
A voir à termes si ce changement de serveur Web sera profitable.