今どきのHDDの内周と外周をfioで計測してみる

結構前に試してtwitterに流していたネタを賑やかしにこっちにも投稿する。

HDDの内周と外周で速度が変わるというものがある。円盤なので同じ回転数なら外側のほうがスピードが出るし、同じ1回転なら外側のほうが面積が大きくなるので読み書き性能が良くなるというもの。実際に試したことがなかったのと、最近はどうなんだろうと思っていたところ、fioのoffsetでそれっぽいことができそうなので試した。

自作したNASにあるHDDでシーケンシャルな読み取りを試したところ、外周:202MiB/s、内周:92.6MiB/sだった。思っていたより差が出た。HDDの型番はWD60EZAX。

fioを入れればすぐに試せるコマンド例と計測時のログを貼っておく。

ディスクの内周と外周を測ってみる.sh · GitHub

なお、fio上は内周と外周の概念はなく、offsetの違いをみて判断している。今回であればOffset=0のほうがスループットが出ていたのでこちらを外周としている。(目視で見たわけではないのでもしかしたら内周の結果かもしれないが、offsetで違いが出ているという事実は変わらないので、まぁいいのではないでしょうか。)

また、上記のスクリプトファイルシステムではなくデバイスに対して読み書きをするので、素直に書き込み処理を実行するとファイルシステムメタデータを平気でぶち壊します。注意しましょう(1敗)