配置 PowerVM 和 WebSphere Portal 实现动态伸缩

本文将介绍一系列性能指标,这些指标展示了在 IBM AIX® 操作系统上运行 IBM WebSphere® Portal 的 IBM PowerVM® 虚拟机的可伸缩属性。本文使用各种 PowerVM 配置设置来演示当 CPU entitlement 和虚拟 CPU 发生变化时的性能变化。

Hunter Presnall, Portal Performance 团队主管, IBM

http://www.ibm.com/developerworks/i/authors/presnall_hunter.jpgHunter Presnall 是 WebSphere Portal Performance 团队主管。他有着超过 14 年的性能测试和分析经验,致力于 IBM Lotus 已有 5 年,之前一直从事 IBM Connections 和 IBM SmartCloud。



Laura Yen, Portal Performance 分析师, IBM

Laura Yen 是北卡罗来纳州三角研究园 WebSphere Portal Performance 团队的一名性能工程师。她负责 AIX 上所有 Portal 应用的指标测量,并为每个版本的 WebSphere Portal 贡献了调优指南。



2013 年 8 月 05 日

摘要

本文将介绍一系列性能指标,这些指标展示了在 AIX 上运行 WebSphere Portal 的 PowerVM 虚拟机 (VM) 的可伸缩属性。本文简要介绍了 PowerVM CPU entitlement 以及分配虚拟 CPU 的方式。然后,本文介绍了 WebSphere Portal 标准环境。最后,结果表明了当 CPU entitlement 发生更改或者虚拟 CPU (vCPU) 的数量发生更改时 WebSphere Portal 缩放的方式。为了与 capped 的配置相比,还测量了 capped 的配置以及各种配置的一些简单的启动时间测量值。


PowerVM 概念

有关主要的 PowerVM 概念,请参阅以下段落。

CPU entitlement

PowerVM 特有的功能之一就是能够为 VM 提供精确的 CPU 时间。在 PowerVM 中,本文称之为 CPU entitlement。这个概念中隐含的含义是:entitlement 可以被定义为小于一个 CPU。具有部分 entitlement 的 VM 称为微分区。本文提出的一个问题是微分区是否可进行线性缩放;也就是说,运行部分 CPU 是否存在任何开销?

虚拟 CPU

除了指定 CPU entitlement 之外,VM 还必须指定它将使用的 vCPU 数量。无论基础的 CPU entitlement 如何,VM 操作系统都能看到这些 vCPU。

VM 可以拥有高达 10 倍 entitlement 的 vCPU 数量,该数量可四舍五入法调低为整数。必须将 vCPU 指定为整数。例如,entitlement 为 1 的 VM 可以拥有 10 个 vCPU;entitlement 为 0.25 的 VM 只能拥有 2 个 vCPU。此外,VM 必须让每个整数 entitlement 至少拥有 1 个 vCPU。例如,不可能存在拥有 2 个 entitlement 却只有 1 个 vCPU 的情况。

此处令人感兴趣的问题是,多线程工作负载是否能够从拥有 PowerVM 或操作系统管理线程中受益。PowerVM 通过为 VM 计划额外的 vCPU 来管理多线程工作负载。AIX 操作系统在可用的 CPU 线程之间使用上下文切换来处理多个线程。

比较 capped 配置和 uncapped 配置

另一个 PowerVM 功能就是,它允许 VM 在需要时使用更多的 CPU 处理时间。如果一个 VM 在给定的计划间隔内未使用它的 CPU,那么其他 VM 就能够使用这个 CPU 时间进行更多的工作。为了使用额外的处理器周期,VM 必须处于 uncapped 模式,这意味着它可以使用多达 vCPU 数量的 entitlement。例如,在 uncapped 模式下, entitlement 为 0.25 且 vCPU 为 2 的 VM 可以使用多达 2 个 CPU entitlement。如果这个 VM 只有 1 个 vCPU,那么它只能使用 1 个 CPU entitlement。在 capped 式下,相同的 VM 从不会使用大于 0.25 个的 entitlement,无论它的 vCPU 计数如何都是如此。运行另外一组指标是为了测量 vCPU 为 2 的 VM 如何使用不同的 entitlement 和 uncapped 的设置进行缩放。

