概述
OSCPUWaitMicroseconds 指标) 与忙碌时间
(OSCPUVirtualTimeMicroseconds 指标) 的比率。当服务器过载超过某个比率时,
丢弃部分查询,甚至拒绝连接请求,有助于避免负载进一步增加。
有一个服务器设置 os_cpu_busy_time_threshold,用于控制将 CPU 视为
正在执行有效工作时所需的最小忙碌时间。如果当前 OSCPUVirtualTimeMicroseconds 指标值低于该值,
则认为 CPU 过载为 0。
拒绝查询
min_os_cpu_wait_time_ratio_to_throw 和
max_os_cpu_wait_time_ratio_to_throw 控制。如果设置了这些参数,且 min_os_cpu_wait_time_ratio_to_throw 小于
max_os_cpu_wait_time_ratio_to_throw,那么当过载比率至少达到 min_os_cpu_wait_time_ratio_to_throw 时,查询会以一定概率被拒绝,并抛出
SERVER_OVERLOADED 错误。该概率
由最小比率与最大比率之间的线性插值确定。例如,如果 min_os_cpu_wait_time_ratio_to_throw = 2,
max_os_cpu_wait_time_ratio_to_throw = 6,且 cpu_overload = 4,则该查询会以 0.5 的概率被拒绝。
丢弃连接
min_os_cpu_wait_time_ratio_to_drop_connection 和
max_os_cpu_wait_time_ratio_to_drop_connection 控制。这些设置无需重启服务器即可更改。其背后的思路
与拒绝查询类似。唯一的区别是,在这种情况下,如果服务器过载,
连接尝试将被服务器端拒绝。
资源过载警告
system.warnings 表中。你可以
通过服务器配置自定义这些阈值。
示例