问题导读
1、测试openstack,需要准备哪些条件?
2、有哪些重要的几个配置需要修改?
3、批量创建的命令是什么?
从网上很容易的就能看到大家在讨论openstack的各种问题,其中比较典型的就是neutron的问题,比如dhcp_agent在负载比较重的情况下,部分虚拟机就会的得不到ip或者直接ERROR,一直也想测试下openstack到底有多差,但是真没想到结果会有这么差!
1. 环境部署
a. 50个node -- openstack havana(其中49个做为compute node,剩余一个部署除compute之外的其他服务)
b. l2_agent采用了open vswitch
c. 网络模式采用vlan
注:
(1)可能有人会质疑,需要把服务分开部署,需要部署多dhcp agent,但是请大家注意,我这就是在50个物理节点单租户创建同一个vlan的200个instance,貌似不能多dhcp_agent吧,而且这也不算多么大的压力(其实100个instance也测过,结果一样的差),openstack简单部署如果连这个压力都扛不住,整天还一个劲的吹啥,根本就是个玩玩的东西!
(2)这么部署,也是想看看简单部署的到底瓶颈在哪,然后再一点点的去优化
(3)50个节点配置还是比较好的,配置为:24核,64G内存,10Gb网卡
2. 重要的几个配置
(1)dhcp_agent.ini修改了如下两处:
resync_interval = 60 (默认为5) num_sync_threads = 4(采用了默认值,貌似最大为4,超过4 会报错)
(2)neutron.conf修改了如下两处:
api_workers = 24(默认为0) dhcp_lease_duration = 86400
3. 测试用例及结果
(1)200个request,每个request创建1个instance(for循环的测试脚本)
响应时间:9m46.863s,即3s/req(每请求)
成功率: 100%(成功创建了200个instance,全部获得了ip,全部处于Active状态)
(看到这个结果感觉还不错,悲剧下面就来了!)
(2)1个request,批量创建200个instances
- time nova boot --flavor 2 --key_name user1_key --image rhel-6.4 --nic net-id=bf3208f1-71a2-4da7-b789-829787c8fcde --user-data /root/scripts/user-data.sh --num-instances 200 dylan
复制代码
响应时间:22.733s
成功率: 36% (200个instance,73个获得ip并处于Active,后面给出了详细结果)
4. 问题原因
失败的原因主要是:Timeout: Timeout while waiting on RPC response - topic: "q-plugin", RPC method: "get_dhcp_port" info: "<unknown>"
暂时还没有想到好的解决方法,只想详细的分析下代码,还请各位大小不吝指教!
复制代码
|