跳转到: 导航, 搜索

GSoC2014/Rally/BenchmarksVirtualMachinesOpenStack

简介

在云环境中托管SaaS应用程序时,基准测试虚拟机变得越来越重要。该项目的目标是将基准测试功能集成到 Rally 项目中,以便能够以简单和自动化的方式运行各种基准测试,从而衡量OpenStack云中部署的虚拟机的性能。

描述

该项目可以分为两个部分。第一部分是开发一种架构(某种框架),该架构定义了一种标准且易于将不同的基准测试移植到Rally的方法。第二部分是利用该框架,移植现有的流行基准测试,这些基准测试用于衡量计算机系统不同方面的性能。

对于第一部分,开发了一个新的基准测试上下文(benchmark_image),它会生成一个安装了运行指定基准测试所需的所有程序的镜像。该上下文从基准测试场景的任务配置文件中获取镜像、flavor以及其他必要信息,并启动虚拟机。然后,使用已经创建的用户及其密钥对和安全组,通过SSH访问虚拟机并执行指定基准测试的设置脚本。设置脚本是一个Bash脚本,用于在虚拟机中安装基准测试(及其依赖项)。最后,该上下文对虚拟机进行快照,并返回新创建的、准备就绪的基准测试镜像的名称。现在,基准测试场景使用上下文返回的镜像来启动虚拟机。它通过SSH访问虚拟机并执行指定基准测试的运行脚本。运行脚本是一个Python脚本,用于执行基准测试并将结果以JSON格式返回。

对于第二部分,由于第一部分中定义的架构,只需要开发安装基准测试的设置脚本,以及执行基准测试并将结果以JSON格式返回的运行脚本。这将为需要移植到Rally以便在OpenStack云的虚拟机中执行的每个可能的基准测试完成。

源代码

在此项目开发期间的官方GSoC期间编写的所有代码。

正在审核

已合并

示例:Blogbench

本示例演示了在OpenStack(版本:Icehouse)云的虚拟机中,使用Rally执行基准测试Blogbench的过程。以下是日志级别设置为警告时的整个过程的输出,以及日志级别设置为调试时的输出。

blogbench-warning

blogbench-debug

在两种输出的末尾,都有一个名为“Scenario Specific Results”的表格,显示了在虚拟机中运行的基准测试的结果。在本例中,设置为仅在虚拟机中执行一次基准测试,因此最大值、平均值、最小值、90百分位数和95百分位数的值相同。Blogbench基准测试输出一个值,对应于在运行5分钟期间从磁盘读取的最终分数,以及写入磁盘的最终分数(数字越大,分数越好)。

注意:在开始时执行的 `rally-tool -r` 命令不是Rally的一部分,而是我在开发过程中用于更快地测试我的工作的一个辅助脚本。它实际上通过硬编码值来自动化在我的测试环境中运行任何Rally基准测试场景所需的步骤。你可以在 这里 找到它。

链接