$tcpinfo_rtt

Переменная $tcpinfo_rtt возвращает время круговой поездки (RTT) TCP‑соединения в микросекундах. — NGINX Core (HTTP)

$tcpinfo_rtt NGINX Core (HTTP)

Описание

Переменная $tcpinfo_rtt является частью модуля TCP‑соединений NGINX и используется для получения метрик производительности TCP‑соединения. Она возвращает измерения времени круговой поездки (RTT) для TCP‑соединения, отражающие время, требующееся пакету данных, чтобы пройти от отправителя до получателя и обратно. Эта переменная особенно полезна при диагностике сетевой задержки и оценке отзывчивости сервера на входящие запросы. Значение $tcpinfo_rtt доступно только после установления соединения и может быть не сразу установлено для входящих подключений. Как правило, оно возвращает целочисленное значение, представляющее время в микросекундах. Для нового соединения, если информация о RTT ещё недоступна, оно может возвращать ноль до тех пор, пока данные не будут получены из стека TCP. На практике типичные значения могут значительно варьироваться в зависимости от сети, и разработчики могут использовать этот показатель для тонкой настройки своих приложений с целью лучшей обработки задержек. Эту переменную можно использовать в директивах логирования, когда администраторы сервера хотят отслеживать производительность соединений с течением времени. Включая эту метрику в логи доступа, администраторы могут анализировать тенденции и выявлять потенциальные узкие места в доставке сервиса.

Пример конфига

log_format custom_log '$remote_addr - $remote_user [$time_local] "$request" $status $tcpinfo_rtt';
access_log /var/log/nginx/access.log custom_log;

Подсистема

http

Кэшируется

Нет

Контексты

http, server, location, if

Переменная $tcpinfo_rtt может не устанавливаться для самых первых запросов из-за задержек при установлении соединения.

Если по соединению недавно не отправлялись и не принимались данные, значение RTT может быть неточным или равным нулю. Настройте логирование на интервалы, которые отражают фактические закономерности трафика.