8 votes

Problème de ServerLimit et MaxClient

J'ai essayé d'augmenter mon MaxClients dans Apache pour un site à fort trafic

Mais je n'ai cessé de recevoir cette erreur :

WARNING: MaxClients of 565 exceeds ServerLimit value of 256 servers,
 lowering MaxClients to 256.  To increase, please see the ServerLimit
 directive.
Syntax OK

C'est pourquoi, après quelques recherches, j'ai inclus :

    StartServers        5
    MinSpareServers     15
    MaxSpareServers     30
    ServerLimit         565
    MaxClients          565
    MaxRequestsPerChild 2000

Après un redémarrage en douceur, l'avertissement ne s'est pas produit et tout semblait correct.

Cependant, après avoir vérifié le fichier error.log d'Apache, l'avertissement existe toujours.

\*\* \[notice\] Graceful restart requested, doing restart
WARNING: MaxClients of 565 exceeds ServerLimit value of 256 servers,
 lowering MaxClients to 256.  To increase, please see the ServerLimit
 directive.
\*\* \[warn\] WARNING: Attempt to change ServerLimit ignored during restart

Le ServerLimit aurait-il un effet ? car le redémarrage gracieux a fonctionné... Quelqu'un peut-il m'éclairer ?

Santé !

14voto

lynton Points 41

Je pense que vous devrez arrêter et démarrer httpd (de manière à ce que le processus httpd "maître" soit arrêté et démarré, et pas seulement les processus enfants). D'après l'entrée de la documentation Apache sur Limite du serveur :

"Toute tentative de modification de cette directive au cours d'un redémarrage sera ignorée, mais MaxClients peut être modifié au cours d'un redémarrage."

11voto

Vous devez en fait vous assurer de deux choses pour que cette mesure prenne effet :

  • redémarrer apache au lieu de simplement recharger
  • veiller à ce que ServerLimit vient antes de MaxClients dans la configuration d'Apache, sinon Apache lira MaxClients d'abord et produisent la même erreur

Il y a d'autres mises en garde évidentes, comme le fait de s'assurer qu'il ne se trouve pas au mauvais endroit, à l'intérieur d'une <If> qui n'est pas lu, par exemple.

4voto

Ibn Saeed Points 1082

apachectl graceful ne fonctionnera pas, il est d'autant plus important que le apachectl restart ne fonctionnera pas non plus.

La solution est /etc/init.d/httpd restart o service httpd restart

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X