• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Exemplos de configuração do servidor de filas de solicitação

Para relatar o enfileiramento de solicitações, o agente New Relic depende de um cabeçalho HTTP definido pelo servidor web frontend (como Apache ou Nginx) ou balanceador de carga (como HAProxy ou F5). Esses exemplos usam o cabeçalho X-Request-Start , pois ele tem suporte mais amplo em toda a plataforma.

Se isso não funcionar com a configuração do servidor para enfileiramento de solicitações, tente usar o cabeçalho X-Queue-Start . Caso contrário, a sintaxe deve ser a mesma.

Apache

O módulo mod_headers do Apache inclui uma variável %t formatada corretamente. Para habilitar relatórios de fila de solicitações, adicione este código à configuração do Apache:

RequestHeader set X-Request-Start "%t"

Nginx

Se você estiver usando o Nginx versão 1.2.6 ou superior e a versão mais recente do Ruby, Python ou agente PHP, o Nginx pode ser facilmente configurado para relatar o tempo de fila. (Para Nginx versões 1.2.6 ou inferiores, você deve recompilar o Nginx com um módulo ou patch.)

A configuração com Nginx 1.2.6 ou superior usa a variável ${msec} , que é um número em segundos com resolução em milissegundos. Para obter mais informações, consulte http://nginx.org/en/docs/http/ngx_http_core_module.html#variables.

Adicione as informações apropriadas à sua configuração do Nginx:

Nginx configuration

Values

Uso geral do Nginx

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

Passageiro

Versão 5 ou superior:

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

Versões mais antigas:

passenger_set_cgi_param X_REQUEST_START "t=${msec}";

fastcgi

fastcgi_param HTTP_X_REQUEST_START "t=${msec}";

uWSGI

uwsgi_param HTTP_X_REQUEST_START "t=${msec}";

Balanceadores de carga F5

Para balanceadores de carga F5, use este trecho de configuração:

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}"
}
}

Tempo de rede

Mesmo com o enfileiramento de solicitações configurado, a configuração do servidor frontend ainda pode afetar o tempo da rede nos seus dados do browser. Isso ocorre porque o servidor front-end não adiciona o cabeçalho do tempo de fila até que ele realmente aceite e processe a solicitação.

Os cabeçalhos de tempo de fila nunca podem levar em conta o backlog no soquete do ouvinte usado para aceitar solicitações. Por exemplo, se a configuração do servidor front-end resultar em um acúmulo de solicitações enfileiradas no soquete do ouvinte, o tempo de carregamento da página mostrará um aumento no tempo da rede.

Copyright © 2024 New Relic Inc.

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