• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

요청 대기열 서버 구성 예

요청 대기열 을 보고하기 위해 New Relic 에이전트는 프런트 엔드 웹 서버(예: Apache 또는 Nginx) 또는 로드 밸런서(예: HAProxy 또는 F5)에서 설정한 HTTP 헤더에 의존합니다. 이 예에서는 X-Request-Start 헤더를 사용합니다. 이는 플랫폼 전반에 걸쳐 더 광범위하게 지원되기 때문입니다.

이것이 요청 대기열에 대한 서버 구성에서 작동하지 않으면 X-Queue-Start 헤더를 사용해 보십시오. 그렇지 않으면 구문이 동일해야 합니다.

아파치

Apache의 mod_headers 모듈에는 올바른 형식의 %t 변수가 포함되어 있습니다. 요청 대기열 보고를 활성화하려면 다음 코드를 Apache 구성에 추가하십시오.

RequestHeader set X-Request-Start "%t"

Nginx

Nginx 버전 1.2.6 이상과 최신 버전의 Ruby, Python 또는 PHP 에이전트를 사용하는 경우 대기열 시간을 보고하도록 Nginx를 쉽게 구성할 수 있습니다. (Nginx 버전 1.2.6 이하의 경우 모듈이나 패치로 Nginx를 다시 컴파일해야 합니다.)

Nginx 1.2.6 이상으로 구성하는 경우 ${msec} 변수를 사용합니다. 이 변수는 밀리초 분해능의 초 단위 숫자입니다. 자세한 내용은 http://nginx.org/en/docs/http/ngx_http_core_module.html#variables 를 참조하세요.

Nginx 구성에 적절한 정보를 추가합니다.

엔진엑스 구성

가치

일반 Nginx 사용

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

승객

버전 5 이상:

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

이전 버전:

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

F5 로드 밸런서

F5 로드 밸런서의 경우 다음 구성 스니펫을 사용하십시오.

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

네트워크 타이밍

요청 대기열이 구성된 경우에도 프런트 엔드 서버의 설정은 브라우저 데이터의 네트워크 시간에 여전히 영향을 미칠 수 있습니다. 이는 프런트 엔드 서버가 실제로 요청을 수락하고 처리할 때까지 대기열 시간 헤더를 추가하지 않기 때문입니다.

대기열 시간 헤더는 요청을 수락하는 데 사용되는 리스너 소켓의 백로그를 설명할 수 없습니다. 예를 들어 프런트 엔드 서버의 구성으로 인해 리스너 소켓에 대기 중인 요청의 백로그가 발생하면 페이지 로드 타이밍은 네트워크 시간의 증가를 보여줍니다.

Copyright © 2022 New Relic Inc.

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