$bytes_received

变量 $bytes_received 跟踪在 NGINX 的 stream module 中从客户端接收的字节总数。 — NGINX Core (Stream)

$bytes_received NGINX Core (Stream)

说明

在 NGINX 的 stream module 中,变量 $bytes_received 会动态设置,以反映在特定连接期间从客户端接收的字节数。它有助于监控服务器通过 TCP 或 UDP 数据流接收的数据量。每次从客户端接收到数据时,该变量都会相应更新,可用于日志或性能指标。因此,$bytes_received 本质上会统计所有字节,包括 headers 和 payloads,使其成为带宽分析的有力工具。 该变量在连接开始时初始化,并可在与活动连接相关的各种上下文中使用。例如,在日志格式、监控模块中,或用于基于接收总字节数实现的限速。$bytes_received 的典型值会因应用而异,但通常可从几字节到数兆字节或在高负载时更多,具体取决于流量类型和 NGINX stream 服务器的配置。

配置示例

stream {
    server {
        listen 12345;
        access_log /var/log/nginx/stream_access.log "$remote_addr - $bytes_received bytes received";
    }
}

子系统

stream

可缓存

上下文

stream, server, if

确保在 NGINX 中启用 stream 模块,因为该变量仅适用于该模块。

在共享内存环境中使用 $bytes_received 时要小心,因为在连接关闭时其值可能会被重置。

请记住,该变量仅从连接建立时开始计算字节数,直到连接终止为止。