多数のTCP接続をハンドリングするサーバを書くなら、1コネクション1スレッドのモデルではなく、epollやkqueueのようなイベント駆動型のI/O多重化を行うべきだ、と言われます。だが、そのような主張は、「C10K問題」が書かれた2002年から7年経過した今でも有効なのでしょうか? echoサーバを書いて、ベンチマークを取ってみることにしました。 ふたつのグラフは、いずれも接続数とスループットの関係を表しています。最初のグラフは、全接続がアクティブに通信した場合、あとのグラフは、全接続のうち小数のコネク... > このページを見る
最終更新時間:
2009年09月22日21時34分
みんなのブックマーク 人気(0) 新着
- 1コネクション1スレッド、という選択肢が現実的であることは確かのようです(特にポータビィリティでイベント駆動モデルよりも優れていることを考えると注1)
- IO 多重化よりも 1 コネクション 1 スレッドの方が良いパフォーマンスを示したという実験結果
- "少なくとも、1コネクション1スレッド、という選択肢が現実的であることは確かのようです(特にポータビィリティでイベント駆動モデルよりも優れていることを考えると注1)。また、今日ではマルチプロセッサ対応は必
- 10000スレッドでもそれなりに動くという実験結果。32ビットだとアドレスが足りなくなりそうだが、OSは何だろう。
- メモリが問題。「また、今日ではマルチプロセッサ対応は必須ですから、マルチスレッド(マルチプロセス)+イベント駆動の二階建てにするよりも、1コネクション1スレッドのモデルの方が、必然的に単純になります。 」
- epoll vs per-thread
- 『マルチスレッド(マルチプロセス)+イベント駆動の二階建てにするよりも、1コネクション1スレッドのモデルの方が、必然的に単純になります。 』
- スレッドベースも実用的になってきてるのね
- [あとで]
- なるほど
- 調べてみたら2002年ってまだKernel 2.4なので、OSもかなり進歩したのではないかなあと



![[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)](http://ecx.images-amazon.com/images/I/51uK4ACymiL._SL75_.jpg)
![[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)](http://ecx.images-amazon.com/images/I/51GW5jxmdvL._SL75_.jpg)


![サーバ/インフラエンジニア養成読本 [現場で役立つ知恵と知識が満載!] (Software Design plus)](http://ecx.images-amazon.com/images/I/51MOhq-f6hL._SL75_.jpg)
