MediaWiki lent: Speed-up Votre Apache Webserver

Cet article vous donne quelques conseils sur l'amélioration des performances du serveur Apache pour trier MediaWiki lents. Apprenez comment accélérer votre installation de MediaWiki.

A+ A-

Dans la partie précédente de ce tutoriel, je parlais de tweaks MediaWiki de base qui peuvent avoir un effet significatif sur la performance de votre site Web. Cependant, parfois, peaufinage MediaWiki seul ne porte pas de fruit souhaitable.

MediaWiki est une application très complexe et il est lourd sur ressources informatiques disponibles. Souvent, il est le serveur Apache qui étouffe la mémoire disponible et provoque l'installation de MediaWiki entier à planter. Il est important de configurer correctement Apache si vous souhaitez exécuter un site de MediaWiki largish.

Partie 2 -Tweaking Apache Web Server

fonctionnement Apache peut être réglé en utilisant un certain nombre de directives. Vous pouvez définir la valeur de ces directives soit dans le fichier httpd.conf ou par l'interface fournie par votre hébergeur VPS. Voir: Comment trouver l' emplacement de httpd.conf

Les clients de Max

Ceci est peut - être le plus crucial parmi toutes les directives qui peuvent être définies pour Apache. Vous devez définir simplement la bonne valeur pour MaxClients parce que les deux valeurs trop élevées ou trop faibles causent des problèmes.

Cette directive fixe la limite sur le nombre de requêtes simultanées qui seront servis. La valeur maximale de MaxClients est limitée par une autre directive appelée ServerLimit.

Eh bien, beaucoup de gens comprennent mal ce que MaxClient est pour. Certaines personnes pensent que cela définit le nombre de connexions maximales simultanées que Apache permettra et ils ont mis à une valeur égale ou un peu plus élevé que le nombre maximal d'utilisateurs actifs qui sont là sur leur site web à un moment donné (nombre d'actifs les utilisateurs peuvent être connus en utilisant Google Analytics)

Conseils pour augmenter les performances MediaWiki.

Conseils pour augmenter les performances MediaWiki.

Mais la vérité est que MaxClient est le nombre de requêtes simultanées que Apache peut servir. Une demande est faite quand un utilisateur souhaite afficher une page sur votre site. Supposons qu'il ya 100 utilisateurs actifs sur votre site en ce moment. Cela ne signifie pas nécessairement qu'il y aurait également 100 demandes simultanées! Lorsque l'utilisateur obtient la page désirée; s / il va à travers elle pendant un certain temps avant de cliquer sur un autre lien et demander une autre page.

Mon site de MediaWiki dessert environ deux millions de pages par mois et il y a environ 70 à 80 utilisateurs actifs à un moment donné (aux heures de pointe, il est plus de 110). J'ai mis MaxClient à 50.

StartServers

Cette directive est de définir le nombre de processus enfants avec lequel Apache va faire un début. Si vous avez un site de charge élevée, alors il est une bonne idée d'augmenter la valeur par défaut de 5. La valeur par défaut de 5 va lancer seulement 5 processus enfants et donc le démarrage de votre serveur Apache pourrait être lente en raison d'un nombre beaucoup plus élevé de demandes peut être faite au démarrage.

Cette directive est cependant d'importance que si Apache est redémarré fréquemment (par exemple, pendant la phase peaufinage!)

Je le garde à 10.

MinSpareServers et MaxSpareServers

Ces directives contrôlent le nombre minimum et maximum de processus serveur enfant à garder à rechange à un moment donné. Supposons que la valeur MinSpareServers est 5. Donc, Apache va créer un nouveau processus enfant si seulement 5 processus enfants inactifs sont laissés. Si vous gardez MinSpareServers trop faible (par exemple 2), puis tout à coup 10 demandes venir -apache ne sera pas en mesure de les manipuler et devront faire la queue 8 demandes tout en créant de nouveaux processus enfants. Création de processus enfants est coûteux choses -SO, il est préférable de garder un nombre approprié de serveurs enfants en stock pour gérer un afflux soudain d'un grand nombre de demandes.

MaxSpareServers ne doivent pas être trop élevés parce que chaque processus enfant prend de la mémoire et d'avoir trop de serveurs de rechange inactifs est rien, mais les déchets de la mémoire.

MaxRequestsPerChild

Cette directive indique à Apache sur le nombre maximum de demandes d'un processus enfant peut gérer avant de mourir. Par défaut, il est mis à zéro -qui signifie que le processus de l'enfant ne mourra jamais et continuer à servir les demandes.

Parfois, des problèmes inattendus, comme des fuites de mémoire, ne se produisent dans les processus de l'enfant et que peuvent faire leur lente fonctionnement. Par conséquent, il est une bonne idée de tuer processus enfant après avoir purgé un certain nombre de demandes.

Il ne faut pas mettre en MaxRequestsPerChild trop faible car il causera le meurtre fréquente des processus et la création de nouveaux procédés. Création de nouveaux processus est, comme je l'ai déjà dit, une tâche coûteuse.

KeepAlive et KeepAliveTimeout

Si KeepAlive est réglée pour être sur -il permet plusieurs demandes soient envoyées sur la même connexion TCP. Il est particulièrement important de garder cette directive sur si les pages que vous servez sont constitués d'un grand nombre de composants (comme les images, css, js fichiers). Si vous passer cette directive off -la connexion TCP établie entre Apache et le client demandeur sera réinitialisé à chaque demande.

KeepAliveTimeout définit le nombre de secondes pendant lesquelles le processus de traitement des demandes attendra une nouvelle demande sur la même connexion TCP. Après l'expiration de cette période, la connexion est automatiquement fermée. Il est préférable de conserver cette valeur autour de 2 ou 3 secondes. Vous pouvez même tester une valeur de 1 et de voir comment votre installation Apache fonctionne!

Je garde KeepAlive que sur et KeepAliveTimeout mis à 1.

Maintenant que nous savons quelques modifications au sujet de MediaWiki et Apache, dans la prochaine partie de ce tutoriel, je vais parler un peu de MySQL peaufinage.

S'il vous plaît commenter à nous faire savoir si vous avez plus de conseils / tweaks pour améliorer les performances du serveur web Apache. Merci!

Ads

Partager