OpenStack Benchmark - Rally
作为以基于OpenStack的云平台的基准测试工具 -- Rally, 其功能不仅是测试云的性能&&稳定性,
还可以安装OpenStack,以及以良好的表现形式(web 页面)展现测试结果。
关于Rally的更多介绍可以参考 Rally wiki。
- Rally 安装
git clone https://github.com/stackforge/rally.git && cd rally
./install_rally.sh --target /home/rally #install Rally in a virtualenv in /home/rally
- Rally 初始化
可以把Rally理解为OpenStack
的一个client,首先是通过设置一些环境变量使client与OpenStack
的Keystone
服务进行通信。
为了方便,(1)可以把这些变量放到一个脚本文件中,该脚本文件一般称为openrc 文件,比如:
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://[KeystoneService_Host_IP]:35357/v3
也可以(2)把这些变量存放到一个json文件中:
{
"type": "ExistingCloud",
"auth_url": "http://[KeystoneService_Host_IP]:5000/v2.0/",
"region_name": "RegionOne",
"endpoint_type": "public",
"admin": {
"username": "admin",
"password": "password",
"tenant_name": "demo"
},
"https_insecure": False,
"https_cacert": "",
}
创建测试环境:
rally deployment create --filename xxx.json --name existing
或者
. openrc admin admin
rally deployment create --fromenv --name=existing
完成之后,可以通过rally deployment check/list/destroy
命令检查测试环境是否成功等其他事情。
- Rally 测试
Rally本身提供了丰富的测试用例,保存在samples/tasks/scenarios/
目录下。我们可以按照自己的需求方便地扩展用例,将测试用例以JSON的格式保存。
rally task start samples/tasks/scenarios/nova/boot-and-delete.json
一个一个执行比较慢,如果想一次性执行完,可以参考下面的脚本让多个脚本自动运行。
CASESDIR="/home/rally/testCases"
RESULTDIR="/home/rally/testResults"
for myfile in ${CASESDIR}/*; do
myfile_name=$(basename -s .json "$myfile")
sleep 5
rally -v task start $myfile > $RESULTDIR/$myfile_name.result
sleep 10
done
注意事项
- 虽然Rally作为一个轻量级的服务运行(没有后台进程),仍然建议把Rally运行在一台单独的机器上,
而不是云系统中的某个物理节点上,这样测试环境不影响测试对象系统。- 如果Rally运行在单独一台机器上,必须事先修改其
/etc/hosts
文件,使其能够正确解析controller
的地址,
因为我们安装OpenStack的时候,节点之间的通信是通过主机名而不是IP地址,否则测试过程中会出现无法连接的错误。
OpenStack Benchmark - Rally的更多相关文章
- OpenStack Rally 质量评估与自动化测试利器
目录 文章目录 目录 问题描述 Rally 简介 应用场景 应用案例 Rally 安装 Rally 使用 Rally 架构 Rally Plugin 分析与实现 程序入口 执行 rally task ...
- OpenStack Rally 性能测试
注意点:在测试nova,在配置文件里面如果不指定网络id,那么默认是外网的网络(该网络是共享的),如果想要指定网络,那么该网络必须是共享的状态,否则将会报错:无法发现网络.如果测试多于50台的虚拟机需 ...
- Single Vendor Project in OpenStack
1.astara: ptl: name: Ryan Petrello irc: ryanpetrello email: ryan.petrello@dreamhost.com irc-channel: ...
- Linux运维--实践-Rally
1.rally简介 OpenStack Rally 是一个自动化测试工具,社区希望通过 Rally 来解答 "How does OpenStack work at scale?(如何规模化运 ...
- 超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云
CERN:欧洲核子研究组织 本文根据以下几篇文章整理而来: https://www.openstack.org/summit/tokyo-2015/videos/presentation/unveil ...
- RedHat 和 Mirantis OpenStack 产品的版本和功能汇总和对比(持续更新)
Mirantis 和 Red Hat 作为 OpenStack 商业化产品领域的两大领军企业,在行业内有重要的地位.因此,研究其产品版本发布周期和所支持的功能,对制定 OpenStack 产品的版本和 ...
- OpenStack 企业私有云的若干需求(6):大规模扩展性支持
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- [译] OpenStack Liberty 版本中的53个新变化
一个新的秋季,一个新的OpenStack 版本.OpenStack 的第12个版本,Liberty,在10月15日如期交付,而且目前发行版本已经备好了.那么我们期望能从过去六个月时间的开发中获得些什么 ...
- 全解┃OpenStack Newton发布,23家中国企业上榜(转载)
(转载自Openstack中文社区) 陈, 翔 2016-10-8 | 暂无评论 美国奥斯汀时间10月6日(北京时间6日24点),OpenStack Newton版本正式发布,在可扩展性.可靠性和用户 ...
随机推荐
- docker attach 和 docker exec
docker attach docker attach -- Attach to a running container. 常用选项: --sig-proxy=true:Proxy all recei ...
- Android6.0 org.apache.http.util.EncodingUtils等相关类被移除(转)
ref: Android6.0 org.apache.http.util.EncodingUtils等相关类被移除 - 博客频道 - CSDN.NEThttp://blog.csdn.net/u012 ...
- Windows环境下,将Django部署到Apache Web Server
在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. 环境搭建 ...
- HDU--4705
题目: Y 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705 分析:树形dp的思想,枚举中间点. #include<iostream> ...
- lumen 使用 laravel-cors 的时候, 使用 dd 函数的解决方法
if (! function_exists('dd')) { /** * Dump the passed variables and end the script. * * @param mixed ...
- word2vec原理CBOW与Skip-Gram模型基础
转自http://www.cnblogs.com/pinard/p/7160330.html刘建平Pinard word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量 ...
- numpy二进制转换和范围缩放
numpy二进制转换和范围缩放 觉得有用的话,欢迎一起讨论相互学习~Follow Me 一维二进制转换 import numpy as np # 一维二进制数组转换 a=np.array([0,1,1 ...
- layoutSubviews何时被调用
layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubviews 但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时, ...
- Mac下Clang编译libcurl
使用终端进入curl的根目录下,执行 ./configre CC=clang make make install 之后前往/usr/local/lib下生成了libcurl.a和相应的动态库,头文件在 ...
- JAVA核心技术I---JAVA基本程序设计结构
一:讨论一个简单的Java程序 package hello; public class Hello { /** * @param args */ public static void main(Str ...