内部缓冲区
buffer_sizes 控制内部队列大小。常规部署通常不需要调整,只有在高并发、慢客户端、审计峰值或内存紧张时才需要关注。
这些配置不是限流策略。限流用于拒绝过量请求,缓冲区用于吸收短时间突发或下游处理延迟。
buffer_sizes: websocket_outbound: 256 audit_buffer: 10000buffer_sizes.websocket_outbound
Section titled “buffer_sizes.websocket_outbound”类型:整数。
默认值:256。
作用:每个 WebSocket 连接的出站消息队列容量。
当服务端要发给某个客户端的消息比客户端读取速度更快时,消息会先进入这个队列。
适合调大的场景:
- 客户端网络波动明显。
- 房间消息或播放同步事件短时间很多。
- 希望慢客户端更不容易被断开。
适合调小的场景:
- 内存很紧张。
- 宁愿更早断开慢客户端,也不希望队列堆积。
- 需要更快暴露客户端消费能力不足的问题。
风险:这个值是每连接级别。假设 5000 个连接,每个连接 256 条队列,内存压力会随连接数放大。
buffer_sizes.audit_buffer
Section titled “buffer_sizes.audit_buffer”类型:整数。
默认值:10000。
作用:审计事件缓冲区容量。
适合调大的场景:
- 管理操作很多。
- 高峰期审计事件短时间积压。
- 审计写入后端偶尔变慢。
适合调小的场景:
- 内存有限。
- 希望更快暴露审计处理能力不足的问题。
生产环境建议先保持默认,并通过日志或 metrics 观察是否有审计事件丢弃或积压。