On Friday, June 21, 2013, Olivier MARTINEAU wrote:
Bonjour,
Je me présente, je suis CTO dans ma startup SpreadButton. Ça fait longtemps que je gère des serveurs dédiés. Là, j'ai un petit cluster avec 3 serveurs (Apache / Nginx / Mysql Master-Slave / Couchbase / NAS)
J'aurai besoin d'un petit coup de main sur l'optimisation des mes confs Apache et MySQL pour optimiser le nombre de connexions simultanées, sans cramer le serveur, ca j'ai su faire sans aide :-) L'objectif, c'est genre de tenir un passage à la télé !
Franchement je serai surpris qu'on puisse beaucoup t'aider avec une telle description. Une réponse très classique de quand je faisais du conseil sur le sujet : S'il y avait un "truc" pour ça, il serait dans la configuration par défaut et tu n'aurais pas besoin de le mettre en oeuvre "en plus".
La base :
* Des entêtes de cache sur tous les fichiers statiques
* Des index sur ta base SQL (actives le log des requêtes sans index et vérifies toutes les entrées)
* Pas de keepalive sur ton serveur web applicatif (ici Apache)
* Du keep alive sur ton serveur statique (ici Nginx)
* Un cache d'opcode (APC par exemple), si possible avec un truc genre apc.stat à 0 (attention à en comprendre les implications)
* Le code PHP sur un disque rapide, voir sur de la RAM s'il est suffisamment petit
* Suffisamment de RAM pour ton MySQL
* Un PHP récent (le 5.4 et le 5.5 sont vraiment plus rapides)
* Côté MySQL, un mysql tuner est une bonne idée pour commencer
* Penser à Percona ou MariaDB en lieu et place de MySQL
* Innodb et pas myisam (sauf cas particulier), avec un fichier par table et pas un fichier commun
* Pas de session en base
Maintenant à 95% les problèmes viennent de mauvais codes applicatifs, de mauvaises requêtes SQL, etc. Il est peu probable que tu gagnes 20% sur de la configuration des services, sauf à avoir fait des bêtises à la base. Je t'incite vraiment à regarder côté applicatif par défaut (sauf si vraiment tu as des mesures pour appuyer l'idée que ton problème vient de la configuration système)
Si tu cherches quelqu'un pour accompagner, tu peux contacter Olivier Hoareau
http://www.phppro.fr/ de ma part.
--
Eric
--
Éric Daspet
http://eric.daspet.name/