在 Debian 延伸中,我對 500GB 三星 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,該分區的讀寫速度從 100MB/秒提高到 500MB/秒。我沒有註意到其他分區的性能有任何改進。
測試是使用 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 對讀取速度的影響如此之大?