~~NOTOC~~
====== VCI通信流量制限について[ルーム] ======
ネットワーク通信を行うVCIに関して 過剰なリクエストが発生した場合は\\
__サーバーへの高負荷を防ぐために[[https://developer.virtualcast.jp/vci-docs/manual/networking/traffic_limit_spec/index.html|ネットワーク通信量の制限]]を行います__。
VCIを制作する際に、ルーム内で通信量や警告を確認することで\\
通信流量制限を超えない サーバーへの高負荷に配慮したVCIを制作することができます。\\
このページでは、**通信流量制限を超えた場合どうなるか、通信量や警告の確認方法**を説明します。
通信流量を制限する機能は **2025/6/26** に実装予定となります。\\
それまでは通信量や警告のメッセージを表示する機能のみ実装されます。
===== 通信流量制限を超えた場合 =====
ルーム内に設置したVCIが通信流量制限のある一定の基準を超えた場合、**警告・制限**の状態になります。\\
警告・制限のメッセージは、**[[vci/script/console#表示方法|コンソール]]**から確認ができます。\\
また、制限のメッセージが視界前方に通知バーの形で表示されることがあります。
* **制限** : 通信量が**許容値**を超える。対象APIの実行が制限される。
* **警告** : 通信量が**許容値**に近づく。制限は無し。
==== 制限 ====
**制限**の状態になった場合、VCIの通信量が多い順に**対象のAPI**の呼び出しが無効化されます。\\
この場合、サーバーに過剰な負荷がかかると同時に、VCIが十分に機能せず体験が損なわれる可能性があります。\\
対処法としては__VCIの設置を取り止める__か、VCIの作者であれば__[[https://developer.virtualcast.jp/vci-docs/manual/networking/network_func_optimization.html|VCIスクリプトを調整する]]__方法があります。
==== 警告 ====
**警告**の状態になった場合でもサーバーに高負荷がかかっている状態ではあるため、体験が損なわれる可能性があります。\\
対処法としては__VCIの設置数を見直す__か、VCIの作者であれば__[[https://developer.virtualcast.jp/vci-docs/manual/networking/network_func_optimization.html|VCIスクリプトを調整する]]__方法があります。
\\
==== 対象API ====
制限の対象となるAPIはネットワークに関する関数です。\\
具体的に対象となるAPI一覧は [[https://developer.virtualcast.jp/vci-docs/manual/networking/traffic_limit_spec/index.html#api|VCI通信流量制限機能]] ページ内の「対象API」をご確認ください。
==== 通信量の計測 ====
また、通信量は以下の3つのポイントで計測され、それぞれ異なる許容値が設定されています。\\
^ 対象の通信 ^ 送信元 ^ ^ 送信先 ^
^ サーバー送信量 | サーバー | ⇒ | 全クライアント |
^ クライアントあたりの送信量 | 自身のクライアント上の\\ 全VCIインスタンス | ⇒ | サーバー |
^ VCIインスタンスあたりの送信量 | 各VCIインスタンス | ⇒ | サーバー |
クライアント:各ユーザーが起動した状態のバーチャルキャストアプリケーション\\
VCIインスタンス:VR空間に設置された状態のVCI
詳細は[[https://developer.virtualcast.jp/vci-docs/manual/networking/traffic_limit_spec/traffic_type.html|通信量の種類と計測方法]]をご確認ください。
===== 確認方法 =====
通信量や警告メッセージは **SystemConsole** 内の **VCINetworkPanel** から確認できます。\\
通信量の単位は RPS ( Requests Per Second, 秒間リクエスト数) としています。\\
表示させるには**[[vci/script/console#表示方法|コンソール]]**ページ内の手順をご確認ください。
==== コンソールの表示例1 ====
SystemConsole 内の VCINetworkPanel\\
送信量の多い順にルーム内のVCIが表示される。
* 制限 : 赤
* 警告 : 黄
* 通常 : 白
画像の赤文字のVCIは特に通信量が多く、\\
VCIの設置を取り止めるか\\
[[https://developer.virtualcast.jp/vci-docs/manual/networking/network_func_optimization.html|VCIスクリプトの調整が必要]]
{{ :virtualcast:room:ringmenu:system:traffic_limit1.png?direct |}}
==== コンソールの表示例2 ====
ItemConsole 内の VCINetworkPanel (下部)\\
個別のVCIの送信量が表示される。
* 制限 : 赤
* 警告 : 黄
* 通常 : 白
画像は白文字で許容値内のため\\
この時点では特別な対応は不要
{{ :virtualcast:room:ringmenu:system:traffic_limit2.png?direct |}}
==== 詳細リンク ====
詳しい内容は VCI Documentation をご確認ください。
^ [[https://developer.virtualcast.jp/vci-docs/manual/networking/traffic_limit_spec/index.html|VCI通信流量制限機能]] | 詳細な仕様について |
^ [[https://developer.virtualcast.jp/vci-docs/manual/networking/network_func_optimization.html|API呼び出し最適化ガイド]] | 通信量が多いVCIの通信負荷を低減するための方法 |