uncapped 虚拟机使用的额外的 CPU 可以来自其他共享的 CPU VM,也可以来自允许处理器共享的专有 CPU VM。对于专有的 CPU VM,这称之为捐赠(donating)模式。

HMC 中的配置

上述所有设置都是在硬件管理控制台 (HMC) 中该 VM 的 “管理配置文件” 项目下进行管理的。打开一个系统配置文件后,所有与 CPU 相关的设置都位于 Processors 选项卡中。

在专有(dedicated)模式下,VM 无法拥有部分 entitlement。vCPU 的数量将始终与 entitlement 相同。

图 1 中,VM 使用专有的 CPU,没有捐赠。它的 entitlement 为 2 并且将为 AIX 提供 2 个 CPU。

图 1. 专有 CPU VM 的 HMC 配置
图 1. 专有 CPU VM 的 HMC 配置

在共享模式下,必须同时指定 CPU entitlement 和 vCPU 数量。如果该系统没有限制,则应该检查此值。

图 2 中,VM 使用共享 CPU。它是使用 entitlement 0.5 进行设置的,拥有 2 个 vCPU 并且在 capped 模式下运行。

图 2. 共享 CPU VM 的 HMC 配置
图 2. 共享 CPU VM 的 HMC 配置

WebSphere Portal 标准

为了回答上面提出的问题,我们将在 WebSphere Portal 8.0.0.1 上运行一组测量。

配置

对于这个指标,我们安装了一组简单的测试 portlet。这些 portlet 没有对外部数据库、文件或其他系统提出任何请求。按照 Portal 8.0 Tuning Guide 中的指定应用调整,确保预热后通过 WebSphere Portal 进行的数据库访问是最少的。这意味着指标将仅受到 WebSphere Portal 服务器的 CPU 资源的限制。

要模拟真实的客户应用程序,需要在第 2 级层次中的几百个门户页面上安装测试 portlet。每个用户都可以看到 26 个页面。用户信息被存储在未在测试系统上运行的单独的轻型目录访问协议 (LDAP) 服务器中。

进行测试的系统是 IBM Power Systems™ 730,带有以 3.55 GHz 的速度运行的 16 个 CPU。该系统拥有 128 GB 的内存。该系统运行以下 VM:

  • WebSphere Portal 服务器
    • 各种 CPU 配置
    • 16 GB 的内存
    • WebSphere Portal 8.0.0.1 和 IBM HTTP 服务器
    • AIX 7.1 TL1 SP5
  • WebSphere Portal 数据库服务器
    • 1 个专有 CPU
    • 8 GB 的内存
    • IBM DB2® 9.7
    • AIX 7.1 TL1 SP5
  • VIO 服务器
    • 1 个专有 CPU
    • 4 GB memory
    • VIOS 2.2.1.4

WebSphere Portal 服务器和 DB2 服务器都连接到同一个虚拟网络,并且都由虚拟 I/O 服务器 (VIOS) 运行。Portal 和数据库之间的通信从未离开该系统。VIOS 还将每个 VM 的存储区域网络 (SAN) 逻辑单元 (LUN) 显示为 vSCSI 磁盘。

WebSphere Portal 服务器还运行 IBM HTTP 服务器。该服务器被配置为在内存缓存中缓存静态内容。在稳定状态下,对 WebSphere Portal 进行的大多数请求都是针对动态页面的,而非针对 portlet WAR 文件中的静态内容。

对于所有测量,我们都使用相同的 WebSphere Portal VM,并通过改变 HMC 中的配置文件来更改配置,上面已对此进行详细介绍。完成该操作的目的是确保测试的系统相同。请注意,在该系统上进行调整,以便在该系统的最大配置上实现最大吞吐量。对于较小的 VM 配置来说,某些设置可能并不理想,但对于这些标准的目标来说,该设置是可以接受的。

测量场景

