IBM Rational CM Server for Rational ClearCase Remote Client and ClearQuest Web
在 WAN 性能、可靠性以及可伸缩性方面的功能改进
 

2010-01-15 作者:Yuhong Yin, Knut Radloff, Grant Covell, David Li 来源:IBM

 
本文内容包括:
本文讨论了 IBM® Rational® ClearCase® 以及 Rational® ClearQuest® CM Server 在 7.1.0.2 版本上更改之后所获得的性能、可靠性以及可量测性方面的改善。

引言

随着对软件使用效率增加的要求越来越高,有效地遵循这个步骤变得也越来越重要。软件过程的效率性能提高了产品的质量以及投资者的满意度。

本文讨论了 IBM® Rational® ClearCase® 以及 Rational® ClearQuest® Change Management (CM)Server 在 7.1.0.2 版本上更改之后所获得的性能、可靠性以及可量测性方面的改善。提供的信息为早期版本的 Rational ClearCase Remote Client 以及 ClearQuest Web 带来升级到 7.1.0.2 的方便之处。

在 Rational ClearCase 以及 ClearQuest 7.1.0.2 中的修复以及特性

  • 添加的 IBM HTTP 服务器支持的 ClearCase Remote Client/CM Server 负荷平衡

    除了 IBM® WebSphere® Application Server Network Deployment Edge Component 在 7.1 版本中与 CM 服务器的负载平衡,ClearCase Remote Client 和 CM Server 负载平衡可以在 IBM® HTTP Server 中完成,该服务器存在于 Rational ClearCase 以及 ClearQuest 软件中。

    如果您想要得到关于 ClearCase Remote Client 和 CM Server 与 ClearCase Remote Client 的 HTTP 服务器的负载平衡的更多配置信息,您可以查看 IBM Technote 1377474

  • 执行下载 cleartext 的压缩操作。

    载入一个 ClearCase Remote Client 视图,或者升级到 ClearCase Remote Client 视图,一般是最常用的 ClearCase Remote Client 操作。花在这种类型操作上的时间,包含了计算载入什么以及转移什么文件的时间。转移文件的时间要比计算内容的时间长的多。压缩下载的 cleartext 导致了 ClearCase Remote Client 视图载入的时间或者更新 WAN 连接的时间平均增加了 30%。要注意的一件事,是下载内容的大小就是决定加速的主要因素。这就是说,下载的内容越大,速度就越快。

  • 加速同步数据转移到 CM 服务器中

    异步数据转移的使用需要大量的缓冲器,以通过 TCP/IP 连接来发送数据。可能会在转移文件时发生这种情况,但是当 CM 服务器所在的 IBM® WebSphere® Application Server 产生正常的响应时,也会发生这种情况。在 7.1.0.2 版本中,CM 服务器会通过设置 WAS 属性,来强制同步数据的转移:com.ibm.ws.webcontainer.channelwritetype=sync.=

    这就释放了 WebSphere 程序-变更管理员服务器中使用的大量本地内存,而这正是 CM 服务器 7.1.0.0 以及 7.1.0.1 版本中经常观察到的问题。

  • 优化一些经常使用的 CM 服务器代码路径,以提高性能、可靠性以修复内存泄漏问题

    CM 服务器结构包含了多层,就像在一个典型的 Java™2 Platform、Enterprise Edition (J2EE)程序,例如 servlet、Enterprise JavaBeans™、 Java™Connector 结构(J2C)连接等等中所看到的那样。但是,层状的执行会出现诸如代码复杂性、数据积累以及调试困难之类的各种问题。在 7.1.0.2 版本中,我们从访问栈中删除了一层,这就在长远问题上解决了 JVM 堆积 OutOfMemory 问题或者过重的测试场景问题,并使性能、可靠性以及交易时间上有了很大的提高。

  • 修复 CM API 代码以及 ClearQuest Web 代码中出现的内存泄漏问题以及死锁问题。

    ClearQuest Web 5 用户尽可能快的测试,会在 CM API 代码中显示死锁的情况。这种问题是从缩小同步化访问调用的范围来处理的。

    ClearQuest Web 130-用户会在 CM API 代码和 ClearQuest Web 代码中显示内存的泄漏问题,这个问题已经得到了修复。

  • 修复高共时负载测试场景期间过剩 CCRPC 过程创建的问题。

    在 CM 服务器生命周期管理规则中存在一个缺陷,这个缺陷导致了多用户、高负载 ClearCase Remote Client 测试场景中的 CM 服务器中出现的过剩的 ClearCase RPC (CCRPC)过程以及 OutOfMemory 错误。这种规则得到了改进,以在决定系统是否有能力分配新系统时,考虑进所有已知的 CCRPC 过程。如果系统资源有限,或者达到了容量 MBean 属性,那么 CM 服务器会显示出“服务器繁忙”的错误。等待一段时间,并重新执行这种操作。

  • 通过增加数据转移快的大小,来提高 ClearCase Remote Client 检入以及 AddToSourceControl(mkelem)的性能。

    对于 ClearCase Remote Client 检入以及 AddToSourceControl mkelem )操作,从请求插座到末端中的流数据会涉及到多个线程。每一个“块”都会只激活一次。通过增加数据转移快的大小(从 1000 字节到 32K),因此降低了内容切换频率,因而系统的性能得到了很大的提高。

  • 交付 CM Server Administration GUI

    CM Server Admin GUI 为监视以及管理 CM 服务器行为,乃至报告活性 ClearCase Remote Client 用户和 ClearCase Web 活性用户,提供了一种基于浏览器的工具。这种工具可以在没有任何脚本的情况下,轻松更改 CM Server MBean 属性。

    对于 CM Server Administration GUI 的更多信息,您可以查看 IBM Technote 1377925

