kqueue_changes

指令 `kqueue_changes` 用于配置可以添加到 kqueue 实例中以在 macOS 系统上监控事件的更改数量。 — NGINX Core

kqueue_changes
events
语法kqueue_changes number;
默认值128
上下文events
模块NGINX Core
参数1

说明

`kqueue_changes` 指令用于 NGINX 的事件处理上下文,尤其在使用特定于 BSD 风格操作系统(包括 macOS)的 kqueue 事件机制时优化性能。该指令允许用户设置在监控 file descriptors 时可排队的最大更改数,从而帮助在高负载情况下微调 NGINX 服务器的响应性。该参数指定一次可处理的挂起 file descriptors 更改的数量上限,这会影响在流量高峰期间处理连接的效率。 在设置此指令时,需考虑服务器上运行的应用类型和预期负载。较低的值可能在高流量下导致事件丢失,而较高的值则可能消耗更多内存和处理资源。平衡这些方面以确保最佳性能非常重要。例如,如果您的应用经常向监控中添加或移除 file descriptors,您可能希望增加此值以适应更高的传入连接速率。有效管理此参数可改善性能,特别是对于经历超出典型负载的连接突发的应用而言。 NGINX 默认值在许多用例中是合理的,但管理员可以根据应用的具体行为和需求调整 `kqueue_changes` 的值,以实现性能提升或降低事件队列饱和的风险。

配置示例

events {
    kqueue_changes 256;
}

将某个值设置得非常高可能会导致内存使用量增加。

确保您的应用确实需要更高的值;否则,可能会导致不必要的资源消耗。

在非 BSD 系统上不适用,因为 kqueue 是类 BSD 操作系统特有的。