Pusher 限制整理:消息大小、presence 人数与 client events
Pusher Channels 的固定限制,从 10 KB 事件大小、presence 100 人到每秒 10 个 client event,为什么有这些限制,以及如何在限制内设计。
除了连接数和每日消息数这两个套餐限制,Pusher Channels 对单个事件、频道和 presence 成员也有固定上限。生产环境里最常见的错误都来自这里:payload 太大被返回 413、client event 被拒绝、presence 频道满 100 人后再也加不进去。
Pusher Channels 限制一览
| 限制 | Pusher Channels | Hibira |
|---|---|---|
| 事件数据大小 | 10 KB | Free 4 KB,Hobby 与 Starter 10 KB,Pro 与 Advanced 32 KB,Business 与 Scale 64 KB |
| 每次发布的频道数 | 100 | 100 |
| 每次批量请求的事件数 | 10 | 10 |
| 频道名称长度 | 164 个字符 | 164 个字符 |
| Presence 频道成员数 | 100 | 100,presence-large- 频道最多 100,000 |
| Presence 用户对象 | 1 KB | 1 KB(presence-large- 频道为 256 bytes) |
| Presence 用户 ID | 128 个字符 | 128 个字符 |
| 每个连接的 client event | 每秒 10 个 | 每秒 10 个 |
| 签名时间戳允许误差 | 600 秒 | 600 秒 |
Pusher 的数字取自它的 HTTP API 参考、频道、presence 频道和事件文档,核对日期 2026-10-30。各套餐的连接数与每日消息数请看 Pusher 价格。
事件大小:10 KB 上限
事件数据超过 10 KB 时,Pusher 会返回 HTTP 413,单条和批量都一样。限制计算的是 JSON 编码后的 data 字段,所以转义的引号和中文字符会比看起来占用更多空间。
常见的规避方式:
- 只发送 ID,让前端通过你自己的 API 获取数据。
- 只发送有变化的字段,不发送整个对象。
- 长列表拆成多个事件,或分页。
Hibira 的上限按套餐而定,需要 20 或 50 KB 的 payload(例如文档差异、带 metadata 的 AI 响应片段)在 Pro 或 Business 套餐就能放下,前端无需修改。
Presence 频道:100 人上限
Pusher 的 presence 频道最多 100 个成员。每个成员订阅时会收到完整成员列表,每次有人加入或离开也会收到事件,这就是上限存在的原因:1,000 人时,每次加入都要发送 1,000 份。
Hibira 的 presence- 频道保持同样的 100 人上限,现有代码行为不变。直播、线上讲座或游戏大厅这类大型场景,可以使用 presence-large- 频道,最多 100,000 人,发送的是人数和批量变化而不是整份列表。前端写法请看大型 presence 指南。
Client events
Client event 让浏览器不经过你的服务器直接发送给其他订阅者,适合“正在输入”或光标位置。在 Pusher 上必须按 app 开启,只能用于 private- 和 presence- 频道,事件名要有 client- 前缀,不会回送给发送者,每个连接每秒最多 10 个。Hibira 遵循同样的规则,符合 Pusher 限制的前端无需修改。
光标这类高频输入,建议最多每 100 ms 发送一次,并丢弃中间的位置,不要排队累积。
频道与请求限制
频道名称最长 164 个字符(包含 private- 或 presence- 前缀),只能使用英文字母、数字和 _ - = @ , . ;。一次发布最多 100 个频道,一次批量请求最多 10 个事件。签名请求的时间戳必须与服务器时间相差 600 秒以内,所以时钟漂移的服务器会收到 401。
常见问题
Pusher 的消息大小上限是多少?
事件数据 10 KB,超过会被返回 HTTP 413。Hibira 的上限是 Free 4 KB、Hobby 与 Starter 10 KB、Pro 与 Advanced 32 KB、Business 与 Scale 64 KB。
Pusher 的 presence 频道可以有多少人?
100 人。Hibira 的 presence- 频道同样是 100 人,另外提供最多 100,000 人的 presence-large- 频道,发送人数和批量变化,而不是完整列表。
换到 Hibira 需要改代码吗?
不需要。协议、前后端库和这些限制都一样,只是多了可以选用的更大 payload 和大型 presence 频道。步骤请看迁移指南。
产品名称为其所有者的商标。