À quelle fréquence Apache et MySQL doivent-ils être redémarrés (en particulier 150 000 hits par semaine), et quel serait l'avantage réel de redémarrer à chaque instant?
la source
À quelle fréquence Apache et MySQL doivent-ils être redémarrés (en particulier 150 000 hits par semaine), et quel serait l'avantage réel de redémarrer à chaque instant?
Si votre système est correctement réglé et que votre application n'a pas de problèmes tels que des fuites de mémoire, vous ne devriez avoir qu'à les redémarrer pour appliquer des correctifs.
Apache et MySQL en eux-mêmes devraient être exempts de fuites de mémoire. La plupart des serveurs de bases de données fonctionnent mieux depuis longtemps. Cependant, les modules qui sont compilés dans Apache comme PHP ont souvent des fuites de mémoire.
Le module Apache mpm recycle automatiquement les processus après 10 000 requêtes. Vous pouvez changer le MaxRequestsPerChild
pour quelque chose de différent, mais 10 000 est une valeur par défaut raisonnable.
Apache n'a pas besoin d'un redémarrage régulier; MySQL ne devrait pas non plus.
Apache exécuté en mode préfork peut recycler ses processus enfants à l'aide de MaxRequestsPerChild; c'est une bonne chose car il se défend contre les fuites de mémoire lentes, etc.
MySQL ne doit pas être redémarré régulièrement, car le redémarrer entraînera une panne de service. Le redémarrage de MySQL doit attendre le démarrage des moteurs et videra également le cache, ce qui entraînera une baisse des performances jusqu'à ce qu'il se réchauffe. Nous semblons constater qu'il doit être redémarré de temps en temps [1] en raison de la fragmentation de l'espace d'adressage, mais cela ne devrait pas se produire autant sur un système 64 bits, sur lequel les nouvelles installations devraient toujours continuer.
[1] Par exemple, tous les 9 mois sur un serveur occupé avec> 100 requêtes par seconde en moyenne
la source
Vous devez éviter de redémarrer MySQL autant que possible pour des raisons de performances. MySQL utilise beaucoup de mémoire pour mettre en cache les pages de données et les index. Lorsque vous redémarrez MySQL, toutes les pages mises en cache sont libérées et vous avez besoin de temps pour réchauffer les caches. Sur des sites très chargés, le redémarrage de la base de données peut entraîner des problèmes de performances.
Votre site n'est pas lourdement chargé (150k hits / semaine ne donne que 1req / 4s), donc le redémarrage de MySQL ne devrait pas causer de gros problèmes.
la source
Afin de comprendre quand un système ou un service doit être redémarré, vous devez d'abord comprendre pourquoi. Les fuites de mémoire sont la raison la plus courante, mais il peut y en avoir d'autres, comme des logiciels mal écrits (trop courants!) Qui n'effectuent pas un nettoyage interne approprié, comme la fermeture des poignées de fichiers lorsqu'elles ne sont plus nécessaires. Bien qu'ils ne soient pas identiques à une fuite de mémoire, les symptômes sont les mêmes. Apache et MySQL sont connus pour être très stables (sauf si vous utilisez une version alpha ou bêta) et peuvent fonctionner pendant des années sans problème. Normalement, le système d'exploitation devra redémarrer pour appliquer des correctifs bien avant que l'une ou l'autre application ne l'exige.
la source