sysguard_load
`sysguard_load` 指令配置系统负载监控阈值,当负载超过阈值时触发指定操作。
NGINX sysguard module
·
httpserverlocation
语法sysguard_load load=value [action=string];
默认值none
上下文http, server, location
参数1-2
说明
sysguard_load 指令在 NGINX 的 sysguard 模块中,允许管理员设置平均负载阈值;当超过这些阈值时会执行指定的操作。它接受一个或两个参数:第一个参数指定负载阈值,第二个可选参数定义在超过该阈值时要采取的操作。此功能对于在高并发条件下维持服务器性能至关重要。该指令与 sysguard 框架集成,实时管理服务器健康状况,有助于防止导致服务降级或停机的过载场景。配置后,如果服务器的平均负载超过定义的阈值,将会执行指定操作——通常是重定向到维护页面或向用户返回 503 Service Unavailable 响应。可以在同一配置块中使用多个此指令实例,以便对不同的服务器上下文进行精细控制。重要的是,该功能要求 sysguard 模块被编译进 NGINX 并正确初始化,以确保可以有效地监控所需的指标。在设置阈值时,还必须考虑系统能力和典型负载模式,以避免误报导致不必要的触发。此外,确保启用适当的日志记录有助于排查达到负载限制时的事故,提供有关潜在流量激增或系统瓶颈的洞见。
配置示例
sysguard_load load=10.5 action=/loadlimit;
⚠
确保正确的上下文;sysguard_load 必须在有效的 http、server 或 location 块中定义。
⚠
action 指令必须指向在 NGINX 中配置的有效位置或处理程序;否则会导致服务器错误。
⚠
避免将负载阈值设置得过低,这可能会在正常流量波动期间导致不必要的服务中断。