J'exécute un site très fréquenté avec beaucoup de contenu dynamique, principalement généré par les utilisateurs.
Le serveur est un serveur dédié et dispose d'un total de 4 processeurs Intel (R) Xeon (R) CPU X3210 @ 2,13 GHz. J'ai besoin de connaître les valeurs optimales pour les directives de ServerLimit et MaxClients apache, étant donné que le serveur dispose de 4 Go de RAM et que la base de données MySQL s'exécute sur un serveur distinct. Le panneau est DirectAdmin avec CentOS.
Voici mes directives actuelles, mais pendant les heures de pointe avec plus de 5 000 utilisateurs, un retard important est remarqué - et ce n'est pas entièrement la faute de MySQL, car les pages semblent être générées rapidement (j'ai implémenté un compteur de temps de génération de page), mais il y a un long délai de connexion jusqu'à ce que la page commence à répondre et soit envoyée au navigateur.
<IfModule prefork.c>
StartServers 800
MinSpareServers 20
MaxSpareServers 60
ServerLimit 900
MaxClients 900
MaxRequestsPerChild 2000
</IfModule>
Timeout 90
KeepAlive On
KeepAliveTimeout 5
Je dois mentionner que la surveillance du serveur à l'aide de la commande supérieure, l'utilisation du processeur ne dépasse jamais 20% ~ 30% aux heures de pointe. Le serveur MySQL a également une utilisation de 30 à 50% à ce moment-là, et je travaille constamment sur la correction des requêtes lentes, mais c'est un problème différent. Je sais que ce n'est pas un goulot d'étranglement DB, car les pages statiques prennent également beaucoup de temps à se charger aux heures de pointe.
Tous les conseils pour optimiser ces valeurs seront grandement appréciés, merci.