statsd_timing
`statsd_timing` 指令将时序数据发送到 StatsD 服务器以进行性能监控。
NGINX module for sending stats to statsd
·
serverlocationif in serverif in location
语法statsd_timing key value [condition];
默认值none
上下文server, location, if in server, if in location
参数2-3
说明
statsd_timing 指令在 NGINX 中属于 NGINX statsd 模块,允许用户将时序指标发送到 StatsD 服务器。该指令使您可以记录请求处理所需的时间,从而为响应时间和性能监控提供有价值的洞察。时序信息以 UDP 数据包的形式发送,数据包中包含表示时序数据的 key 和 value,这些数据可由 NGINX 变量或静态数字计算得出。
statsd_timing 指令的语法接受两个或三个参数:用于标识指标的 key 和表示时长的 value,value 可以是一个变量(例如 $upstream_response_time),其保存要记录的持续时间。第三个可选参数用于指定何时应发送时序信息的条件——如果该条件计算为 true,则发送时序;否则将被忽略。该条件有助于在未满足特定条件时避免不必要的记录,从而提高效率并减少指标噪声。
重要的是确保在 NGINX 配置中使用 statsd_server 指令配置了一个可用的 StatsD 服务器,因为该配置是此指令正常工作的前提。通过高效地记录请求时长,开发人员可以识别应用中的瓶颈,并根据长期的全面数据对性能进行优化。
配置示例
location / {
statsd_timing "your_product.pages.index_response_time" "$upstream_response_time";
}⚠
确保 StatsD 服务器已正确配置并且可访问,否则计时指标将不会被发送。
⚠
如果用于计时的变量被计算为零或空字符串,可能会导致计时数据不被发送;请确保对这种情况进行适当处理。
⚠
如果要避免使 StatsD 服务器不堪重负,请记得设置 statsd_sample_rate。