使用上述配置,通过 IBM Rational® Performance Tester 来运行一个测量工作负载。该工作负载由通过站点的 5 个不同的路径组成。一个路径未经过身份验证,并且仅访问公共页面。在路径 2 和路径 3 中,用户可以登录并访问任意页面。所有用户都可以看到特定于用户所属组的页面。在第 4 个和第 5 个路径中,用户访问包含 “应用程序” portlet 的页面,这些页面通过模拟购物车应用程序和其他业务流程来提高 CPU 利用率。这些路径有所不同,比如路径 2 和路径 3;一个路径包含所有用户都可以看到的应用程序,另一个路径只包含可应用于用户组的应用程序。

在 Rational Performance Tester 中,该工作负载通过增加虚拟用户的数量不断上升到更高的事务级别。每个级别运行 15 分钟,以确保测量的事务足够用。当任何事务的响应时间超过 1 秒(对于给定的吞吐量级别,这是平均值)时,就会停止测量。 将峰值吞吐量记录为最大值之前的级别;也就是说,当所有响应时间低于阈值时的最后一个点。

Rational Performance Tester 代理全都在运行 Red Hat Enterprise Linux® 6.3 的 IBM System x® 服务器上运行。代理系统通过一个专有的千兆网络(仅用于标准通信)连接到进行测试的系统。


cappede 配置的结果

第一组测量是在各种 capped 的配置上进行的。这意味着提供给 VM 的 CPU 资源在每个标准期间是静态的,而且 可以将每个测量与其他用于伸缩的测量进行比较。

所测试的配置的 entitlement 在 0.25 和 3 之间变化。另外,在可能的情况下,vCPU 的数量也会在 1 和 3 之间变化。这会生成以下测试矩阵:

表 1. 有限制的 CPU 配置的测试矩阵
虚拟 CPU
1 2 3
CPU entitlement 0.25 X X X
0.5 X X X
0.75 X X X
1 X X X
1.5 X X
2 X X
3 X

此外,entitlement 与 vCPU 的比率不可能是 1 比 1,但是 vCPU 与 entitlement 的比率可以是 10 到 1(四舍五入向下取整数)之前的数字。

运行这些测试产生了以下结果:

图 3.capped CPU 结果
图 3. 有限制的 CPU 结果

首先,作为一个整体查看这些结果,WebSphere Portal 几乎是线性缩放的(相对于 entitlement )。这表明当 PowerVM 在微分区上调度部分 CPU 资源时,产生了少量的开销。

但在每个 entitlement 级别内,都有一个因为分配更多 vCPU 而导致的开销。PowerVM 将每个 vCPU 分配给不同的真实 CPU,因此当从 1 个 vCPU 移动到 2 个 vCPU 时会降低性能,因为在多个真实的 CPU 之间移动时,线程的 L2 缓存将会丢失。

但是,使用有限数量的 vCPU 运行不一定表现更好,因为它意味着 uncapped 的配置可能受到限制。


uncapped 的结果

使用 2 个 CPU VM 进行第二组测量。基线测量的 entitlement 为 2 的专有配置。将该配置与可变 entitlement 但 vCPU 的数量固定为 2 的配置进行比较。

因为所有配置都是使用 2 个 vCPU 运行的,因此它们都可以使用 2 个真实 CPU 的资源。因此,它们的吞吐量都应相同。

运行这些测试会产生以下结果:

图 4. 没有限制的 CPU 结果
图 4. 没有限制的 CPU 结果

首先,请注意,专有的 CPU VM 和共享的 CPU VM 具有相同的性能。这表明当移动到共享 CPU 虚拟机时,PowerVM 调度开销差别非常小。

同样,entitlement 为 1.5 且没有限制的 VM 将会如期执行。因为系统上没有其他重要的处理,并且有大量可用的 CPU,PowerVM 可以提前在高峰负载上为该配置提供 2 个 CPU 处理。

