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