问题导读
1、为什么在一个vlan中批量创建200个instance"的成功率非常差?
2、如何提高效率,改变部署模式?
在上一篇:OpenStack压力测试(批量创建200个instance),文中提到"单请求在一个vlan中批量创建200个instance"的成功率非常差,只有36%。 分析代码后,也没有找到好的解决方法,于是改变了下部署方式,即将openstack的各个service尽量单独部署,主要是neutron单独部署在了一个node上,又做了下测试,结果还是不错的。
1. 环境部署
ip地址 部署服务
192.168.xx.x (dashboard,mysql,keystone)
192.168.xx.x (qpid)
192.168.xx.x (glance)
192.168.xx.x (neutron)
192.168.xx.x (nova-api,nova-scheduler,nova-conductor)
192.168.xx.x/x/x/x/x/x/x (共7个计算节点)
2. 测试结果(由于这次测试计算节点较少,于是做了批量创建100台虚拟机的测试)
nova boot --flavor 1 --image 2be29e1f-fd65-44b7-8298-4da22779218e --nic net-id=244c28ab-6aaa-470d-89a9-ace32e6b2b59 --user-data /root/user-data.sh --num-instances 100 dylan
成功率: 100%(创建完成后,通过nmap确认所有ip都是通的)
从上面的测试用例来看:
(1)前一篇文章是将所有的服务都部署在一个节点上,49个计算节点,单请求批量创建100台或200台虚拟机成功率都低的可怜
(2)这篇文章是将服务分散部署,7个计算节点,单请求批量创建100台虚拟机成功率100%
单从结果来看,是把neutron单独分离出来的原因,但是也可能是其他某个服务负载比较重导致neutron得不到足够的资源,至于具体什么原因,正在进行更深入的分析。
|