Je pose la question d'un serveur Web qui exécute un front léger (nginx dans mon cas), avec les processus PHP accessibles via fastcgi.Combien de processus php-cgi dois-je exécuter?
J'essaie de trouver un moyen de calculer méthodiquement combien de processus PHP cgi devraient être en cours d'exécution dans la machine. Une façon d'y penser est de déterminer l'empreinte mémoire moyenne d'un processus, et de l'exécuter autant que possible dans les limites de la RAM disponible. Cependant, cela n'apporte pas l'utilisation du processeur dans la question. Puisque la CPU est le vrai goulot d'étranglement dans mon application (DB et memcache sont utilisés, mais ne sont pas les goulots d'étranglement), je pense que le nombre de base pour les processus php devrait être le nombre de processeurs disponibles. Par exemple - dans une machine à 8 cœurs, le nombre de base serait 8. En supposant que certains processus attendent la base de données ou le réseau, je ne vois aucune raison d'exécuter plus de 20 processus PHP ensemble.
Est-ce que cette façon de penser a du sens? Comment calculez-vous le nombre de processus à exécuter?
Ahm, quel est le problème? Obtenez-vous de longs temps de réponse en raison de la charge élevée? Les connexions sont-elles supprimées? Les utilisateurs se plaignent-ils? Ou est-ce que cette application n'est pas encore sortie? (Je pense que la façon méthodique de calculer cela est de regarder les mesures du monde réel de votre application.) Mais oui, 8 ou 20. Ça me semble bien! :) – 0scar
Il n'y a pas de problème pour le moment. L'application fonctionne sur apache-modphp, et nous passons à nginx + fastcgi. La question est montée en phase de planification. – yhager