Hello! On Thu, Dec 27, 2018 at 01:35:48AM -0500, inkognito0609 wrote:
> Из чего получается request_time? Прочитав данную доку: > https://www.nginx.com/blog/using-nginx-logging-for-application-performance-monitoring/, > сделал для себя вывод что : > $request_time = $upstream_connect_time + $upstream_header_time + > $upstream_response_time+$вермя_передачи_до_клиента Это неправильный вывод. Во-первых, $upstream_connect_time и $upstream_header_time - это составные части $upstream_response_time, складывать их вместе не нужно. Во-вторых, $request_time - это не только время общения с бэкендом и время досылки ответа после того, как бэкенд полностью прислал ответ, но также и время чтения запроса от бэкенда. То есть $request_time = <время чтения запроса> + $upstream_response_time + <время досылки ответа> Кроме того, в зависимости от конфигруации могут добавляться и всякие другие задержки, например: - если в конфигурации есть auth_request - то и время выполнения auth-подзапроса надо будет добавить; - если в конфигурации используется проксирование с переменными, то нужно ещё добавить время резолвинга соответствующего имени. > При увеличении трафика в логах балансера вижу следующее: > request_time = 5.009 > upstream_connect_time=0.000 > upstream_header_time=0.008 > upstream_response_time=0.009 > > Кейс воспроизводится на разных проектах при увеличении нагрузки (50-100ps в > зависимости от проекта). Что происходит 5 секунд? Исходя из цифры в 5 секунд - подозреваю, что речь про proxy_pass с переменными и теряющиеся пакеты к DNS-серверу. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru