最近、高性能な Web サーバーの書き方を学んでいます。epoll は aio よりも速いという RedHat の実験があります。Linuxカーネルのaioがpthreadで実装されているため、誰かがそれを言います。これを証明する最新情報を見つけるのは難しいです。また、Linux で epoll が現在 aio よりも優れているかどうかもわかりません。Linux 2.6.x での aio に関する最新情報はどこで入手できるか知りたいです。ありがとう!
質問する
471 次
1 に答える
1
同じ分野を研究しています。
Linux で aio を動作させることさえできますか? 私は aio_write() で 300M を書き込み、それらをキャッシュ内のダーティ ページと見なします。つまり、IO スケジューラに直接ではなく、VM とその後の pdflush/flush に移動します。つまり、aio はバッファリングされた io と同じくらい良い/悪いです。
ビルド マシンでは 2.6.16.46、ターゲットでは 2.6.27.19 を使用しています。これは正確には最新の Linux カーネル/ライブラリではないため、問題になる可能性があります。
もう 1 つの側面は、使用する IO スケジューラです。CFQ は同期 IO を優先しますが、非同期用に調整することもできます。また、IO 優先順位もサポートしています。
まず、IO を実行するときにいくつかの場所を監視することをお勧めします。
- /proc/meminfo - ダーティ ページの傾向を確認する
- echo 1 > /proc/sys/vm/block_dump して syslog を監視すると、誰がいつ書き込みを行っているかがわかります
- sar -dp 1 - デバイスが 100% 使用されているかどうかを確認します
- CD /プロセス; 猫 */ステータス | grep State - ディスク上で誰がブロックされているかを確認する
- /sys/block//queue/iosched - io スケジューラの調整可能変数
于 2010-08-20T17:13:26.037 に答える