
2001年にプログラマーDan Kegelによって提起されたこの問題を解決する方法は、 SkyDNSとAydekoによって準備されたコース「UNIXでのネットワークプログラミング」の第9回講義で議論されています。 詳細については、猫へようこそ。
以前に検討されたアプローチのうち、 プリ フォークモデルは機能しますが、メモリの点で無駄があり、 select()はまったく機能しません。
コースの作成者であるAlexander Patrakovは、 select()の代わりにどの関数を呼び出すことができるかを説明し、それらを使用して書き換えられたプログラムが多数の同時接続を効率的に処理できるようにします。
実際のタスクは、epoll()ファミリーの関数を使用して占星術サーバーを書き換え、10,000の接続に耐えられるかどうかを確認することでした。
また、占星術サーバーはラップトップでいくつの同時接続に耐えますか?
スライドはこちらから入手できます。
以前の講義:
1. UNIXとCを恐れない人のためのコース
2. プロセス内の各クライアントへ
3. プロトコルまたは占星術師の仕組みを実装します
4. 最後まで読む方法
5. 自動スタイルのプログラム-翻訳の難しさ
6. 複数のことを同時に、そして同時に順番に行う方法は?
7. 効果的な読書
8. プログラムを短気にする方法は?