OpenStack测试这个话题,一直以来貌似在国内一直没什么人关注,更多的兄弟还是关注OpenStack哪些功能。最近也有一些基于OpenStack兄弟们的公有云要上线了,终于想起来要做测试了。对于测试这块,国内Intel算最早就把Tempest这个项目搞的风声水起。对于Performance这块,Tempest也支持,但效果如何还没有测试过。应该一年前,Mirantis在这块还是给出了一些比较的建议,后续也起了一个孵化项目Rally做OpenStack性能测试这块。当然,就性能测试这块,OpenStack只能算刚刚起步,但相信测试这块的不断完善也是OpenStack向更加可用迈进的标志。接下来简单讲讲Rally入门。
##Rally结构
##Rally安装
Python项目的安装还是相对比较简单,这里就不详细说明python pip、virtualenv这块。直接进行安装,如有看不懂的,自行学习Python。
注意:
如果你是Mac用户,建议不要在里面试了,巨痛苦,老老实实安装一个虚拟机,开Linux为上(以CentOS 6.5为例).
从github克隆代码:
安装python的依赖包(这里用virtualenv):
rally提供了安装脚本,直接加-v
参数即可。
这样基本的安装就OK了。
##Rally配置和初始化数据库
Rally的配置文件为/etc/rally/rally.conf
,主要需要修改的为数据库连接字段,其它默认即可。
初始化数据库:
##如何使用Rally
Rally的使用,初步看了一下,发现和dashboard很像,需要给出一个KEYSTONE_AUTH_URL,可以对已经部署的OpenStack做测试。当然,根据架构设计来看,貌似Rally还能调用Mirantis Fuel去部署,在测试。这里我仅对已部署的OpenStack环境做一个keystone 创建-删除用户场景做压力测试。
###根据已有的OpenStack环境初始化Rally
根据目前已有的OpenStack环境生成一个如下的json文件,type类型为ExistingCloud
(注意需要用admin的权限):
采用rally的deployment命令根据json文件创建测试环境:
部署完成后可以采用deployment check
进行测试:
如果仅对keystone相关的服务进行测试,如上的配置即可。
##测试案例
先来试一把,用5个并发,100次请求,先压一下keystone,需要从sample中选择需要测试用例的json文件,并修改测试参数如下:
使用rally进行测试:
上面也有输出,省略了输出结果。
查看结果:
可以看到一些详细的数据分析,目前来看,低负载情况下,创建用户相对删除用户要慢一倍左右。
在试试更多的并发和请求数目,这次用100个并发,1000个访问请求,需要修改测试json如下:
使用rally进行测试:
上面也有输出,省略了输出结果。
查看结果:
结果这个惨烈,基本上50%的失败,而且并发大的情况下,平均响应时间大大增加。这样看来keystone面对公有云也表示压力山大!后面会针对这个问题进行一些tunning,敬请期待……
附keystone服务器配置:
blog comments powered by