IBM Cognos 最佳实践: 在 zLinux 上运行 IBM Cognos 8 - 客户机配置

产品:IBM Cognos 8;关注领域:性能

在 z10 上使用单个逻辑分区 Logical Partition (LPAR) 时采用的测试和优化方法。

Jeff Elliott, 性能测试工程师, IBM

Jeff Elliott 是一位 IBM Cognos BI 性能测试工程师。在他的 8 年职业生涯中,其中 4 年都是作为性能测试工程师。Jeff 曾经测试过无数的大型项目。



Mark McFadden, 高级性能经理, IBM

Mark McFadden 是 IBM Cognos BI 的高级性能经理。Mark 在设计、执行和分析性能与大型测试方面有十几年的实践经验。



Mark Pilon, 性能测试架构师, IBM

Mark Pilon 是一位主要关注于 IBM Cognos BI 和 IBM Cognos TM1 的性能测试架构师。在过去 10 年中,他主持了许多大型项目,撰写和研究了几篇公开发表的论文,帮助许多 IBM 大客户解决了各种可扩展性、性能、稳定性和测试驱动问题。



2011 年 7 月 22 日

免费下载:IBM® Cognos® Express V9.5 或者 Cognos® 8 Business Intelligence Developer Edition V8.4 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

目的

本文介绍了在 z10 上使用单个逻辑分区 Logical Partition (LPAR) 时使用的测试和优化方法。此外,它还关注于添加或删除 z/VM® 客户机能够获得(如果有)什么样的性能提升,以及在测试的不同阶段是否会观测到资源使用过载。最后,我们测试了 Open Systems Adapter (OSA) 和 Vswitch 网络通信是否能够给性能带来额外的提升。

适用性

本文执行的这些测试是针对:

  1. IBM Cognos 8 Business Intelligence 8.4 27.79 for zLinux

测试方法

  • 在每一个配置上使用相同的 IBM Cognos 8 版本。
  • 使用下面的混合销售场景作为测试用例:
    • 40% 查看预生成的内容(HTML & PDF)
    • 30% 按需报告
    • 25% 交互式报告(提示、钻取、明细、OLAP)
    • 5% 复杂分析
  • 使用 OSA 网络适配器。

测试平台

IBM Cognos 8 Stack

  • SuSE Linux 10 sp2,12 CP 和 60GB 内存。

内容存储数据库

  • IBM DB2® 9.5.1,SuSE Linux 10 sp2,4 CP 和 8GB 内存。

查询数据库

  • IBM DB2 V9、zOS® 1.8。

IBM Cognos 8 BI 服务器架构概述

IBM® Cognos® 8 的架构对于变化的应用程序需求是具备高度可扩展性和可适应性的。IBM Cognos 8 部署是由以下三种类型的服务器组成,每一种服务器都有他们自己的资源使用配置:

IBM Cognos 8 Gateway — 资源使用率低

  • 将用户连接到 IBM Cognos 8 应用程序。
  • 可以分布在多个 HTTP 服务器上,以增加容量或实现高可用性。

IBM Cognos 8 Content Manager — 内存与 CPU 使用率高

  • 管理 IBM Cognos 8 服务器环境和安全性。
  • 存储关于数据源和诸如包、报表定义和存储内容等的应用程序对象等信息。
  • 多个实例可能以高可用方式进行部署。当部署了多个实例时,这个实例必须包含一个活跃实例,可能有多个备用的副实例。
  • 垂直扩展。容量是基于活跃实例的资源可用率进行扩展的。

IBM Cognos 8 Report Server — CPU、I/O 和内存使用率高

  • 管理数据源连接和运行报表请求。
  • 可能部署了多个实例以提高容量。
  • 每个 CPU 上多线程和进程数的设置可由管理配置。
  • 所有实例都是由 IBM Cognos 8 Dispatcher 执行负载均衡的。
  • 水平或垂直地扩展。
图 1. IBM Cognos 8 的体系结构
IBM Cognos 8 的体系结构

优化方法

测试的目标是发现在单个 LPAR 上的最佳性能配置。在原始测试过程中,每一层只使用一个网关和一个 JVM。然而,当我们转到三客户机配置时,我们发现当运行 720 个用户测试时,用户无法再登录。下面的一系列处理措施是我们用来最终发现一个支持 720 个用户成功运行的配置。

  • 在第一个方法中,我们给网关增加了第二个具有 2 个 HTTP 实例的 JVM。在这种情况下,表现层(报表服务器)JVM 在用户遇到错误之前已经无法创建登录页面。
  • 在第二个方法中,我们增加了第二个表现层。用户在 720 个用户负载情况下仍然无法登录,即使我们将打开文件数从 16384 降低到 8192,并且 httpd.conf 的最大客户端数从 600 增加到 800,结果也是一样的。
  • 在第三个方法中,我们增加到第三个 JVM,它能够处理用户的登录请求。在这种情况下,三客户机的配置与六客户机的配置具有相同的 JVM 数。
  • 在每一个配置上,CP 数、内存数和 BIBusTKServerMain 数仍然保持不变。

客户机配置

配置 1

这是基线配置。它在一个 LPAR 上使用 OSA 通信。这是使用 7 个 z/VM 客户机配置的:1 个内容存储和 6 个托管的 IBM Cognos 8 组件。这个配置为每一个 IBM Cognos 使用一个单独的 zVM,而每一个 JVM 使用网关上 2 个 Apache HTTP 服务器。整个 IBM Cognos 8 层使用 12 CP、60GB 内存,并且配置了 36 个 BIBusTKServerMain(12/Report Server JVM)。

