$connection_requests

Переменная $connection_requests возвращает количество запросов, полученных на текущем соединении. — NGINX Core (HTTP)

$connection_requests NGINX Core (HTTP)

Описание

Переменная $connection_requests в NGINX используется для отслеживания количества запросов, обработанных в течение жизни одного соединения. Она увеличивается каждый раз, когда по этому соединению поступает новый запрос, начиная с нуля при установлении соединения. Каждый запрос — будь то начальный запрос или последующие запросы, вызванные keep-alive — будет увеличивать этот счётчик. Эта переменная особенно полезна для мониторинга и понимания шаблонов запросов, оптимизации повторного использования соединений и отладки проблем с производительностью, связанных с обработкой соединений. В NGINX жизненный цикл переменной $connection_requests начинается при установке нового соединения. При каждом входящем запросе по этому соединению сервер увеличивает значение переменной до тех пор, пока соединение не будет закрыто или обработка запроса не завершится. Типичные значения для этой переменной могут начинаться с 1 для соединения с одним запросом и соответственно увеличиваться при нескольких запросах, выполненных клиентом в рамках того же соединения. В сценариях, когда соединения поддерживаются в режиме keep-alive, эта переменная позволяет веб-администраторам анализировать, насколько эффективно keep-alive соединения обрабатывают несколько запросов по сравнению с открытием нового соединения для каждого запроса. Поскольку эта переменная отражает количество запросов, она может быть полезна в конфигурациях, направленных на настройку производительности или детальное логирование запросов, где данные, полученные при мониторинге переменной, могут привести к улучшению распределения ресурсов и времени отклика. Логирование этой переменной может дать ценные сведения о поведении клиентов и паттернах их запросов, что облегчает выявление потенциальных узких мест и повышение эффективности.

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

log_format custom_format '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$connection_requests"';

access_log /var/log/nginx/access.log custom_format;

Подсистема

http

Кэшируется

Да

Контексты

http, server, location, if

Эта переменная применима только при использовании keep-alive; в противном случае она всегда по умолчанию равна 1 для одиночных запросов.

Будьте осторожны с подробностью логирования; логирование переменной $connection_requests в условиях высокого трафика может повлиять на производительность.

Убедитесь, что server blocks и locations правильно настроены для использования keep-alive; в противном случае приращения переменной не будут отражать несколько запросов.