“当前已有100+用户参与分享,共计发放奖励50000+“
通常情况下在进行HCI和EDS的Iometer性能测试时,在测试模板虚拟机ova上已有内置好了,那么今天我们就来看一下这个脚本具体是写了些什么内容,有助于大家加深对性能测试脚本的认识,在一些特殊场景性能测试时也会用到。
进入测试虚拟机,使用右键点击测试脚本选择“Open With Sublime Text”进行查看和编辑
一、脚本函数介绍
1、整个脚本由9个函数组成:
delete_vm() //删除派生的虚拟机(没有用到) derie_vm() //派生测试虚拟机(没有用到)
gsize_to_setor() //将容量GB转化为扇区数 seq_write() //顺序写(预写) do_iometer_test() //执行测试用例
test_single_vm_single_disk() //单虚拟机单磁盘测试模型 test_single_vm_multi_disk() //单虚拟机多磁盘测试模型 test_multi_vm_multi_disk() //多虚拟机多磁盘测试模型
main() //脚本主函数
2、简单看下各个函数里能做什么:
main()主函数定义测试类型:
gsize_to_setor()将得到的容量大小除以512转换为扇区数
seq_write()是为预写函数,将10G的数据顺序写入到所有测试对象中
do_iometer_test()执行测试用例,数据量大小为10G
test_single_vm_single_disk()调用seq_write()函数预写数据,传递参数: vm_num=1 //虚拟机数量为1 disk_num=1 //磁盘数量为1 disk_name=default //虚拟机名称为默认 write_time=4 //写入时间为4分钟
再调用do_iometer_test() 函数进行测试,传递参数: io_mode=“assigned_4KB” //测试模型为4K vm_num=1 //虚拟机数量为1 disk_num=1 //磁盘数量为1 disk_name=default //虚拟机名称为默认 write_time=5 //测试时间为5分钟
test_single_vm_multi_disk()和 test_multi_vm_multi_disk() 的结构大致与上述相同。
3、代码执行逻辑图:
二、测试模型介绍
测试模型中包含“assigned_4KB”、“assigned_8KB”、“assigned_64KB”、“assigned_128KB”、“assigned_1MB”几类模型,那么它们各自是什么测试效果呢?
这边所定义的测试用例其实就是Iometer软件上所定义的测试用例。众所周知,在测试的时候我们选择使用小块的随机读写来测IOPS,大块的顺序读写来测MBPS。
比如下面使用“assigned_4KB”的模型,可以看到在Iometer中测试了三个用例,分别是4K的100%随机写、4K的7:3随机读写、4K的100%随机读。
使用“assigned_1MB”的模型,可以看到在Iometer中测试了四个用例,分别是1M的100%顺序写、1M的5:5随机读写、1M的100%随机读、1M的100%顺序读。
基本上测试用例都分上面两类:
4K、8K、64K的小块测试用例包括三种:100%随机写、随机读写7:3、100%随机读。 128K、1M的大块测试用例包括四种:100%顺序写、随机读写5:5、100%随机读、100%顺序读。
当熟练掌握了上述脚本的模型和参数之后,就可以轻松的搞定所有性能测试模型和场景啦~ 遇到特殊场景时,除了可以修改测试脚本之外,还可以直接打开Iometer软件进行测试哦,具体的软件介绍和步骤可以参考我之前写的帖子~~~
|