IRCとWebChatの比較
条件:
- 参加人数5人
-
発言は全員合わせて30秒に1回の頻度
- 発言長は80bytesぐらい
- IRC/http共に、1回の通信につき80bytesのヘッダが付加されるものとする
-
WebChat?の更新(リロード)は各人15秒に1回
- httpリクエストはヘッダのみ=80bytes
- 履歴は最新10発言ぶん
- 上記条件で1時間続けたときの試算
IRC | WebChat? | |
クライアント側プロセス負荷 | IRCクライアントの起動 * 5 | (ブラウザのレンダリング) |
サーバ側プロセス負荷 | IRCサーバ * 1 | CGI呼び出し120(書込)+240*5(更新) = 1320回 |
各クライアント向きのサーバプロセス * 5 | ||
TCP/IPネゴシエーション | クライアント/サーバの接続 * 5 | KeepAlive?効きっぱなし * 5 |
発言時トラフィック | クライアント→サーバ 160B * 120 = 19200 | クライアント→サーバ 160B * 120 = 19200 |
サーバ→クライアント 160B * 120 * 5 = 96000 | ||
更新時トラフィック | 「更新」は発生せず。 | クライアント→サーバ 80B * 240 * 5 = 96000 |
サーバ→クライアント 880B * 240 * 5 = 1056000 | ||
トラフィック合計 | 115200B(115KB)/hour | 1171200B(1171KB)/hour |
トラフィック/クライアント | 23040B(23KB)/hour | 234240B( 234KB)/hour |
所見:
今どきの通信事情を考えれば、この程度のトラフィックはものの数ではない。
むしろ問題はサーバでのプロセス起動。これは、mod_perlやmod_php等の非fork型モジュールを使うことで解決できる。
サーバプログラムの負荷をより減らしたいなら、オブジェクトが常駐できる環境(ServletやZope等?)を使うことになるか。