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 頻道。步驟請看遷移指南。
產品名稱為其所有者的商標。