03-6845-0775平日10:00〜18:00受付
無料ガイド
お問い合わせ

2023年05月26日

PaaSやSDKの制限に対する実装のコツ

paas_sdk

WebRTCやメッセージングの基盤を担うPaaSやSDKは開発工数の短縮に有効です。しかし、秒間あたりの実行数に上限がある等、制限事項もあります。制限事項の影響で実現できない非機能要件が発生する場合もあります。
この記事では、要件をさらに深掘りして実現させたい内容を満たす実装のコツを記載します。

お役立ち資料ダウンロード

オンライン体験におけるブイキューブの技術サポートのご案内

【図解】システム開発のお手伝い

ブイキューブのソリューションアーキテクトが、寄り添います!
各種ライブ配信システムのアーキテクチャについて わかりやすい構成図にてご紹介!

無料ダウンロード

制限事項の例

メッセージングを提供するAgoraやTencentの制限事項を例に解説します。AgoraのSignalingSDKではチャンネル毎に200件/秒以内(チャンネル参加者数が1,000人未満の場合)を推奨、TencentのChatでは40件/秒の制限になっています。

参考リンク
Signaling Limitations(Agora)
使用制限(Tencent Chat)

実装の改善例

連続したギフトやハートの処理要件

要件

・ハートを飛ばしてライブ配信の盛り上がりを演出
・応援する配信者へ積極的にギフトを送る

改善前の実装

  1. クライアントからハート又はギフトを送信
  2. サーバー側でデータ保存と決済処理を実施
  3. サーバー側からのレスポンス後、クライアントからメッセージングでハート又はギフト送信の旨をブロードキャスト
  4. 配信者や他の視聴者がメッセージを受信してUI更新

問題点

  • 送信側が連打できる為、メッセージの受信がスパイクして端末の負荷が上昇する
  • 決済処理やデータ保存用サーバーの負荷が上昇する
  • 大量にギフトの画像が流れていって読み取れない

改善のポイント

パターン1
ギフトの枚数や、ハートの数を入力するUIを追加し、件数とハート又はギフトの情報を合わせ、1回にまとめて送信
パターン2
クライアント側でボタンクリック数をカウントし、数秒待機してからクリック数とハート又はギフトの情報を合わせて1回送信

大量のチャット

要件

・10,000人規模のライブ配信でチャットをスムーズに流したい

改善前の実装

  1. メッセージング用に全員が1つのチャンネルに接続
  2. メッセージの送信
  3. 配信者や他の視聴者がメッセージを受信してUI更新

問題点

  • メッセージの受信がスパイクして端末の負荷が上昇する
  • PaaS側の負荷が上昇し、メッセージの遅延や送信できなくなる
  • 大量にチャットが流れていって読み取れない

改善のポイント

パターン1

視聴者をランダムで複数のチャンネルに分けて参加させる。数百人規模のグループであればメッセージも自然に流れ、盛り上がりの様子も失われない。

パターン2

チャットの投稿数が増えてきたらメッセージングですぐにメッセージを送信せずに、タイマー等で遅延させて送信する。

ベストプラクティス

PaaSやSDKを提供するベンダーは、設計や実装についてベストプラクティスをドキュメントとして公開しているケースもあります。コンセプトが実装中のサービスに対する同じソリューションなので参考になる場合が多いと思います。

例:Agora SignalingSDKTencent Chat

ガイドブックダウンロード
ビデオ通話・ライブ配信API/SDK「Agora」

【最新版】超低遅延API/SDK「Agora」ガイドブック

通話・配信遅延30-200ms!100万人の視聴対応!未経験者から専門家まで、誰でも読みやすいAgoraのガイドブックをダウンロードしませんか。

無料ダウンロード
藤本 諭志

執筆者藤本 諭志

株式会社ブイキューブ 技術本部 Agora担当。 2007年ブイキューブ入社。 自社開発サービスであるV-CUBE セミナーの開発に携わる。現在はAgoraとTencent Cloudのプロダクト担当SEをしている。 スキル:Docker/AWS/Linux/DB/Ruby/PHP/JavaScript
関連記事

2025年12月27日

会話型AIのパフォーマンスを可視化する:Agora Conversational AI Performance Lab の見方と活用法

  • Agora
  • 技術動向
  • 実践
近年、音声対話型の AI エージェント開発が活発になっています。この開発では、一般的に ASR (音声認識)、LLM (大規模言語モデル)、TTS (音声合成) という複数の AI モデルを連携させる必要があります。しかし、これらのモデルの組み合わせや各々の性能によって、AI の応答速度 (レイテンシ) が大きく変動し、ユーザー体験の質を左右するという課題があります。 Agora 社が提供する Agora Conversational AI Engine は、こうした音声 AI エージェントを構築するためのプラットフォームです。開発者は様々なベンダーの ASR、 LLM、 TTS モデルを柔軟に組み合わせることができますが、一方で「どの組み合わせが自社のサービスにとって最適なのか?」という選定の難しさに直面します。 この課題に対し、Agora 社が客観的なデータに基づいてモデル選定を支援するために公開しているのが、「Agora Conversational AI Performance Lab」です。このツールは、後述する主要な指標「チェーンドモデル遅延 (Chained Model Latency)」を元に、様々なモデルの組み合わせをランキング形式で比較・表示しています。本記事では、このツールの見方と、データに基づいたモデル選定の方法を解説します。

先頭へ戻る