push_stream_channel_inactivity_time
为 push stream 通道设置不活动超时,允许对不活动的通道进行自动清理。
NGINX push stream module
·
http
语法push_stream_channel_inactivity_time time;
默认值none
上下文http
参数1
说明
push_stream_channel_inactivity_time 指令定义了在多长时间后某个不活动的通道被视为过时并可以被自动删除。这在通道由于不活动而可能不再需要的场景中尤其有用,能够释放资源并确保内存得到有效管理。该指令接受一个参数,用于以秒为单位指定时间周期。如果某个通道在该时间范围内没有收到任何订阅或活动,它将从服务器的活动通道列表中移除,从而防止不必要的内存占用并保持系统清洁。
例如,如果您设置 push_stream_channel_inactivity_time 10;,任何在 10 秒内没有任何活动的通道都会被自动删除。该功能对于用户可能间歇性订阅通道的应用很有用,通过确保通道仅在需要时保持活动来最小化服务器负载。在设置此值时应权衡用户体验;不活动时间过短可能导致用户意外断开他们希望访问的通道,而过长则可能导致大量过时通道留在内存中,从而耗尽资源。
配置示例
http {
push_stream_channel_inactivity_time 300;
server {
location /pub {
push_stream_publisher;
push_stream_channels_path $arg_id;
}
location ~ /sub/(.*) {
push_stream_subscriber;
push_stream_channels_path $1;
}
}
}⚠
确保不活动时间设置得当,以避免意外丢失用户仍想访问的通道。
⚠
如果将该值设置得过低,用户在不活动达到该时间时可能会被断开连接。
⚠
配置必须放在正确的上下文 (http) 中才能生效。