图 2. LPAR z/VM 的六客户机配置
LPAR z/VM 6 个客户机的配置

配置 2

这个配置在一个 LPAR 上使用 OSA 通信。它是使用 4 个 z/VM 客户机配置的:1 个内容存储数据库和 3 个托管 IBM Cognos 8 组件。这个配置与基线配置在总资源数上是相同的,并且 JVM 数也是一样的。网关使用 2 个 JVM 和 2 个 Apache HTTP 服务器配置。表现层使用 3 个 JVM 和总共 36 个 BIBusTKServerMain。内容管理器组件保持不变。

图 3. LPAR z/VM 的三客户机配置
LPAR z/VM 的三客户机配置

配置 3

这个配置在一个 LPAR 上使用 OSA 通信。它是使用 2 个 z/VM 客户机配置的:1 个内容存储数据库和 1 个托管 IBM Cognos 8 组件。这个配置与基线配置在总资源数上是相同的,并且 JVM 数也是一样的。网关层使用了 2 个 JVM 和 2 个 Apache HTTP 服务器配置。表现层使用 3 个 JVM 和总共 36 个 BIBusTKServerMain。内容管理组件保持不变。

图 4. LPAR z/VM 单客户机配置
LPAR z/VM 单客户机配置

结果

客户机配置

从上面的结果可以看到,单客户机配置在每一个数据点上实现了最佳的性能结果。这些结果表明在单客户机配置上运行 720 个用户的性能比原先六客户机配置的性能有 20% 的提升。

图 5. 性能结果图表
性能结果图表

资源使用

Java

通过比较单客户机、三客户机和六客户机配置上 720 个用户负载时的 Java 平均使用率,我们发现网关上的 Java 内存使用增加了约 19%,六客户机和单客户机配置之间的 CM Java 进程内存增加了 30%。总体上,单客户机配置使用的 Java 总资源大约高 10%。

图 6. Java 资源使用柱状图
Java 资源使用柱状图
  • 单客户机配置的 JVM 整体的每个 CPU 的平均使用率比六客户机配置增加了 30%。
图 7. Java 进程的 CPU 平均使用率柱状图
Java 进程的 CPU 平均使用率柱状图

BIBusTKServerMain

通过比较 BIBusTKServerMain 的平均内存使用率,单客户机配置的 BIBusTKServerMain 内存消费大约增加 5%。

图 8. 每一个配置的 BIBusTKServerMain 进程的内存使用率柱状图
每一个配置的 BIBusTKServerMain 进程的内存使用率柱状图
  • 通过比较 BIBusTKServerMain 的平均 CPU 使用率,单客户机配置的 BIBusTKServerMain CPU 平均使用率增加了 3%。
图 9. BIBusTKServerMain 进程的 CPU 使用率柱状图
BIBusTKServerMain 进程的 CPU 使用率柱状图

得到的 LR 数据

单客户机配置测试显示了更高的稳定性,其中通过测试的事务有 219,637 个,出错的只有 561 个(99.74% 的成功率)。

  • 总吞吐量(字节):34,974,105,211
  • 平均吞吐量(字节/秒):5,554,972

六客户机配置能够稳定执行 123,067 个事务,出错 1,697(98.62% 的成功率)。

  • 总吞吐量(字节):19,958,111,835
  • 平均吞吐量(字节/秒):3,599,299

三客户机配置测试结果显示稳定性最低,只有 127,495 个事务通过,有 2,758 个出错(97.83% 的成功率)。

  • 总吞吐量(字节):21,392,806,880
  • 平均吞吐量(字节/秒):3,847,627

网络通信

另外,我们使用六客户机配置和用一个 VSwitch 替代 OSA 网络通信进行了一次额外测试。使用 VSwitch 替代 OSA 不会对性能产生任何影响。

图 10. 平均事务处理时间的图形化显示
平均事务处理时间的图形化显示

结束语

我们在三客户机配置的 Forrester® “Typical BI Day” 场景测试中,单客户机配置具有最高的总体性能和最大的稳定性。性能提升的可能原因是去除了 IBM Cognos 8 各层之间的网络通信。

以单客户机配置运行确实会带来一些资源过载。所增加的资源使用率很可能是由于六客户机配置比单客户机配置在总吞吐量上近 40% 的增加造成的。下面是测试的主要结果:

  • 单客户机配置具有最佳性能,在 720 个用户负载时性能提升约 20%。
  • 单客户机配置是最稳定的,在 720 个用户负载时成功率为 99.74%。
  • 通过比较单客户机、三客户机和六客户机配置的 JVM 平均使用率,六客户机配置网关的 Java 内存使用比三客户机配置大约增加 19%,内容管理器 JVM 增加 30%。总体上,单客户机配置使用的总体内存增加了近 10%,而 BIBusTKServerMain 内存使用率则在所有测试情况下保持不变。
  • 单客户机配置比六客户机的整体 JVM 的每一个 CPU 的总平均使用率增加了 30%。
  • 使用 VSwitch 通信替代 OSA 不会对性能产生任何影响。

附录 A

根据 Forrester Research 的介绍,“Typical BI Day” 测试用例混合使用了多个不同规模和复杂度的 BI 用例,以充分反映典型 BI 用户活动。

Forrester 定义
用户类型%描述
BI 接受者40企业用户
用户30普通用户
高级用户25业务用户
BI 分析师5关键用户

参考资料

学习

获得产品和技术

讨论

  • 参与 developerWorks 博客 并加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

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=Information Management
ArticleID=677725
ArticleTitle=IBM Cognos 最佳实践: 在 zLinux 上运行 IBM Cognos 8 - 客户机配置
publish-date=07222011