这些更改,合在一起,会提高 CM 服务器的性能、可靠性以及实用性。查看 比较 ClearCase Remote Client 7.1.0.0 版本以及 7.1.0.2 版本的范例测试数据 以及 7.1.0.2 版本之间 ClearQuest Web 范例测试数据之间的比较,以得到关于 7.1.0.2 版本的报告。

添加到 7.1.0.2 版本的新测试用例

从 7.1.0.0 版本开始,Rational Performance Engineering Team 以及 Rational System Verification Team 拥有了附加的测试配置以及下面的测试用例:

  • 高交易率 CM 服务器压力测试

    这种测试模拟测试用户速度会像机器速度那样,以允许测试 CM 服务器。

  • 高用户负载共时负载视图测试

    负载视图是最需要 ClearCase Remote Client 操作的一种。我们已经运行了多达 100 种共时负载视图操作,负载目录随着服务器的不同而有所不同。

  • 在支持的 CM 服务器平台上的 HIS 负载平衡测试

    IHS 负载平衡支持会添加到 7.1.0.2 版本中。我们会为所有支持的 OS 平台运行 ClearCase Remote Client 负载平衡测试,并验证这种提高的负载平衡方案。

  • 在 Windows 平台上运行的 ClearQuest Web 75-、 150-、以及 225-用户可量测性测试
    Rational Performance Engineering 通过在 Microsoft® Windows® 操作系统(OS)上使用中等复杂性的方案,来运行可量测性的测试,以证实 7.1.0.2 版本提高了的可量测性以及性能。
  • Linux 平台上的 Rational ClearQuest Web 130-用户、3 天测试。

    我们的系统验收团队会在 Linux® 平台上的 程序生命周期管理(ALM)方案数据库上,执行一个 130 个用户、为期 3 天、15 个交易每次 Rational ClearQuest Web 以及 CM 服务器上的测试。

  • 在 Linux 平台上运行的 ClearCase Remote Client 200 个用户、3 天的测试
    系统验收团队会在 RedHat Linux 5 上的 CM 服务器上,运行一个 200 个用户、为期 3 天的 15 个交易每小时的 ClearCase Remote Client 测试。通过使用 CM API for ClearCase 来执行测试。
  • CM 服务器管理 GUI 负载测试
    Rational Performance Engineering 以及系统验收团队会运行负载测试,以验证 CM Server Administration GUI 的稳定使用,对 CM 服务器的性能没有负面的影响。

对 ClearCase Remote Client 7.1.0.0 版本以及 7.1.0.2 版本的范例测试数据的比较

表 1. 测试的硬件配置
 
测试 配置
测试驱动器 IBM x336 with 2 Intel Xeon 3.4 GHz CPUs,4 GB RAM,
OS:RHEL 4
CM 服务器 IBM x366 with 4 Intel Xeon 3.67 GHz CPUs,8 GB RAM,
OS: RHEL 5.3
VOB 服务器 IBM x366 与 4 Intel Xeon 3.67 GHz CPUs,8 GB RAM,
OS: RHEL 5.3

LoadView 操作中的目录大小是 22 MB。MakeFile、Checkin 以及 Checkout 操作中文件的大小是 100 KB。FreeBSD DummyNET WAN 模拟器位 IBM® Rational® Performance Tester 驱动器以及 CM 服务器之间。我们为这些测试模拟了 100 ms 环形潜伏期以及 3 Mbps 的网络带宽。

图 1 中的图显示了单个用户基准测试中 7.1.0.2 中的性能提升。

图 1. 单个用户 CM API 基准
比较单用户 CM API 响应时间

图 1 的大图

在多用户测试的环境下,上面提到过的 7.1.0.2 版本中的性能改进的合并效应,要比单用户基准测试明显的多。在一个有 25 个用户的测试中,7.1.0.2 与 7.1.0.0 相比,载入视图操作有 400% 的提高,其他的操作有 10% 到 50% 的性能改进。

