MojoliciousでWebSocketの時の最大同時接続数・・・

MojoliciousでWebSocketサーバー作った時の最大同時接続数ってどうなるんだ?
ってわけで、実験してみた。

前回作った超シンプルサーバーを使って、
クライアント側はWebSocketを配列で作って、onopenでカウント表示する感じで試したが、
Firefoxだと200で止まる。
200が上限?思ったが、Chromeだと918まで行く。
で、FirefoxとChrome同時にやってみると、
Firefoxが200のChromeが820で止まって、Firefox落とすとChromeが再開して918まで行く。
ulimit -n 2000
でサーバーの使えるファイルディスクリプタ数上限を増やしてみると、
FirefoxとChrome同時で200の918まで行った。

Mojo::Server::Daemon
にはmax_clientsの設定があるんだが、
Mojolicious::Liteでは継承されてない?設定できなそう。
Mojo::Server::Daemonのmax_clientsは標準で1000のようなんでこれは関係なしかな。
他にはそれっぽい設定項目見当たらない。

ulimit -n 2000
で増えてる感じではあるんで、
Mojolicious::Lite自体には最大接続数はなく、ファイルディスクリプタの上限まで待ち受けできる。
FirefoxはWebSocketの作成数が200まで。
Chromeは918まで。(これもファイルディスクリプタ依存か?)
って感じなんじゃないかと思う。

現在の同時接続数を取得できなそうなんで、サーバー側は何らかの方法でカウントしたいけど、
なかなか難しそう・・・
node.jsなんかもファイルディスクリプタの上限までぽい。
まあ、ここらはとりあえず放置で、エコーサーバーとかチャットサーバーの実験に進むかな・・・

[#]home