比較的ペースの速いゲーム (Flash/Apache Mina Server バックエンド) を開発していますが、現在のセットアップで使用する帯域幅の正確なベンチマークを取得するのに苦労しています。
私の質問は、テストに必要な帯域幅の正確なベンチマークを取得するにはどうすればよいですか? 私が今していることは、オーバーヘッドを考慮に入れていませんか?
メッセージの送受信方法について
[out/in]Bandwidth+= message.toString().getBytes().length;
次に、現在の値を 250 ミリ秒ごとに出力します (「世界」の更新が現在行われている頻度であるため)。
10 個の「モンスター」がすべてランダムに動き回り、1 人のプレイヤーがランダムに動き回ると、この出力が得られます.. (ここでは 1 秒のウィンドウ)
In bandwidth: 1647, Outgoing: 35378
In bandwidth: 1658, Outgoing: 35585
In bandwidth: 1669, Outgoing: 35792
In bandwidth: 1680, Outgoing: 35999
したがって、渡されるメッセージ (発信) のサイズに厳密に基づいて行動すると、1 人あたり、画面上で絶えず移動するアイテムごとに、約 621 バイト/秒または (621/10) 62.1 バイト/秒になります。これは少し低いように思えます。高速接続が良好であれば、この「速度」で 1 秒あたり 1000 以上のオブジェクトの更新を問題なく処理できます。