Linux の Noop I/O scheduler と SSD の相性

Linux Kernel Development (Developer's Library)

Linux Kernel Development (Developer's Library)

P.304

The Noop I/O scheduler's lack of hard work is with reason. It is intended for block devices that are truly random-access,such as flash memory cards.If a block device has little or no overhead associated with "seeking," then there is no need for insertion sorting of incoming requests, and the Noop I/O scheduler is the ideal candidate.
The Noop I/O scheduler lives in block/noop-iosched.c. It is intended only for random-access devices.

を読んでいて、石川さんが書かれていたブログのエントリをふと思い出しました。

Linux I/O Schdulerを noopに変えただけで約5倍のパフォーマンスアップとなりました!

SSDの場合、ディスクヘッドのシークが無いので、何もスケジュールしない noopが有利だと言われていますが、こんなに異なるとは予想外。
リソース消費量についても処理時間を裏付ける結果となりました。

...

今日の結論は、
SSD上のファイルシステムOracleデータファイルを作成する場合は、IO Schedulerは必ず noopで!

Storage, OS and Database: TPC-H Linux I/O Schedulreを変えてビックリ