# Pusher の制限まとめ：メッセージサイズ、presence の人数、client events

> Pusher Channels の固定の制限。10 KB のイベントサイズ、presence の 100 人、毎秒 10 件の client event まで、制限がある理由と制限内での設計方法。

Source: https://hibira.io/ja/topics/pusher-limits
Updated: 2026-10-30

接続数と 1 日のメッセージ数というプランの上限とは別に、Pusher Channels には 1 つのイベント、チャンネル、presence メンバーに固定の上限があります。本番でエラーとして表に出るのはこちらです。大きな payload への 413、拒否される client event、100 人で満員になる presence チャンネルなどです。

## Pusher Channels の制限一覧

| 制限 | Pusher Channels | Hibira |
| --- | --- | --- |
| イベントデータのサイズ | 10 KB | Free 4 KB、Hobby と Starter 10 KB、Pro と Advanced 32 KB、Business と Scale 64 KB |
| 1 回の配信先チャンネル数 | 100 | 100 |
| 1 回のバッチリクエストのイベント数 | 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 リファレンス](https://pusher.com/docs/channels/library_auth_reference/rest-api/)、[チャンネル](https://pusher.com/docs/channels/using_channels/channels/)、[presence チャンネル](https://pusher.com/docs/channels/using_channels/presence-channels/)、[イベント](https://pusher.com/docs/channels/using_channels/events/)の各ページによるもので、2026-10-30 に確認しました。プランごとの接続数と 1 日のメッセージ数は [Pusher の料金](https://hibira.io/ja/topics/pusher-pricing)にあります。

## イベントサイズ：10 KB の上限

イベントのデータが 10 KB を超えると、Pusher は単発でもバッチでも HTTP 413 を返します。上限は JSON エンコード後の data フィールドにかかるため、エスケープされた引用符や日本語の文字は見た目より多くの容量を使います。

よく使われる回避方法：

- ID だけを送り、クライアントが自分の API でレコードを取得する。
- オブジェクト全体ではなく、変わったフィールドだけを送る。
- 長いリストは複数のイベントに分けるか、ページングする。

Hibira の上限はプランによって変わるため、20 KB や 50 KB が必要な payload（ドキュメントの差分、メタデータ付きの AI 応答チャンクなど）も、クライアントを変えずに Pro や Business に収まります。

## Presence チャンネル：100 人の上限

Pusher の presence チャンネルに入れるメンバーは最大 100 人です。各メンバーは購読時に全メンバーのリストを受け取り、参加と退出のたびにイベントを受け取ります。上限があるのはこのためで、1,000 人なら参加のたびに 1,000 回送ることになります。

Hibira は presence- チャンネルで同じ 100 人の上限を保つので、既存のコードは同じように動きます。配信、ウェビナー、ゲームロビーのような大人数の場面では、presence-large- チャンネルが最大 100,000 人まで入り、リスト全体ではなく人数とまとめた変更を送ります。クライアント側は[大規模 presence ガイド](https://hibira.io/ja/guides/large-presence)にあります。

## Client events

Client event を使うと、ブラウザはサーバーを通さずに他の購読者へ送れます。入力中の表示やカーソル位置に向いています。Pusher ではアプリごとに有効化が必要で、private- と presence- チャンネルでのみ使え、client- の接頭辞が必要で、送信者には返らず、接続ごとに毎秒 10 件までです。Hibira も同じルールなので、Pusher の上限を守るクライアントはそのまま動きます。

カーソルのような高頻度の入力は、最大 100 ms ごとに送り、途中の位置はキューに溜めずに捨ててください。

## チャンネルとリクエストの制限

チャンネル名は private- や presence- の接頭辞を含めて最大 164 文字で、英字、数字、_ - = @ , . ; だけが使えます。1 回の配信先は最大 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 チャンネルが加わるだけです。手順は[移行ガイド](https://hibira.io/ja/migrate)にあります。
