【OpenStack】Neutron的性能问题

声明:

本博客欢迎转发,但请保留原作者信息!

新浪微博:@孔令贤HW

博客地址:http://blog.csdn.net/lynn_kong

内容系本人学习、研究和总结,如有雷同,实属荣幸!


【背景】

最近在内部的其中一个测试环境上,频繁出现命令行界面上Neutron执行命令卡死,究其原因,发现是因为数据库连接池被占满,导致新的请求引发数据库异常,业务不可用。因为Nova需要与Neutron交互,因此Nova也会出问题。


【分析】
导致连接池被占满的因素有以下几种:
* Neutron接收的并发请求太多(包含直接调用Neutron请求,通过Nova间接调用Neutron请求,Ceilometer调用请求,Neutron内部agent调用请求)
* 数据库连接池数目有限
* port的数目过多,而port租约时间间隔太小,agent上报时间间隔太小,导致Neutron内部agent调用请求过多
* 当前Neutron并没有像其他组件那样可以配置多个worker

【建议考虑的因素】
1、环境可承载的虚拟机个数上限
2、根据虚拟机个数确定网卡数目上限
3、平均并发请求数目(包括:Nova、Ceilometer、第三方发送来的请求,以及Neutron内部agent的请求)
4、网卡的租约时间间隔,agent report的时间间隔
5、是否需要dhcp-agent multi-host部署
6、neutron-server进程是否需要多实例部署

7、资源的配额限制


欢迎讨论!

你可能感兴趣的:(openstack,neutron)