為什麼同一個 SSD 的讀取速度差異很大?

為什麼同一個 SSD 的讀取速度差異很大?

在 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 對讀取速度的影響如此之大?

相關內容