Sur un site qui commence à avoir de l'audience, la qualité du code est primordiale. Mais une bonne configuration du serveur l'est tout autant.
Voici quelques astuces pour configurer Nginx et PHP-FPM pour que votre serveur puisse continuer à accueillir sereinement toujours plus de visiteurs.
Ainsi, si dans vos logs vous constatez des erreurs 499, 502, 503 ou 504, voici comment agir sur les paramètres :
Nginx
Editez le fichier /etc/nginx/nginx.conf.
Les 2 directives principales sont :
- worker_processes : le nombre de process Nginx
doit être équivalent au nombre de coeurs de votre serveur (grep "processor.*:" /proc/cpuinfo | wc -l) - worker_connections : le nombre de connexions que peut supporter chaque process nginx
par défault, 768, ce qui est déjà pas mal
En résumé, le nombre de connexions simultanées que pourra accepter Nginx est égales à worker_processes x worker_connections
Attention : dans le cas où Nginx est utilisé comme proxy, le nombre de connexions max est à diviser par 2.
Plus d'infos : http://nginx.org/en/docs/ngx_core_module.html#worker_connections
Php-fpm
Editez le fichier /etc/php5/fpm/pool.d/www.conf
Les principales directives qui vous nous servir ici sont :
- pm.max_children = 100
- pm.start_servers = 64
- pm.min_spare_servers = 2
- pm.max_spare_servers = 64
Les valeurs indiquées sont celles que nous utilisons sur des frontaux web très sollicités.