图 2. 25 个用户 CM API 基准
比较 25 个用户的 CM API 响应时间

图 2 的大图

ClearQuest Web 7.0.1 版本与 7.1.0.2 版本之间的范例测试数据比较

表 2. 测试的硬件配置
 
测试
配置
测试驱动器 Lenovo ThinkCentre 双核 3 GHz Intel® Pentium® 4 CPUs,2.5 GB 内存
操作系统:Microsoft Windows XP Professional,2002 Service Pack 2 版本
Rational ClearQuest Web 以及 CM 服务器 IBM® IntelliStation® Z Pro 双核 2.40 GHz Intel® Xeon® CPUs,4 GB 内存,支持物理地址扩展
操作系统:Microsoft Windows 2003 服务器,Enterprise Edition with Service Pack 2
数据库服务器 IBM® xSeries® 345 双核 3.06 GHz Intel Xeon CPUs,8 GB 内存,支持物理地址扩展
操作系统:Microsoft Windows 2003 服务器,Enterprise Edition with Service Pack 2
数据库服务器:Microsoft SQL Server 2005 Service Pack 3

图 3 中的图显示了 7.0.1.0 版本与 7.1.0.2 版本之间的ClearQuest Web 单用户性能改进之处。

图 3. Rational ClearQuest Web 7.1.0.2 与 ClearQuest Web 7.0.1 单用户基准相比较
比较 ClearQuest Web 单用户响应时间

图 4 中的图显示了 7.1.0.2 版本的 ClearQuest Web 可量测性。

图 4. ClearQuest Web 7.1.0.2 可量测性
 ClearQuest Web 服务器的响应时间

下一个补丁版本计划中的修复与特性

本段列出了现在我们正在处理的性能、可靠性与可量测性相关的工作。不能保证特性或者修复

  • 更好的 cleartext 上传压缩率,进一步加速了 ClearCase Remote Client 视图载入以及更新
  • ClearCase 远程客户端代码优化
  • 通过增加上传文件的大小,来提高 ClearCase 远程数据的转移率。初步的测试显示了上传大型文件所花的时间减少,而网络使用率却有了很大的提高。
  • 包含大量引用的 ClearQuest 记录区域的有效数据获取。
  • 更快的 ClearCase 远程客户端紊乱探测。
  • 持续的简化 CM 服务器访问栈。
  • 在 CM 服务器 CQ 网络末端防止内存崩溃,来增加可靠性。
  • 载入 ClearQuest Web 的更快记录。
  • 通过有效地查找与匹配,来对 ClearCase Remote Client UCM 活动与支持 CQ 的 UCM 环境中联系 CQ 记录改善性能。
  • 对 ClearCase Remote Client 变更视图的性能作出改善。Pending Changes 视图中的其他选项,由构件(对于 UCM)或者目录结构(对于基底 CC)来划分范围。
  • 其他的可量测性改进。

另外,Rational ClearCase 和 ClearQuest CM 服务器仍然包含了 FixPack 25。Rational Performance Engineering 和 Rational 系统验证团队已经测试了 WebSphere Application Server FixPack 25。各种各样的用户使用了 FixPack 25 显示了性能、可靠性以及交易时间上的改进。关于怎样将 CM 服务器网络域程序服务器安装文件升级到 FixPack 25的 IBM Technote 已经公布。查看 Resources 以得到一个列表以及连接。

总结

IBM 一直致力于完善 Rational CM Server、ClearCase Remote Client,以及 ClearQuest Web 的性能。正如我们在报告中陈述的那样,CM 服务器从 7.1 版本开始就已经有很多动态的改进了。这些改进使得 ClearCase Remote Client 和 ClearQuest Web 运行起来更加完善,并使得服务器变得更加可靠和可测。

数据与实例由下列人员提供:

David Qiang Li,Grant Covell,Paul Weiss
IBM Rational 性能工程

Mark Duquette,Denice Ortege,Joey Zhou,Lily Shi
IBM Rational 系统验收团队

开发工作由下列成员完成:

Kevin Esler,Jon Freyberger,Steve Rehrauer,Rob Title,Yuhong Yin,Doug Mckenzie,Masa Koinuma,Terry Sun,Shaila Golikeri,Daniel Wang,Leon Liang,Jack Ma,Knut Radloff,Herb Miller,Matt Lennon,Adina Adler,Rob Stanzel,Mike Prentice,Mike Mole,Liz Bonesteel,Jim Wu,Howie Bernstein,Eleonora Ludin,Hans Heilman
IBM Rational CM 服务器团队,ClearQuest Web 团队以及 ClearCase 远程客户端团队

参考资料

学习 获得产品和技术 讨论

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织