注意点:在测试nova,在配置文件里面如果不指定网络id,那么默认是外网的网络(该网络是共享的),如果想要指定网络,那么该网络必须是共享的状态,否则将会报错:无法发现网络。如果测试多于50台的虚拟机需要修改默认值,因为默认值是有限制的可用如下命令查看:

[root@rally nova]# nova absolute-limits
+-------------------------+---------+
| Name | Value |
+-------------------------+---------+
| maxServerMeta | 128 |
| maxPersonality | 100 |
| maxImageMeta | 128 |
| maxPersonalitySize | 10240 |
| maxTotalRAMSize | 5120000 |
| maxSecurityGroupRules | 20 |
| maxTotalKeypairs | 100 |
| totalRAMUsed | 58960 |
| maxSecurityGroups | 10 |
| totalFloatingIpsUsed | 0 |
| totalInstancesUsed | 24 |
| totalSecurityGroupsUsed | 1 |
| maxTotalFloatingIps | 10 |
| maxTotalInstances | 200 |
| totalCoresUsed | 51 |
| maxTotalCores | 500 |
+-------------------------+---------+

修改默认值可以在界面,管理员->默认值,进行修改;其次可以在运行nova-api服务的节点上修改配置文件nova.conf

安装rally:

[root@rally nova]#git clone https://github.com/openstack/rally.git 
[root@rally rally]# /usr/bin/easy_install pip (安装pip,有就不需要装了)
[root@rally rally]# mkdir /root/.pip

[root@rally rally]# vim /root/.pip/pip.conf (设置pip源,加快安装速度)
[global]
index-url=http://pypi.douban.com/simple
[root@rally nova]#pip install -U virtualenv 安装虚拟环境(可装可不装,一般为了系统的干净还是装个虚拟环境)
[root@rally nova]#virtualenv .venv
[root@rally nova]#. .venv/bin/activate
[root@rally nova]#yum install gcc-c++      (安装编译工具)
[root@rally nova]#cd rally
[root@rally rally]#./install_rally.sh
....

======================================================================
Information about your Rally installation:
* Method: system
* Database at: /var/lib/rally/database
* Configuration file at: /etc/rally
======================================================================

安装完成,数据库的配置这里暂时没做。

创建一个随便命名的.json格式文件:

这是keystone版本为v2
[root@rally rally]# cat existing.json
{
"type": "ExistingCloud",
"auth_url": 'http://172.16.105.189:35357/v2.0/',
"admin":{
"username": admin,
"password": admin,
"tenant_name": admin
}
}
keystone版本为v3时用以下模板参考https://github.com/openstack/rally/blob/master/samples/deployments/existing-keystone-v3.json
[root@rally rally]# cat existing.json

{
"type": "ExistingCloud",
"auth_url": 'http://ip:5000/v3/',
"region_name": "RegionOne",
"endpoint_type": "public",
"admin":{
"username": "admin",
"password": "xxx",
"project_name": "admin",
"project_domain_name": "default",
"user_domain_name": "default"
 }
}

 

[root@rally rally]# rally deployment create --file=existing.json --name=existing           
+--------------------------------------+----------------------------+----------+------------------+--------+
| uuid | created_at | name | status | active |
+--------------------------------------+----------------------------+----------+------------------+--------+
| 15ef811a-6460-407c-b391-c0f435f1ae54 | 2015-03-05 10:09:36.468176 | existing | deploy->finished | |
+--------------------------------------+----------------------------+----------+------------------+--------+
Using deployment: 15ef811a-6460-407c-b391-c0f435f1ae54


[root@rally rally]# rally deployment check
keystone endpoints are valid and following services are available:
+------------+-----------+-----------+
| services | type | status |
+------------+-----------+-----------+
| ceilometer | metering | Available |
| cinder     | volume   | Available |
| cinderv2   | volumev2 | Available |
| glance     | image    | Available |
| keystone   | identity | Available |
| neutron    | network  | Available |
| nova       | compute  | Available |
| nova_ec2   | ec2      | Available |
| novav3     | computev3 | Available |
+------------+-----------+-----------+

如此便可继续往下进行OpenStack基准测试了。

举个测试启动虚拟机的例子:boot.json文件内容如下:

doc/samples/tasks/scenarios/nova/boot.json

[root@rally nova]# cat boot.json
{
"NovaServers.boot_server": [
{
"args": {
"flavor": {
"name": "m1.large"
},
"image": {
"name": "Windows_Server_2008R2_SP1_Standard_64bit"
},
"nics":[{"net-id": "c7048568-c966-4d57-a927-90dd8830fb96"}],(默认是没有这行的)
},
"runner": {
"type": "constant",
"times": 100, (测试次数100)
"concurrency": 2 (并发数)
},
"context": {
"users": {
"tenants": 3,
"users_per_tenant": 2
}
}
}
]
}
[root@rally nova]# . /root/rally/.venv/bin/activate
[root@rally nova]# rally -v task start boot.json(/root/rally/doc/samples/tasks/scenarios/nova这是当前的目录)

以上的图是测试结果。

