以下、引用
引用終わり現行の主流ブランチである2.xには次の問題がある。
- ハックを加えないかぎりcoreの非同期IOを動作させることができない
- フィルターの非同期IOが正しく動作しない
- モジュールAPIがあまりに多くの内部情報を露呈している
- HTTPプロトコルがcoreへ結び付いており分離作業が進んでいない
- 実行時に設定変更を反映することができない
- 設定ファイルのプログラム性が低い
3.0では基本的にこれら問題を解決したいとしている。これに対して同氏が提案している基本方針は次のようなもの。
- 高性能イベントシステムコールの採用 (KQueue, Event Ports, EPoll, I/O, Completion Ports)
- 非同期ソケットおよび非同期ディスクIO
- カーネルスレッドを検討
- C99コンパイラの採用
上記要求を満たすOSは次のとおり。
- FreeBSD 6.x以降
- Solaris 10以降
- Linux 2.6以降
- Windows XP以降(おそらく、2003とVistaも)
一方で、AIX、NetWare、HP-UX、そのほかの古いUNIXシステムは3.0の要求に応えることができない可能性があるとされている。
FreeBSD だと kqueue ってやつ。必然的に京急を連想しがち。
Linux は epoll ?
Solarisってなんだろ?(追記: /dev/poll )
lighttpdは非同期IOを実装中、パフォーマンスがググッとよくなっているらしいので
これからは async I/O ってのが主流になるんかな。
そういえば IMAP/POP3 サーバの dovecot は kqueue 対応。
0 件のコメント:
コメントを投稿