另一方面,1 entitlement 配置未如期执行。似乎 当它可以使用资源时,PowerVM 并没有为该配置提供 2 个 CPU。这可能是因为,在没有限制时,entitlement 会被有效地加倍。此处需要进行更多调查,但在部署之前,建议您对没有限制的配置(可大大提高有效 entitlement )进行测试。


WebSphere Portal 启动

令人十分关注的另一个要测量的项目就是 WebSphere Portal 启动所花费的时间。在生产系统中,这个问题并不重要,WebSphere Portal 应该只是偶尔启动。但是,在开发系统或测试系统上,这通常会导致 entitlement 较低,因此,是否使用的 CPU 资源越少,WebSphere Portal 启动所花费的时间就越长,了解这一点非常有用。

启动 WebSphere Portal 所花费的时间是使用 UNIX 的 “time” 命令测量的。直接在 VM 重新启动之后进行启动测量,这是 “冷” 启动,处理器缓存或操作系统的文件缓存中没有任何内容。测量冷启动之后,WebSphere Portal 将会停止,然后再次启动。第二个时间是 “热” 启动时间,该时间应该比预热操作系统的时间要快。

运行这些测试会产生以下结果:

图 5. WebSphere Portal 启动时间
图 5. WebSphere Portal 启动时间

正如预期的那样,WebSphere Portal 启动时间与给出的 CPU 资源呈线性关系。同样如预期的那样,热启动时间比冷启动时间短。

这些结果表明,平均来说需要的总资源较少的系统在 WebSphere Portal 启动时仍然会从更多资源中获益。对于开发和测试计算机,没有限制的分配是非常理想的,因为这意味着它们中有很多配置可以放置在较小的处理器池中,但在需要快速启动 WebSphere Portal 时,仍然会获得 1 个或多个 CPU。


结束语

在 PowerVM 上运行的 WebSphere Portal 的能力与 CPU entitlement 呈线性关系。但是,如果添加更多的虚拟 CPU(超过 entitlement 所需的 CPU),则会有导致性能下降,所以需要谨慎考虑是否需要这么做。

另一个要注意的事项是,虚拟机需要的 CPU 是否偶尔会超过它给出的 CPU。在这种情况下,如果添加额外的 vCPU 并将该配置设置为没有限制,则会允许 VM 使用更多的资源(大于所需的资源)。请注意,这个特殊的指标表明,当没有限制的最大值并不是远远大于基础 entitlement 时,没有限制的模式可能会提供更好的伸缩性。

没有限制的分配还会使 WebSphere Portal 启动时间获益,因为它们允许较小的 VM 尽快访问启动 WebSphere Portal 所需的更大的 CPU 资源。

最后,请注意,此处提供的这些结果是理想案例,因为测试的系统拥有很多可用的 CPU 并且没有资源争用。当使用整个系统时,在共享处理器之间切换工作负载的开销将会非常大。当很多 VM 从其他空闲的 VM 中请求额外的 CPU 周期时,PowerVM 开销可能也会非常高。

参考资料

学习

  • Hypervisors, virtualization, and the cloud: Dive into the PowerVM hypervisor
  • PowerVM overview and introduction
  • WebSphere Portal
  • WebSphere Portal 8.0 Tuning Guide
  • AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
  • AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
  • AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。
  • AIX and UNIX 下载中心:在这里你可以下载到可以运行在 AIX 或者是 UNIX 系统上的 IBM 服务器软件以及工具,让您可以提前免费试用他们的强大功能。
  • IBM Systems Magazine for AIX 中文版:本杂志的内容更加关注于趋势和企业级架构应用方面的内容,同时对于新兴的技术、产品、应用方式等也有很深入的探讨。IBM Systems Magazine 的内容都是由十分资深的业内人士撰写的,包括 IBM 的合作伙伴、IBM 的主机工程师以及高级管理人员。所以,从这些内容中,您可以了解到更高层次的应用理念,让您在选择和应用 IBM 系统时有一个更好的认识。

讨论

  • 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX, WebSphere
ArticleID=939949
ArticleTitle=配置 PowerVM 和 WebSphere Portal 实现动态伸缩
publish-date=08052013