$bytes_received
Переменная $bytes_received отслеживает общее количество байтов, полученных от клиентов в stream-модуле NGINX. — NGINX Core (Stream)
Описание
В stream-модуле NGINX переменная $bytes_received динамически задаётся, чтобы отражать количество байтов, полученных от клиента в течение конкретного соединения. Она помогает контролировать объём данных, который сервер получил через потоки данных TCP или UDP. Каждый раз при получении данных от клиента эта переменная обновляется соответствующим образом и может использоваться в логах или при сборе метрик производительности. Следовательно, $bytes_received по сути считает все байты, включая заголовки и полезную нагрузку, что делает её удобным инструментом для анализа пропускной способности.\n\nЭта переменная инициализируется в начале соединения и доступна для использования в различных контекстах, связанных с активными соединениями. Например, в форматах логов, модулях мониторинга или при реализации ограничения скорости на основе общего количества полученных байтов. Типичные значения $bytes_received могут сильно варьироваться в зависимости от приложения, но обычно масштабируются от нескольких байтов до нескольких мегабайт и более при высокой нагрузке, в зависимости от типа трафика и настроек stream-сервера NGINX.
Пример конфига
stream {
server {
listen 12345;
access_log /var/log/nginx/stream_access.log "$remote_addr - $bytes_received bytes received";
}
}Подсистема
streamКэшируется
ДаКонтексты
stream, server, ifУбедитесь, что модуль stream включён в NGINX, так как эта переменная специфична для него.
Будьте осторожны при использовании $bytes_received в контекстах разделяемой памяти, поскольку его значение может сбрасываться при закрытии соединений.
Помните, что эта переменная считает байты только с момента установления соединения до его завершения.