Jump to content

Manuel:$wgJobRunRate

From mediawiki.org
This page is a translated version of the page Manual:$wgJobRunRate and the translation is 100% complete.
Tâches: $wgJobRunRate
C'est le nombre de tâches à effectuer par demande.
Introduit dans la version :1.6.0 (r13088)
Retiré dans la version :Encore utilisé
Valeurs autorisées :(entier >= 0)
Valeur par défaut :1

Détails

C'est le nombre de tâches à effectuer par demande. Il peut être inférieur à un, auquel cas les tâches sont exécutées de manière probabiliste. S'il vaut 0, les tâches ne s'exécuteront pas durant les requêtes Apache ordinaires. Dans ce cas il faut que maintenance/runJobs.php s'exécute en boucle toutes les quelques secondes via un service ou une tâche du cron. Si vous passez par une tâche du cron, assurez-vous de gérer le cas où le script est déjà en cours d'exécution (par exemple via "/usr/bin/flock -n <fichier verrou>"). Si la valeur est différente de zéro, il est fortement recommandé que PHP s'exécute en mode fastcgi (php_fpm). Lors de l'utilisation d'un gestionnaire PHP Apache standard (mod_php), il est recommandé que output_buffering et zlib.output_compression valent tous les deux "Off", permettant à MediaWiki d'installer à la volée un tampon de sortie de taille illimitée. Initialiser output_buffering à un nombre entier (par exemple 4096) ou activer zlib.output_compression peut entraîner une lenteur visible par l'utilisateur lorsque des tâches de fond sont exécutées pendant les requêtes web. Indépendamment du fait que le moteur du serveur web soit utilisé, assurez-vous de configurer un nombre suffisant de processus ou de threads afin d'éviter leur épuisement (ce qui entraînera une lenteur visible par l'utilisateur).

Explications

La file d’attente est conçue pour contenir de nombreuses tâches courtes. Par défaut, chaque fois qu’une requête est exécutée, une tâche est retirée de la file d’attente et exécutée. Si la charge de la performance est trop grande pour cela, vous pouvez réduire $wgJobRunRate en adaptant ceci dans votre LocalSettings.php  :

$wgJobRunRate = 0.01;

Ce qui fera qu'un élément de la file d'attente des tâches sera exécuté en moyenne toutes les 1/0,01 = 100 vues. Il est important de comprendre ce que cela signifie : pour chaque page affichée, la probabilité d'exécution d'un élément de la file d'attente des tâches est de 1 pour 100. Cela signifie (du moins en théorie), que vous pouvez même terminer avec une tâche s'exécutant pour chaque page imprimée ou (à l'autre extrémité de l'échelle) aucune tâche exécutée. Bien qu'en pratique, en supposant que vous ayez assez de trafic pour obtenir une taille significative de l'échantillon, elle devrait être de 1 pour 100 requêtes.

Dans certaines versions de MediaWiki, vous pouvez voir le nombre de tâches avec Special:Statistics. Néanmoins ce nombre est une estimation grossière et donc un peu compromettante, il a donc été supprimé dans la version 1.17 (r65059).

Dans les dernières versions, vous pouvez encore voir la valeur en appelant l'API :

La file d'attente des tâches se trouve dans MediaWiki.php , dans la fonction triggerJobs() (doJobs() avant la 1.23).

Voir aussi