云计算的关键基础是虚拟化。 面向云的设计人员,开发人员和管理员需要问自己的一个问题是:“虚拟化组件的性能水平如何与其“真实”物理对应物相提并论?” “如果存在负面差距,我该如何克服呢?”
本文介绍了在虚拟机(VM)上运行的IBM®Rational®Performance Tester代理上进行的一系列实验的结果,并提供了有关虚拟与“真实”参数的一些基本见解。
实验背后
我们解释了一系列实验,其中Rational Performance Tester代理在虚拟机上运行,并将这些结果与在非虚拟化硬件上运行相同的测试进行比较。 在检查我们使用的虚拟化环境之前,让我们从使用的术语,使用的方法和结果摘要开始。
术语
简而言之,您将可以通过了解以下术语来进行实验:
-
Rational Performance Tester代理
- 模拟成千上万向服务器发出请求的用户的软件。 Vuser
- 虚拟用户。 每个虚拟用户在测试过程中会模拟许多用户。 正在运行的vuser首先以具有唯一用户身份的脚本执行。 脚本完成后,vuser将选择另一个唯一的用户标识,并作为该新的唯一用户标识再次执行脚本。 只要vuser正在运行,vuser就会重复此过程,以选择新的用户身份并执行脚本。 真正的代理商
- 在非虚拟硬件上运行的RPT代理。 虚拟机
- 虚拟机。 虚拟代理是在VM上运行的RPT代理。 vMotion
- VM管理器将VM映像从一台物理机移动到另一台物理机时。 高原
- 表示测试期间处于活动状态的相同数量的vuser的时间段。 TPS
- 每秒事务数。 TPS和PPS(每秒页面数)可互换使用,以衡量吞吐量。 半虚拟化
- 一种虚拟化技术,向虚拟机提供软件接口,该软件接口与基础硬件的接口相似但不相同。
方法
使用真实的RPT代理和虚拟的RPT代理多次运行相同的性能测试。
性能基准涉及由不同的模拟用户执行的许多不同的HTTP请求。 基准测试和测试中的系统不是本文的重点。 本文的重点是生成模拟负载的RPT代理。
每个测试包含三个模拟2,000个vuser的5分钟运行和三个模拟2,500个vuser的5分钟运行。 每个测试使用真实代理运行两次,使用虚拟代理运行两次。
在每个测试中,有五台运行RPT代理的计算机。 其中一台机器是一台真正的机器,仅运行100个vuser。 那台机器被用作比较点。 它永远不会承受足以导致其资源争用的负载。 但是,它确实运行了足够多的vuser来生成可用的样本量。 这使我们能够将轻负载的真实计算机与重负载的VM和真实计算机进行比较。
在5分钟的运行中进行分析。 3次5分钟的跑步也与15分钟的平稳期相结合。 较长的运行可为每个间隔提供更多的数据点。 数据点越多,平均值的稳定性越高。
我们还进行了一项实验,其中在负载测试期间将虚拟代理从一台物理机移动到另一台物理机。 我们称该过程为vMotion。
总体结果摘要
在最初的一组测试中,虚拟代理报告的响应时间和吞吐量比真实代理报告的响应时间变化更大。 对于具有响应时间标准的基准,这种差异会引起问题。 随后的分析和实验导致VM网络优化设置减少了响应时间的变化。 进行适当的调整后,VM可以充当RPT代理。
迁移虚拟代理(vMotion)的实验显示,在VM移动过程中,报告的响应时