当通过rally deployment check检查OpenStack的service状态时,出现__unknown__,这是由于keystone 的service catalog没有返回service name并且rally无法通过type识别service,但此时可以利用rally plugin show api_version,来指定相应的api版本,举个例子:

        # In this example we will launch NovaKeypair.create_and_list_keypairs
# scenario on 2.2 api version.
{
"NovaKeypair.create_and_list_keypairs": [
{
"args": {
"key_type": "x509"
},
"runner": {
"type": "constant",
"times": 10,
"concurrency": 2
},
"context": {
"users": {
"tenants": 3,
"users_per_tenant": 2
},
"api_versions": {
"nova": {
"version": 2.2
}
}
}
}
]
}

相关链接:http://rally.readthedocs.org/en/latest/

https://rally.readthedocs.org/en/latest/tutorial/step_0_installation.html

https://rally.readthedocs.org/en/latest/tutorial/step_1_setting_up_env_and_running_benchmark_from_samples.html

OpenStack Rally 性能测试的更多相关文章

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

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

  2. Mirantis对OpenStack的性能测试:高并发创建75000台虚拟机

    硅谷创业公司Mirantis不久前进行了一项基准测试,测试在OpenStack Havana版本上创建75000台虚拟机的性能数据.就启动时间和成功率而言,当应用250个并发部署75000台虚拟机是最 ...

  3. Linux运维--实践-Rally

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

  4. rally测试opentack------安装部署和简单实践

    1,下载 git clone git://git.openstack.org/openstack/rally 或者 git clone https://git.openstack.org/openst ...

  5. DevOps之平台架构

    唠叨话 关于德语噢屁事的知识点,仅提供精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. DevOps平台架构(Platform Architecture) <虚拟化平台(Platfor ...

  6. 理解 OpenStack + Ceph (8): 基本的 Ceph 性能测试工具和方法

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  7. OpenStack Benchmark - Rally

    作为以基于OpenStack的云平台的基准测试工具 -- Rally, 其功能不仅是测试云的性能&&稳定性, 还可以安装OpenStack,以及以良好的表现形式(web 页面)展现测试 ...

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

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

  9. 我的第二本译作《精通OpenStack》上架啦:书籍介绍和译者序

    1. 书籍简介 英文书名:Mastering OpenStack Second Edition 作者:[德] 奥马尔-海德希尔(Omar Khedher)[印] 坚登-杜塔-乔杜里(Chanda Du ...

随机推荐

  1. spring-cloud-stream消息驱动的微服务

    Spring Cloud Stream 是 一 个用来为微服务应用构建消息驱动能力的框架. 它可以基于Spring Boot 来创建独立的. 可用于生产的 Spring 应用程序. 它通过使用 Spr ...

  2. PAT A1032 Sharing

    题意:给出两条链表的首地址以及若干节点的地址,数据,下一个节点的地址,求两条链表的首个共用节点的地址.如果两条链表没有共用节点,则输出-1.思路步骤1:由于地址的范围很小,因此可以直接用静态链表,但是 ...

  3. PAT A1025 考生排名问题

    题目要求:有n个考场,每个考场有若干个考生,现给出各个考场中考生的准考证号与分数,按照分数从高到低排序,并按顺序输出所有考生的准考证号,排名,考场号以及所在的考场排名 #include<cstd ...

  4. 【Azure 应用服务】备份网站时由于文件太大了,导致应用服务备份失败。如何解决?

    问题描述 备份网站时由于文件太大了,导致应用服务备份失败.如何解决呢? 问题分析 App Service (应用服务)的备份功能有10GB大小的限制,超过了是无法备份成功的并且该限制是无法扩大的.查看 ...

  5. 1025 PAT Ranking

    Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhe ...

  6. 10.for循环

    for循环 语法: for(初始化; 布尔表达式; 更新) { //代码语句 } 初始化最先执行,可以声明一种类型,可初始化一个或多个循环控制变量,也可以是一个空语句. 布尔值判断,为 true 执行 ...

  7. Android埋点技术概览

    注:本文同步发布于微信公众号:stringwu的互联网杂谈Android无埋点技术概览 本文是Android无埋点系列的开篇---埋点技术概览 1 背景 埋点是数据产品经理(分析师)基于业务需求,对用 ...

  8. 通过中转DLL函数实现DLL劫持

    当我们运行程序时,一般情况下会默认加载Ntdll.dll和Kernel32.dll这两个链接库,在进程未被创建之前Ntdll.dll库就被默认加载了,三环下任何对其劫持都是无效的,除了该Dll外,其他 ...

  9. LA2965侏罗纪(异或和为0的最大数字个数)

    题意:       给你n个字符串,让你在里面找到一个字符串集合使得这些字符串中所有的字母出现的次数和为偶数,输出集合的最大个数,和ASCII最小的解. 思路:       考虑到每个字符串中所有的字 ...

  10. OWASP-ZAP扫描器的使用

    目录 OWASP-ZAP 更新 代理 目录扫描 主动扫描(Active  Scan) 扫描结果 生成报告 OWASP-ZAP OWASP Zed攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一 ...