刺身の上にたんぽぽ乗せる日記

プログラミングしたり、自販機の下に落ちてる小銭を集めたりしてます

超スケールするWebサーバ

TCPコネクションのためのソケット(Socket)数は,ハードウエアで物理的に50万個用意した。TCPポート数は6万5536個までの制限があるが,ソケットはWebクライアントのIPアドレスごとに6万5536個共存できるため,同時に50万コネクションを張れる。

50万コネクションってすげぇな。
送受信バッファだけで大雑把に計算して、(送信バッファ+受信バッファ)*50万=8GBのメモリ*1、ってことになるな。すげぇ。

なんというか、同時接続数はすごいんだが、秒間のスループットはどんなもんなんだろ?帯域とか、DBとか、複数のI/OをハンドルするI/Oストラテジとか、スクリプトを処理するプロセスに与えられるタイムスライスとか、色々ネックになりそうだけど。

*1:linuxのデフォルト値8KBのバッファでの数値