跳转到内容

内部缓冲区

buffer_sizes 控制内部队列大小。常规部署通常不需要调整,只有在高并发、慢客户端、审计峰值或内存紧张时才需要关注。

这些配置不是限流策略。限流用于拒绝过量请求,缓冲区用于吸收短时间突发或下游处理延迟。

buffer_sizes:
websocket_outbound: 256
audit_buffer: 10000

类型:整数。

默认值:256

作用:每个 WebSocket 连接的出站消息队列容量。

当服务端要发给某个客户端的消息比客户端读取速度更快时,消息会先进入这个队列。

适合调大的场景:

  • 客户端网络波动明显。
  • 房间消息或播放同步事件短时间很多。
  • 希望慢客户端更不容易被断开。

适合调小的场景:

  • 内存很紧张。
  • 宁愿更早断开慢客户端,也不希望队列堆积。
  • 需要更快暴露客户端消费能力不足的问题。

风险:这个值是每连接级别。假设 5000 个连接,每个连接 256 条队列,内存压力会随连接数放大。

类型:整数。

默认值:10000

作用:审计事件缓冲区容量。

适合调大的场景:

  • 管理操作很多。
  • 高峰期审计事件短时间积压。
  • 审计写入后端偶尔变慢。

适合调小的场景:

  • 内存有限。
  • 希望更快暴露审计处理能力不足的问题。

生产环境建议先保持默认,并通过日志或 metrics 观察是否有审计事件丢弃或积压。