PCIe SSD卡性能测试方案
1 测试环境准备
1.1硬件环境:
服务器型号HUAWEI RH2288H V2
CPU Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz*2 内存 DDR3 1600MHz RECC 16G*8
系统盘:SATA 1TB*2 7K2转组磁盘阵列RAID 0 测试对象:
SATA硬盘SATA 1TB*2 7K2转组磁盘阵列RAID 0 SSD:宝存Direct-IO PCIe SSD-G2i-1.2T
1.2软件环境:
操作系统:Red Hat Enterprise Linux 6.1 测试软件:fio-2.1.10
1.3测试软件安装:
步骤一:在 http://freecode.com/projects/fio 网站上免费下载该工具的压缩文件。 步骤二:安装编译环境
命令:yum install libaio-devel
步骤三:解压压缩文件并安装 tar -xjvf fio-2.0.10.tar.bz2 cd fio-2.0.10 make
make install
命令(以 fio-2.0.10.tar.bz2 为例)
注意: yum install 和 make install 命令需要 root 权限 yum install libaio-devel tar -xjvf fio-2.0.10.tar.bz2 cd fio-2.0.10 make
make install
2 测试方案
本次测试基于单台服务器安装1张宝存1.2T PCIE SSD闪存卡和本地两块7200转1TB SATA盘做RAID 0做性能对比测试。两种类型的磁盘组都不创建文件系统,采用裸盘测试。
评测存储设备性能的主要三个指标:
读写延迟 (Latency):一次 I/O 操作所耗费的时间 读写带宽(Bandwidth):单位时间内传输的数据量 IOPS:每秒完成的 I/O 操作次数
测试方案通过这三个指标的测试展现宝存Direct-IOTM PCIe SSD 的性能与本地SATA磁盘阵列的测试。
测试 1 - 全盘随机读 测试步骤
步骤一:顺序将盘写满。
fio --name=seqWrite --filename=/dev/dfa --numjobs=1 --bs=128k --ioengine=libaio --iodepth=32 --direct=1 --rw=write --group_reporting --randrepeat=0 以上命令将在整盘顺序写满之后自动退出。
步骤二:执行随机读测试
fio --name=randRead --filename=/dev/dfa --numjobs=1 --bs=4k --ioengine=sync --direct=1 --norandommap --rw=randread --group_reporting --randrepeat=0 --runtime=120
其中,命令中的各项参数解释如下
filename=/dev/dfa测试文件名称,通常选择需要测试的盘或数据目录。 numjobs=1 单进程,可以通过修改此参数改变进程数。 bs=4k block size=4k,数据块大小。
ioengine= sync io引擎,采用 sync 方式
direct=1 测试进程绕过页面缓存,采用 direct 读取方式。
rw=randread全盘随机读,可选随机读写或顺序读写,或只读只写。 runtime=120 测试时间为 120 秒
测试结果
1. 每一项结果列表中包含延迟,对应带宽,及 IOPS,分别以微秒 us (或毫秒ms), MB/s 和 k IOPS为单位
2. 改变以上命令中 --bs=4k 和--numjobs=1 两个参数而得到不同线程和不同block size的结果,步骤一只要执行一次即可,不必每次变动参数测试时都要执行。
BLOCK SIZE 4KB SSD 68us 58MB/s 14.5K 74.9us 205MB/s 52.6K 81us 382MB/s 97K 89us 692MB/s 177K 8KB SSD 80.8us 98MB/s 12.2K 92us 337MB/s 42.9K 100us 616MB/s 78K 113us 1085MB/s 138.9K 154us 1606MB/s 205.9K 32KB SSD 155us 204MB/s 6.3K 181.7us 685MB/s 21.8K 212us 128KB SSD 173us 714MB/s 5.7 309us 线程 延时 SATA 11ms 364KB/s 89 21.7ms 708KB/ms 184 33.9ms 920KB/s 235 56.2ms 1.2MB/s 284 94.4ms 1.4MB/s 338 SATA 11.2ms 736KB/s 89 22ms 1.5MB/s 182 34.2ms SATA 11.4ms 2807KB/s 87 22ms 5.8MB/s 180 34.9ms 7.6MB/s 229 57.9ms 8.8MB/s 276 97.7ms SATA 12msms 10.7MB/s 83 23ms 1 带宽 IOPS 延时 4 带宽 IOPS 延时 1610MB/s 20.1MB/s 12.8K 519us 171 37.7ms 8 带宽 IOPS 延时 1.85MB/s 1160MB/s 233 56.2ms 2.3MB/s 284 94.7ms 2.7MB/s 337 37.3K 298us 1667MB/s 53.3K 520us 1922MB/s 27.1MB/s 15.3K 994.6 212 63.4ms 16 带宽 IOPS 2014MB/s 33.1MB/s 16K 1968us 251 109ms 延时 107.6us 32 带宽 IOPS 1147MB/s 293.6K 1919MB/s 10.4MB/s 2030MB/s 37.3MB/s 61.3K 327 16K 292
测试2 - 全盘随机写(稳态) 测试步骤
步骤一:随机将盘写满 2 遍,达到稳态。
fio --name=precondition --filename=/dev/dfa --numjobs=2 --bs=128k --ioengine=libaio --iodepth=32 --iodepth_batch=16 --iodepth_batch_complete=16 --direct=1 --rw=randwrite --group_reporting --randrepeat=0
以上命令将在随机将 SSD 卡写满 2 遍之后自动退出。根据 SSD 卡容量的大小,耗时长短不一, 2~24 小时不等。如果不想等待如此长的时间,可以将numjobs=2 减少(至少>=2),减少写满盘的次数。该步骤完成后,可以认为 SSD 卡已经处于稳态,只要不进行格式化擦除数据,可以认为其一直处于稳态。
步骤二:开始随机写测试
fio --name=randomWrite --filename=/dev/dfa --numjobs=1 --bs=4k --ioengine=sync
--direct=1--norandommap --rw=randwrite --group_reporting --randrepeat=0 --runtime=120
测试结果
1. 每一项列表中包含延迟,对应带宽,及 IOPS,分别以微秒 us (或毫秒ms), MB/s 和 k IOPS为单位。
2. 改变以上命令中 --bs=4k 和--numjobs=1 两个参数而得到不同线程和不同block size的结果,步骤一只要执行一次即可,不必每次变动参数测试时都要执行。 BLOCK SIZE 4KB SSD 20us 8KB SSD 29us 32KB SSD 98us 128KB SSD 378us 线程 延时 SATA 2379us SATA 2407us SATA 2526us SATA 2915us 1 带宽 IOPS 延时 181MB/s 1.7MB/s 257MB/s 46.3K 46us 419 9.6ms 32.2K 90us 3.3MB/s 320MB/s 12.7MB/s 336MB/s 43.8MB/s 415 9.85ms 10K 323us 395 10.2ms 2.6K 1272us 342 11.7ms 4 带宽 IOPS 延时 337MB/s 1.7MB/s 345MB/s 84.3K 87us 416 19.3ms 43.2K 166us 3.2MB/s 390MB/s 12.4MB/s 400MB/s 43.5MB/s 404 19.6ms 12K 639us 389 20.4ms 3.1K 2432us 340 23ms 8 带宽 IOPS 延时 359MB/s 1.6MB/s 381MB/s 89.9K 164us 413 38.8ms 47.6K 317us 3.3MB/s 399MB/s 12.6MB/s 420MB/s 44.6MB/s 406 38.8ms 12.5K 1221us 392 40.6ms 3.2K 4786us 348 46.2ms 16 带宽 IOPS 385MB/s 1.6MB/s 400MB/s 96.3K 411 50K 3.3MB/s 418MB/s 12.6MB/s 427MB/s 44.3MB/s 412 13K 394 3.3K 346
测试3 - 全盘随机混合读写(稳态) 测试步骤
步骤一:随机将盘写满2遍。
fio --name=precondition --filename=/dev/dfa --numjobs=2 --bs=128k --ioengine=libaio --iodepth=32 --iodepth_batch=16 --iodepth_batch_complete=16 --direct=1 --rw=randwrite --group_reporting --randrepeat=0
以上命令将在随机将 SSD 卡写满 2 遍之后自动退出。根据 SSD 卡容量的大小,耗时长短不一, 2~24 小时不等。如果不想等待如此长的时间,可以将numjobs=2 减少(至少>=2),减少写满盘的次数。该步骤完成后,可以认为 SSD 卡已经处于稳态,只要不进行格式化擦
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库PCIE SSD卡测试方案在线全文阅读。
相关推荐: