• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Exemples de configuration de serveur de file d'attente de requêtes

Afin de signaler la mise en file d'attente des demandes, les agents New Relic dépendent d'un en-tête HTTP défini par le serveur Web frontal (tel qu'Apache ou Nginx) ou l'équilibreur de charge (tel que HAProxy ou F5). Ces exemples utilisent l'en-tête X-Request-Start , car il bénéficie d'un support plus large sur la plateforme.

Si cela ne fonctionne pas avec la configuration de votre serveur pour la mise en file d'attente des requêtes, essayez d'utiliser l'en-tête X-Queue-Start . La syntaxe devrait par ailleurs être la même.

Apache

Le module mod_headers d'Apache inclut une variable %t qui est correctement formatée. Pour activer la création de rapports sur la file d'attente des demandes, ajoutez ce code à votre configuration Apache :

RequestHeader set X-Request-Start "%t"

Nginx

Si vous utilisez Nginx version 1.2.6 ou supérieure et la dernière version de l'agent Ruby, Python ou PHP, Nginx peut être facilement configuré pour signaler le temps d'attente. (Pour les versions Nginx 1.2.6 ou inférieures, vous devez recompiler Nginx avec un module ou un patch.)

La configuration avec Nginx 1.2.6 ou supérieur utilise la variable ${msec} , qui est un nombre en secondes avec une résolution en millisecondes. Pour plus d'informations, voir http://nginx.org/en/docs/http/ngx_http_core_module.html#variables.

Ajoutez les informations appropriées à votre configuration Nginx :

Nginx configuration

Values

Utilisation générale de Nginx

proxy_set_header X-Request-Start "t=${msec}";

Passager

Version 5 ou supérieure :

>passenger_set_header X-REQUEST-START "t=${msec}";

Anciennes versions :

passenger_set_cgi_param X_REQUEST_START "t=${msec}";

fastcgi

fastcgi_param HTTP_X_REQUEST_START "t=${msec}";

WSGI universel

uwsgi_param HTTP_X_REQUEST_START "t=${msec}";

Équilibreurs de charge F5

Pour les équilibreurs de charge F5, utilisez cet configuration snippet:

when HTTP_REQUEST_SEND {
# TCL 8.4 so we have to calculate the time in millisecond resolution
# Calculation from: https://groups.google.com/forum/? fromgroups=#!topic/comp.lang.tcl/tV9H6TDv0t8
set secs [clock seconds]
set ms [clock clicks -milliseconds]
set base [expr { $secs * 1000 }]
set fract [expr { $ms - $base }]
if { $fract >= 1000 } {
set diff [expr { $fract / 1000 }]
incr secs $diff
incr fract [expr { -1000 * $diff }]
}
set micros [format "%d%03d000" $secs $fract]
# Want this header inserted as if coming from the client
clientside {
HTTP::header insert X-Request-Start "t=${micros}"
}
}

Synchronisation du réseau

Même avec la mise en file d'attente des requêtes configurée, la configuration du serveur frontal peut toujours affecter l'heure du réseau dans vos données de navigateur. Cela est dû au fait que le serveur frontal n’ajoute pas l’en-tête de temps de mise en file d’attente avant d’avoir réellement accepté et traité la demande.

Les en-têtes de temps de mise en file d'attente ne peuvent jamais tenir compte de l'arriéré dans le socket d'écoute utilisé pour accepter requests. Par exemple, si la configuration du serveur frontal entraîne un arriéré de requests en file d'attente dans le socket d'écoute, le temps de chargement de la page affichera une augmentation du temps réseau.

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.