#!/bin/sh #sudo curl http://192.168.1.34/fio.nvme.sh | sh #安装依赖 #yum install epel-release -y #yum install dnf -y sudo dnf install -y nvme-cli libaio-devel fio sudo apt install -y nvme-cli fio #以开始时间创建文件夹 dir=fio$(date +%Y%m%d_%H%M%S) mkdir $dir cd $dir #nvme除系统盘全盘测试,测试盘在10块以内 for i in {1..3} do boot_dev=`df| awk '{print $1}' | grep -o "/dev/nvme[0-9]"| sed -n '1p'` for dev in `lsblk | grep nvme | awk '{print($1)}' | grep -v nvme0n1 | grep -v ${boot_dev##/*/}` do { sudo nvme format /dev/${dev:0:5} -n -1 -s 1 -l 1 -r echo "Testing /dev/$dev" sudo fio -name=1Mw -filename=/dev/$dev -bs=1M -numjobs=1 -iodepth=64 -direct=1 -ioengine=libaio -runtime=600s -group_reporting -rw=write > $i,$dev,1Mwrite,out sudo nvme smart-log /dev/$dev | grep "^temperature">> $i,$dev,1Mwrite,out sudo fio -name=1Mr -filename=/dev/$dev -bs=1M -numjobs=4 -iodepth=64 -direct=1 -ioengine=libaio -runtime=60s -group_reporting -rw=read > $i,$dev,1Mread,out sudo nvme smart-log /dev/$dev | grep "^temperature">> $i,$dev,1Mread,out sudo fio -name=4Kw -filename=/dev/$dev -bs=4k -numjobs=1 -iodepth=64 -direct=1 -ioengine=libaio -runtime=600s -group_reporting -rw=randwrite > $i,$dev,4krandwrite,out sudo nvme smart-log /dev/$dev | grep "^temperature">> $i,$dev,4krandwrite,out #sudo fio -name=preconditioning -filename=/dev/$dev -bs=4k --numjobs=1 --iodepth=256 -direct=1 -ioengine=libaio --size=100% --loops=1 --rw=readwrite sudo fio -name=4Kr -filename=/dev/$dev -bs=4k -numjobs=8 -iodepth=64 -direct=1 -ioengine=libaio -runtime=60s -group_reporting -rw=randread > $i,$dev,4krandread,out sudo nvme smart-log /dev/$dev | grep "^temperature" >> $i,$dev,4krandread,out } done done #制作表格 for l in `ls`; do IOPS=$(cat $l | grep "IOPS" | awk '{printf $2}' | cut -d "=" -f 2 | cut -d "," -f 1 ) BW=$(cat $l |grep "IOPS" | awk '{printf $4}'| cut -d "(" -f 2 | cut -d ")" -f 1 ) temperature=$(cat $l |grep "temperature" | awk '{printf $3}' ) lat=$(cat $l |grep "[^a-z]lat.*avg" | awk '{printf $6}' |cut -d "=" -f 2) echo "$l","$BW","$IOPS","$temperature","$lat" >> fio.csv done; #记录nvme信息 nvme list >> fio.csv