年阿里云高性价比云主机推荐
阿里云活动地址 650元8核16GB云主机购买地址:点我进入 60元轻量应用主机购买地址:点我进入 新老客户专属优惠券领取地址:点我进入(新客,老客户都可以领取) 新客专属注册地 … 年阿里云高性价比云主机推荐 Read More »
阿里云ESSD云盘性能非常强悍,那么我们该怎么对其做压测出他的最强性能呢?下面就让站长给大家演示下。
ESSD压测环境及工具
云主机:华东1 16核64GB G7,100M按流量付费带宽,系统盘500GB ESSD PL1。
压测盘:2TB ESSD PL3;理论IOPS:10.42W,理论吞吐:1000MB/s。
操作系统::Centos 7.9
压测工具:fio
ESSD压测环境及工具配置
yum install libAIo -y yum install libaio-devel -y yum install fio -y
在云主机上安装fio依赖及fio工具。
ESSD压测脚本
function RunFio { numjobs=$1 # 实例中的测试线程数,例如示例中的10 iodepth=$2 # 同时发出I/O数的上限,例如示例中的64 bs=$3 # 单次I/O的块文件大小,例如示例中的4k rw=$4 # 测试时的读写策略,例如示例中的randwrite filename=$5 # 指定测试文件的名称,例如示例中的/dev/vdb nr_cpus=`cat /proc/cpuinfo |grep “processor” |wc -l` if [ $nr_cpus -lt $numjobs ];then echo “Numjobs is more than cpu cores, exit!” exit -1 fi let nu=$numjobs+1 cpulist=”” for ((i=1;i<10;i++)) do list=`cat /sys/block/vdb/mq/*/cpu_list | awk ‘{if(i<=NF) print $i;}’ i=”$i” | tr -d ‘,’ | tr ‘n’ ‘,’` if [ -z $list ];then break fi cpulist=${cpulist}${list} done spincpu=`echo $cpulist | cut -d ‘,’ -f 2-${nu}` echo $spincpu fio –ioengine=libaio –runtime=30s –numjobs=${numjobs} –iodepth=${iodepth} –bs=${bs} –rw=${rw} –filename=${filename} –time_based=1 –direct=1 –name=test –group_reporting –cpus_allowed=$spincpu –cpus_allowed_policy=split } echo 2 > /sys/block/vdb/queue/rq_affinity sleep 5 RunFio 10 64 4k randwrite /dev/vdb
上述代码最后一行:RunFio 10 64 4k randwrite /dev/your_device中的10、64、4k、randwrite可根据自己的实际情况进行修改。
10代表实例中的测试线程数 64代表同时发出I/O数的上限 4k代表单次I/O的块文件大小 randwrite代表测试时的读写策略
站长这边的压测盘系统内识别为/dev/vdb,所以脚本内部直接写了/dev/vdb。你们需要按照自己的实际情况修改为真实的硬件信息。修改完成后将上述代码保持为110w.sh。
以上脚本来自阿里云文档:https://help.aliyun.com/knowledge_detail/65077.html
开始ESSD压测
sh 110w.sh
执行结果可能需要等待一会儿,当出现下图所示时,说明运行好了。