メッセージのスロットリングを回避するために、Google の GCM サービスに 1 分間にいくつのリクエストを送信できますか? 具体的な数字が見つからない..
1分間に1k送信できますか? 5k?10k?
メッセージのスロットリングを回避するために、Google の GCM サービスに 1 分間にいくつのリクエストを送信できますか? 具体的な数字が見つからない..
1分間に1k送信できますか? 5k?10k?
GCM プッシュを送信するためのシステムを実装してきましたが、メッセージのスロットリングに問題はありませんでした。現在、1 つのサーバーから (多くのスレッドを使用して) ~500k メッセージ/分を送信しています。
割り当てにいくつか問題がありましたが、Google に連絡して増やすことで問題は解決しました。
マテウス
文書には数値が記載されていませんが、同じデバイスにメッセージを送信する頻度を調整するために存在するようです。そのため、多数のデバイスにメッセージを送信している場合、スロットリングが行われるかどうかについての情報はありません。
不正使用 (大量のメッセージをデバイスに送信するなど) を防ぎ、ネットワーク全体の効率とデバイスのバッテリ寿命を最適化するために、GCM はトークン バケット スキームを使用してメッセージのスロットリングを実装します。メッセージは、アプリケーションごとおよび折りたたみキーごとに調整されます (折りたたみできないメッセージを含む)。各アプリケーション折りたたみキーにはいくつかの初期トークンが付与され、その後定期的に新しいトークンが付与されます。各トークンは、デバイスに送信される 1 つのメッセージに対して有効です。アプリケーション コラプス キーが利用可能なトークンの供給を使い果たした場合、新しいメッセージは、定期的な付与時に新しいトークンが利用可能になるまで保留キューにバッファリングされます。このように、定期的な許可間隔の間でスロットリングを行うと、短期間に大量のメッセージを送信するアプリケーション コラプス キーのメッセージ配信の遅延が増加する可能性があります。アプリケーション折りたたみキーの保留中のキュー内のメッセージは、ネットワークとバッテリー効率の理由で GCM によって抑制されていないカテゴリに属するメッセージとピギーバックされている場合、次の定期的な許可の時間の前に配信される場合があります。