存儲相關 HDD硬碟 SSD硬碟
SSD:接口:SATA PCIe
協定:AHCI NVMe
SATA支援trim NVMe支援Deallocate 若是接口是SCSI,則是UNMAP。
trim隻是用于在作業系統删除一個檔案時,告訴SSD,這些空間可以回收了,不會強制SSD進行回收,看SSD的設定是不回收,還是延遲回收。
假設接口為SATA,那麼可以手動運作fstrim -a -v來告訴SSD哪些空間可以回收。還可以在/etc/fstab中加上discard選項來開啟trim.
硬碟I/O測試:
1.用dd指令做簡單測試 iflag=direct這個選項是為了跳過buffer,直接對硬碟進行讀寫。配合iostat -d -k 2 可以檢視時實的讀寫速率,及每秒的IO次數
讀:time dd if=./test of=/dev/null bs=2k count=1M iflag=direct
寫:time dd if=/dev/zero of=./test bs=2k count=1M oflag=direct
2.用fio做詳細測試 : https://www.linuxidc.com/Linux/2017-04/143251.htm
随機寫: fio -filename=./test -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-write
随機讀: fio -filename=./test -iodepth=64 -ioengine=libaio -direct=1 -rw=randread -bs=4k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-read