$bytes_sent
Переменная $bytes_sent содержит общее количество байт, отправленных клиенту в ответ на запрос. — NGINX Core (HTTP)
Описание
Переменная $bytes_sent в NGINX отслеживает общее количество байт, переданных клиенту в ходе отправки ответа. Эта переменная вычисляется на этапе обработки запроса и доступна во всех контекстах, где производится логирование. Она отражает не только само тело ответа, но и любые дополнительные отправляемые байты, такие как HTTP headers. Значение этой переменной устанавливается, когда NGINX начинает доставлять ответ клиенту, и продолжает накапливаться в процессе передачи до полного завершения отправки ответа. Обычно $bytes_sent может значительно варьироваться в зависимости от типа доставляемого контента; например, для статических файлов будет указан точный размер файла в байтах, тогда как динамически генерируемый скриптами контент может быть менее предсказуемым. Кроме того, и могут влиять на сообщаемый размер из-за различий в длине содержимого, headers и сжатии. В целом разработчики и системные администраторы используют эту переменную преимущественно для анализа использования пропускной способности, расчёта статистики передачи и настройки производительности сервера для эффективной обработки ответов клиентам.
Пример конфига
log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $bytes_sent'; access_log /var/log/nginx/access.log main;
Подсистема
httpКэшируется
ДаКонтексты
http, server, location, if, logЗначение $bytes_sent является накопительным и показывает только общее количество байт, отправленных для конкретного запроса, обрабатываемого в данный момент.
В случае небольших ответов или при кэшировании значение может не соответствовать ожидаемым метрикам пропускной способности.
Для ответов с chunked transfer encoding значение $bytes_sent может не соответствовать точному измерению размера содержимого во время отправки ответа.