最新消息:阿里云双12优惠,史上最低折扣。

如何压测阿里云ESSD云盘性能,附源代码

服务器配置 aliyun 236浏览

2021年阿里云双11高性价比云服务器推荐

阿里云双11活动地址 650元8核16GB云服务器购买地址:点我进入 60元轻量应用服务器购买地址:点我进入 双11新老用户专属代金券领取地址:点我进入(新客,老用户都可以领取) 双11新客专属注册地 … 2021年阿里云双11高性价比云服务器推荐 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

执行结果可能需要等待一会儿,当出现下图所示时,说明运行好了。

转载请注明:小猪云服务器租用推荐 » 如何压测阿里云ESSD云盘性能,附源代码