push_stream_shared_memory_size

配置为 NGINX 中的 Push Stream 模块分配的共享内存大小。

语法push_stream_shared_memory_size size | size [optional second argument];
默认值none
上下文http
参数1-2

说明

指令 'push_stream_shared_memory_size' 指定为 NGINX Push Stream 模块分配的共享内存量。该共享内存用于保存与通道和订阅者相关的状态和信息,这对于高效的消息广播是必不可少的。设置此指令时,可指定从 1 字节到数 GB 的限制,具体取决于应用的规模和需求。此处定义的大小会直接影响服务器能够有效管理的通道和订阅者数量,从而影响推送通知的整体性能和可靠性。

该指令接受一个或两个参数:第一个(主要)参数为内存大小,可选的第二个参数可用于根据实现进行额外配置。如果指定的大小不足,可能导致性能问题,例如并发连接数受限或消息丢失。反之,分配过大的内存则可能造成资源浪费,因此必须根据实际使用模式和预期负载来调整该值。

值得注意的是,该指令必须放置在 NGINX 配置的 'http' 上下文中。正确的配置可以使 push stream 模块达到最佳运行,确保直播或实时数据场景在预期流量和资源限制下平稳高效地运行。

配置示例

http {
    push_stream_shared_memory_size 32M;

    server {
        location /channels-stats {
            push_stream_channels_statistics;
            push_stream_channels_path $arg_id;
        }

        location /pub {
            push_stream_publisher admin;
            push_stream_channels_path $arg_id;
        }

        location ~ /sub/(.*) {
            push_stream_subscriber;
            push_stream_channels_path $1;
        }
    }
}

确保所指定的大小适合预期的通道和订阅者数量,以避免性能下降。

如果内存大小设置过低,可能导致消息丢失或无法容纳所有订阅者。

此指令依赖上下文,应该放在 'http' 块中;未按此放置将导致配置错误。

← 返回所有指令