作为以基于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与OpenStackKeystone服务进行通信。

    为了方便,(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

注意事项

  1. 虽然Rally作为一个轻量级的服务运行(没有后台进程),仍然建议把Rally运行在一台单独的机器上,

    而不是云系统中的某个物理节点上,这样测试环境不影响测试对象系统。
  2. 如果Rally运行在单独一台机器上,必须事先修改其/etc/hosts文件,使其能够正确解析controller的地址,

    因为我们安装OpenStack的时候,节点之间的通信是通过主机名而不是IP地址,否则测试过程中会出现无法连接的错误。

OpenStack Benchmark - Rally的更多相关文章

  1. OpenStack Rally 质量评估与自动化测试利器

    目录 文章目录 目录 问题描述 Rally 简介 应用场景 应用案例 Rally 安装 Rally 使用 Rally 架构 Rally Plugin 分析与实现 程序入口 执行 rally task ...

  2. OpenStack Rally 性能测试

    注意点:在测试nova,在配置文件里面如果不指定网络id,那么默认是外网的网络(该网络是共享的),如果想要指定网络,那么该网络必须是共享的状态,否则将会报错:无法发现网络.如果测试多于50台的虚拟机需 ...

  3. Single Vendor Project in OpenStack

    1.astara: ptl: name: Ryan Petrello irc: ryanpetrello email: ryan.petrello@dreamhost.com irc-channel: ...

  4. Linux运维--实践-Rally

    1.rally简介 OpenStack Rally 是一个自动化测试工具,社区希望通过 Rally 来解答 "How does OpenStack work at scale?(如何规模化运 ...

  5. 超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云

    CERN:欧洲核子研究组织 本文根据以下几篇文章整理而来: https://www.openstack.org/summit/tokyo-2015/videos/presentation/unveil ...

  6. RedHat 和 Mirantis OpenStack 产品的版本和功能汇总和对比(持续更新)

    Mirantis 和 Red Hat 作为 OpenStack 商业化产品领域的两大领军企业,在行业内有重要的地位.因此,研究其产品版本发布周期和所支持的功能,对制定 OpenStack 产品的版本和 ...

  7. OpenStack 企业私有云的若干需求(6):大规模扩展性支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  8. [译] OpenStack Liberty 版本中的53个新变化

    一个新的秋季,一个新的OpenStack 版本.OpenStack 的第12个版本,Liberty,在10月15日如期交付,而且目前发行版本已经备好了.那么我们期望能从过去六个月时间的开发中获得些什么 ...

  9. 全解┃OpenStack Newton发布,23家中国企业上榜(转载)

    (转载自Openstack中文社区) 陈, 翔 2016-10-8 | 暂无评论 美国奥斯汀时间10月6日(北京时间6日24点),OpenStack Newton版本正式发布,在可扩展性.可靠性和用户 ...

随机推荐

  1. docker attach 和 docker exec

    docker attach docker attach -- Attach to a running container. 常用选项: --sig-proxy=true:Proxy all recei ...

  2. Android6.0 org.apache.http.util.EncodingUtils等相关类被移除(转)

    ref: Android6.0 org.apache.http.util.EncodingUtils等相关类被移除 - 博客频道 - CSDN.NEThttp://blog.csdn.net/u012 ...

  3. Windows环境下,将Django部署到Apache Web Server

    在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. 环境搭建                                   ...

  4. HDU--4705

    题目: Y 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705 分析:树形dp的思想,枚举中间点. #include<iostream> ...

  5. lumen 使用 laravel-cors 的时候, 使用 dd 函数的解决方法

    if (! function_exists('dd')) { /** * Dump the passed variables and end the script. * * @param mixed ...

  6. word2vec原理CBOW与Skip-Gram模型基础

    转自http://www.cnblogs.com/pinard/p/7160330.html刘建平Pinard word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量 ...

  7. numpy二进制转换和范围缩放

    numpy二进制转换和范围缩放 觉得有用的话,欢迎一起讨论相互学习~Follow Me 一维二进制转换 import numpy as np # 一维二进制数组转换 a=np.array([0,1,1 ...

  8. layoutSubviews何时被调用

    layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubviews 但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时, ...

  9. Mac下Clang编译libcurl

    使用终端进入curl的根目录下,执行 ./configre CC=clang make make install 之后前往/usr/local/lib下生成了libcurl.a和相应的动态库,头文件在 ...

  10. JAVA核心技术I---JAVA基本程序设计结构

    一:讨论一个简单的Java程序 package hello; public class Hello { /** * @param args */ public static void main(Str ...