openstack性能测试用例和测试结果,openstack性能测试


之前分享过kvm性能优化方案,http://blog.csdn.net/beginning1126/article/details/41983547这篇文章,今天将在实验室测试的测试用例和测试结果分析一并贡献出来,有这方面研究的同学可以参考一下。

云平台回归测试数据分析

1.1.  Cpu不同绑定策略对比测试

测试过程:在单台host上起一台vm,8核cpu,cpu采用不同的绑定策略。在vm上部署tomcat作为web server,用apache ab命令跑并发,并将8核cpu全部跑满,测试文件为动态小文件,得出并发量、响应时间。通过大量的矩阵运算,得出cpu运算量

分析不同绑定策略对8核cpu vm的影响如何。

序号

cpu绑定策略

并发量

运算量

响应时间(ms

1

kvm默认

185.55

107

5.389

2

将8核cpu绑定到不同的node上

154.3

64

6.481

3

将8核cpu绑定到同一个node上的不同core上

200.2

108

4.995

4

将8核cpu绑定到同一个node的同一个core上

142.99

55

6.993

分析:从测试结果来看,绑到同一个node的不同core上其cpu性能是最好的。同一个node上会共享l3 cache,而一个core上的两个超线程,是虚拟出来的2个cpu,存在竞争关系,所以绑到同一个core上,性能反而会下降。

结论:将cpu帮到同一node的不同core上,性能最优。

1.2.  Host和vm cpu性能对比测试

测试过程:在单台host上分别启用不同数量不同核数的vm,并通过cpu pinning技术优化cpu性能。在vm或host上部署tomcat作为web server,用apache ab命令跑并发,并将cpu全部跑满,测试文件为动态小文件,得出并发量、响应时间。通过大量的矩阵运算,得出cpu运算量

序号

测试环境

并发量

响应时间(ms

Cpu运算量

1

1台32核host

573.93

1.742

249

2

1台32核vm

544.07

1.838

235

3

2台16核vm

518.93

1.927

 

4

4台32核vm

545.61

1.833

 

分析:hostcpu频率为2.4G Hz,理论计算值为2.4*8*16=307,host计算效率为249/307=81%,32核vm计算效率为235/307=76.5%,相差大约4.5%。并发量相差大约5.2%,响应时间相差大约5.2%

结论:通过cpu pinning技术,优化后的vm cpu性能和host相比,大约会有5.2%的损耗。

1.3.  Host和vm 内存性能对比测试

测试过程:分别在32核host和32核vm上内存性能测试,vm上打开透明大页和关闭内存碎片整理,测试内容为数组的拷贝、加法、乘法、加法和乘法结合,得出内存带宽。

序号

测试环境

Copy(MB/s)

Scale(MB/s)

Add(MB/s)

Triad(MB/s)

1

1台32核host

44052.5

44504.5

50850.5

50580.2

2

1台32核vm

44293.7

44437.7

50450.9

50610.0

分析:测出的内存带宽是瞬时值,所以上下会有些波动,从测试数据来看,host和vm内存性能不相上下。

结论:vm内存性能几乎没有损耗。

 

1.4.  Host和vm磁盘性能对比测试

测试过程:分别在host、vm(镜像格式分别为raw和qcow2)和单台host上的10台vm(镜像格式为qcow2)跑iops,得出randwrite、randread、write、read的iops。Vm磁盘优化策略包括virtio、缓存模式=none、aio=native、块设备调度策略=Deadline

序号

测试环境

Randwrite

Randread

Write

Read

1

Host

789

1146

35879.4

26886

2

Vm raw

775

2840

35909

26526

3

Vm qcow2

898.6

1958

9269.8

9846

4

10台vm qcow2

618

1929

34417

17678

分析:镜像格式为raw的vm,其性能和host性能几乎没有差别。镜像格式为qcow2的vm,其随机读写性能和host相比略好(由于qemu有cache缓存,所以iops相对会高些),但是顺序读写性能很差。如果单台host上的10台vm同时操作fio,得出iops的和,顺序读写性能会有很大程度的提升。而且这也比较符合实际云计算应用场景。

raw镜像虽说性能很好,但是不具备伸缩和快照功能,虚机的创建和迁移都要花费大量时间,不适用于线上实际云环境的使用。建议采用qcow2。

结论:采用qcow2作为磁盘镜像格式,随机读写性能和host相比差别不大,顺序写损耗4%,顺序读损耗34.2%

 

1.5.  Host和vm网络性能对比测试

测试过程:通过qperf测试host和vm(包括fixed ip和floating ip)带宽和延时,在host和vm上部署nginx做web server,10k的静态文件,用apache ab命令跑并发,得出并发量。网络优化策略包括virtio和vhost

序号

测试环境

吞吐量(MB/sec

延时(us)

并发量

1

Host

117

60.46

10832

2

Vm fixed ip

117

100.7

8634.2

3

Vm floating ip

114

105.53

8496.2

分析:吞吐量基本没有损耗,vm fixed ip会增加40us的延时,vmfloating ip会增加45us的延时,由于floating比fixed多了个nat转换,性能会略有损耗。

结论:吞吐量基本没有损耗,延时增加40~45us,其中nat会增加5us延时,后续会继续尝试SR-IOV进行延时优化。


相关内容