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、块设备调度策略=Deadli

