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版本正式发布,在可扩展性.可靠性和用户 ...
随机推荐
- 出错:ORA-20000: ORU-10028: line length overflow, limit of 255 bytes per line?
起因:DBMS_OUTPUT.put(V_SQL) 提示太长错误,设置了buffer=>null 和set 长度都不行 解决方法如下: testxx.debug_print(V_SQL); -- ...
- 【bzoj4542】 Hnoi2016—大数
http://www.lydsy.com/JudgeOnline/problem.php?id=4542 (题目链接) 题意 给出一个素数$P$,一个数串$S$,$m$个询问,每次询问区间$[l,r] ...
- Reactor模式,或者叫反应器模式 - 为什么用多路io复用提供吞吐量
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些.通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或 ...
- Android Intent 总结
//打开指定网页Intent intent = new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.goo ...
- go递归打印指定目录下的所有文件及文件夹
func treedir(fpath string){ // 获取fileinfo if finfo,err := os.Stat(fpath); err == nil { // 判断是不是目录 如果 ...
- openwrt<转载--openwrt框架分析 >
这次讲讲openwrt的结构. 1. 代码上来看有几个重要目录package, target, build_root, bin, dl.... ---build_dir/host目录是建立工具链时的临 ...
- etcd基本操作
目录 概述 安装etcd 使用etcdctl操作etcd 数据库操作 非数据库操作 使用curl操作etcd 概述 etcd是一个用于共享配置和服务的高可用键值存储系统,由CoreOS使用开发并作为C ...
- python---权限管理和菜单生成
一:表结构(共八张表) from django.db import models # Create your models here. class User(models.Model): userna ...
- CF&&CC百套计划3 Codeforces Round #204 (Div. 1) E. Jeff and Permutation
http://codeforces.com/contest/351/problem/E 题意: 给出一些数,可以改变任意数的正负,使序列的逆序对数量最少 因为可以任意加负号,所以可以先把所有数看作正数 ...
- Java事件基础
package cn.Douzi.Event; import javax.swing.*; import java.awt.*; import java.awt.event.*; public cla ...