Debian ストレッチで、500GB Samsung SSD 840 の読み取り速度をすべての異なるパーティションで簡単にテストしましたが、結果が理解できません。これまでのところ、ディスクはパーティション スキームについて何も知らないため、ストレージ領域全体である程度一貫したパフォーマンスが得られるはずだと理解しています。ディスクには、過去 3 ~ 4 年の間にすべてのパーティションにデータが書き込まれています。
root@debian9:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 19.4G 0 part
├─sda2 8:2 0 100M 0 part
├─sda3 8:3 0 136.9G 0 part
├─sda5 8:5 0 68.4G 0 part
├─sda6 8:6 0 97.7G 0 part
├─sda7 8:7 0 45.7G 0 part /
└─sda8 8:8 0 97.7G 0 part
また、パーティション (/dev/sda8) でデータを削除し、blkdiscard を実行したところ、このパーティションでの読み取りと書き込みの両方の速度が 100 MB/秒から 500 MB/秒に向上しました。他のパーティションではパフォーマンスの向上は見られませんでした。
テストは hdparm を使用して実行され、ディスクには同時に他の I/O 転送はありませんでした。
root@debian9:~# for i in /dev/sda*
> do
> hdparm -t $i
> done
/dev/sda:
Timing buffered disk reads: 1482 MB in 3.00 seconds = 493.47 MB/sec
/dev/sda1:
Timing buffered disk reads: 1478 MB in 3.00 seconds = 492.19 MB/sec
/dev/sda2:
Timing buffered disk reads: 100 MB in 0.61 seconds = 164.61 MB/sec
/dev/sda3:
Timing buffered disk reads: 410 MB in 3.01 seconds = 136.29 MB/sec
/dev/sda4: No such device or address
/dev/sda5:
Timing buffered disk reads: 272 MB in 3.06 seconds = 88.99 MB/sec
/dev/sda6:
Timing buffered disk reads: 336 MB in 3.00 seconds = 111.83 MB/sec
/dev/sda7:
Timing buffered disk reads: 1456 MB in 3.00 seconds = 484.78 MB/sec
/dev/sda8:
Timing buffered disk reads: 1514 MB in 3.00 seconds = 504.55 MB/sec
この速度の変化については、ディスクに互いに影響を及ぼさない独立した領域があるか何かが原因だと思います。
一方、なぜ blkdiscard は読み取り速度にも大きな影響を与えるのでしょうか?