IBM Lotus Domino服务器的一个永恒的主题就是不断提高为客户带来的价值。在如今的企业中,越来越大的信息量给现有的硬件基础设施带来了巨大压力。Lotus Domino 8.5包含的各种功能能够减轻昂贵的处理器和存储子系统所面临的压力。本文将展示如何使用Lotus Domino 8.5和Lotus Notes客户机降低处理器和磁盘的利用率。
本文提供的数据将会表明,升级到Lotus Domino 8.5应该是一次有益的体验。您将会发现I/O需求、每秒磁盘操作以及每秒传输的磁盘数据都得到了显著减少。此外,处理器利用率差不多降低了20%。升级到Lotus Domino 8.5能够降低您的Lotus Domino部署的总体拥有成本。
图1.在具有4000位模拟Lotus Notes用户的情况下使用Lotus Domino 8.5获得的服务器资源节省
本文中的度量方法使用了 Notesbench 性能工作负载,模拟数千个 Lotus Notes 客户机使用同一个 Lotus Domino 服务器执行常见的消息传递和日历操作的行为。使用了两个工作负载,N8Mail 模拟 Lotus Notes 8.0 客户机生成的 API 调用,N85Mail 执行相同的高级操作,但使用的是 Lotus Notes 8.5 客户机生成的 API 调用。
一般而言,测试配置包括在服务器的 Lotus Domino 目录中定义 5000 位用户。在测试开始时,每位用户都有一个邮件文件(大约 256 MB 的未压缩文档)、收件箱中有 3000 封邮件,垃圾箱中有大约 380 封邮件。在整个测试过程中,垃圾箱中的邮件都被设置为过期,并且每 15 分钟删除两封垃圾邮件。这些测试都启用了事务记录功能,使用 Favor 运行时设置,邮件日志也设置为在本地记录所有邮件。还针对消息传递和操作系统启用了 Domino 域监控(Domino domain monitoring,DDM)探针,并且所有用户都拥有邮件规则,用于阻止来自测试以外的 10 位用户的邮件。
对于 Lotus Domino 8.5,测试环境在邮件数据库中启用了文档压缩功能,文件大小由大约 250 MB 降低到大约 170 MB。此外,测试环境在邮件数据库创建之后启用了 Domino 附件和对象服务(Domino attachment and object service,DAOS),我们也在邮箱和日志文件上启用了 DAOS。
测试在很大程度上使用了 Lotus Domino 服务器和邮件模板的默认设置。但是我们对少数设置进行了更改,目的在于提高性能,以及在 8.5 版上启用文档压缩和 DAOS 功能。表 1 列出了所有操作系统上使用的更改,包括讨论平台结果小节中特定于平台的额外修改。参见文后的附录,了解表 1 中显示的 notes.ini 设置所能完成的功能的更多细节。
表1.用于在所有操作系统上进行测试的 Lotus Domino 服务器配置
注意:本文的测试结果来自在受控环境下执行的基准测试。尽管在创建基准测试期间花了一些工作来包含典型的用户操作,但实际用户使用的 Lotus Domino 功能很可能不止基准测试中所测试的这些功能。因此,这些数字应该主要用于帮助理解 Lotus Domino 发行版的相对性能,不应作为实际部署中的建议。要获取容量规划方面的帮助,请咨询您的硬件供应商和 IBM TechLine。
另外,尽管我们给出了各种硬件平台上的测试结果,但这些配置并不具有统一的容量。此处的目的是分析 Lotus Domino 本身的性能,这些数据不应该用于平台之间的比较。
以下各节将详细分析所测试的各平台上的测试结果。
AIX V6.1 测试结果
AIX V6.1 测试结果
表2列出了用于IBM AIX V6.1测试的配置。
表2.AIX V6.1配置
测试硬件是一个 IBM Power 570 (9117-MMA) 系统,基于 POWER6™ 处理器技术,被配置为两个 LPAR(逻辑分区)。测试 LPAR 被配置为具有一个物理处理器和一个逻辑处理器。这项配置被封装起来,没有使用针对额外处理器资源的权利。与分配给使用
虚拟化处理器和授权的 LPAR 的处理器相比,封装可用的处理器功率可以在更高的级别上度量负载。
存储区使用 IBM DS4000 Series (FastT) 配置为一个逻辑文件系统,支持 Lotus Domino 二进制、Lotus Domino 数据文件、邮件日志数据库以及 DAOS NLO 文件。我们使用配置为 RAID 0 的 AIX Advanced Journal File system (JFS2)。RAID 0 用作在测试运行的 Lotus Domino 二进制文件与已安装的数据文件之间惟一保持完整的文件。邮件数据库文件、日志文件、Mail*.Box 以及 DAOS 文件都在开始测试之前重新创建。重新创建能够确保所有测试都在数据库处于相同状态的情况下进行。每次测试都会重新创建事务日志文件,并放在使用 RAID 0 配置的专用存储区上。
Lotus Domino 8.0 测试使用一个大小为 512 MB 的默认 NSF 缓冲池,对于 Lotus Domino 8.5 测试,NSF 缓冲池大小也被显式设置为 512 MB。注意:对于 Lotus Domino 8.0 和 32 位 Lotus Domino 8.5,默认 NSF 缓冲池大小为 512 MB;对于 64 位 Lotus Domino 8.5,当系统中的 RAM 大于 4 GB 时,默认 NSF 缓冲池大小为 1 GB。网络访问通过一个在全双工模式下运行的 1 GB 以太网适配器来实现。
图2和图3是这两项测试在各种用户负载下的资源利用率图表。
图2.AIX:处理器繁忙时期所占百分比
通过在相同的硬件上运行相同的工作负载,Lotus Domino 8.5 在所有测量的虚拟用户级别上使用更少的处理器资源。对于 4 个比较点,处理器性能提升范围在 11% 到 20% 之间。使用的处理器资源越少越好。
图3.AIX:每秒磁盘操作总数
在测量的虚拟用户中,对于4 个比较点,Lotus Domino 8.5 拥有更少的磁盘操作总数。磁盘 I/O 操作总数的改进范围在 23% 到 30% 之间。磁盘操作总数越少越好。
图4.AIX:每秒传输的磁盘兆字节总数
从图 4 可以看出,在测量的虚拟用户中,Lotus Domino 8.5 每秒传输的磁盘兆字节总数更少。在 4 个比较点上,传输的磁盘兆字节总数的提升在 45% 到 50% 之间。表 4 汇总了 AIX V6.1 的资源使用情况。使用的资源越少越好。
表3.AIX V6.1:4000 位用户的资源使用情况
Lotus Domino 8.5 在所有进行测量的资源需求中都是最低的,共享内存是例外。注意,Lotus Domino 8.5 是 64 位应用程序版本,其内部数据结构的大小和管理方式与 32 位应用程序模式不同。
IBM i 测试结果
这里记录的所有性能测试结果都是使用具有两个活动处理器内核和 8 GB 内存的 IBM i System® 570 完成的。该系统配置了 48 个磁盘驱动器,具有 RAID-5 保护。网络访问通过一个在全双工模式下运行的 100 MB 以太网适配器实现。
表4.IBM i配置
系统被配置为一个 Lotus Domino 分区。Lotus Domino 8.0 在 Lotus Domino 8.0 邮件模板上使用 N8Mail 工作负载进行测试。事务记录和日志文件位于 Lotus Domino 数据目录下。每项测试分别在 1000、2000、3000 和 4000 位用户的条件下运行,在每个数据点收集性能信息。
图5. IBM i:处理器繁忙时间所占百分比
图 5 显示了在不同的模拟用户负载下,处理器繁忙时间所占的百分比。从这项数据可以看出,Lotus Domino 8.5 在每个数据点都降低了系统的处理器利用率。在 4 个比较点上,处理器性能的提升在 11% 到 15% 之间。
图 6. IBM i:每秒磁盘操作总数
图 6 显示了在不同模拟用户负载下每秒磁盘 I/O 操作总数。从这项数据可以看出,Lotus Domino 8.5 在每个数据点上同样减少了系统的磁盘 I/O 操作。在 4 个比较点上,磁盘 I/O 操作总数的提升范围在 22% 到 32% 之间。
图 7. IBM i:每秒传输的磁盘兆字节总数
图 7 显示了在不同模拟用户负载下每秒传输的磁盘兆字节总数(MB)。从这项数据可以看出,Lotus Domino 8.5 在每个数据点都减少了传输的磁盘兆字节数。在 4 个比较点上,传输的磁盘兆字节总数的改善范围在 32% 到 43% 之间。
表 5. IBM i:4000 位用户的资源使用情况
表5中汇总的实验数据表明,Lotus Domino 8.5 降低了在拥有 4000 位用户的情况下系统对处理器的利用率。页面错误率、每秒的磁盘 I/O 操作数以及每秒传输(包括读取和写入)的磁盘兆字节数都有所下降。我们还看到,Lotus Domino 8.5 对网络的利用率也有所下降。总之,Lotus Domino 8.5 在处理器利用率、磁盘 I/O 操作、传输的磁盘兆字节数以及网络利用率方面表现出了更出色的性能。
Linux 测试结果
这一节看一下在运行 64 位Linux版本SuSE SLES 10 x86/64的Intel系统上进行测试的 Notes Remote Procedure Call 结果。您应该注意到,即使操作系统是 64 位的,测试中使用的 Lotus Domino 版本也仍然都是 32 位的。在 64 位 Linux 上运行 32 位应用程序(比如 Lotus Domino)具有一些优势。一个优势在于内存方面。在 32 位 Linux 上,一个 32 位应用程序最多能够使用 3 GB 内存,而在 64 位 Linux 上,一个 32 位应用程序最多能够使用 4 GB 内存。Lotus Domino 擅长利用额外的内存来处理额外的服务器任务或应用程序。
用于这些测试的测试服务器包含一个 Intel Xeon MP 双核处理器、8 GB RAM 和配置为 9 个 Raid 0 逻辑单元的 DS4000 磁盘子系统(IBM FastT)。对于这些测试,模拟的邮件用户数据库平均分布于 8 个逻辑单元。DS 4000s 上的一个驱动器逻辑单元用于 Lotus Domino 事务记录文件。表 6 汇总出详细的 Linux 配置信息。
表 6. Linux 配置
除了使用前面提到的参数,还会使用以下的 notes.ini 参数。这些 notes.ini 参数不应当作为默认的 Linux 设置,并且只有在完全理解它们的功用之后才应该使用它们。对于大多数系统,默认的 Lotus Domino 设置就是最好的选择。
MEM_AddressableMemSizeMB=3500
ConstrainedSHMSizeMB=3000
MEM_EnablePreAlloc=1
这些服务器 notes.ini 参数处理 Lotus Domino 服务器的内存分配。前面已经提到,运行 64 位 Linux 的系统可以为 32 位应用程序分配 4 GB 内存。notes.ini 参数 MEM_AddressableMemSizeMB=3500 告诉 Lotus Domino,它拥有 3.5 GB 可用内存。这条语句似乎有点矛盾,因为我们已经说过 32 位应用程序能够获得 4 GB 内存。操作系统需要将这 4 GB 的一部分用来进行映射,将其他内存池用于处理正在运行的所有 Lotus Domino 任务。通常,500 MB 足够用来处理这项任务了。
第二个 notes.ini 参数 ConstrainedSHMSizeMB=3000 告诉 Lotus Domino 它可以使用多少共享内存。因为 Lotus Domino 需要的大部分内存都是共享内存,所以我们使用 3 GB 来执行这些测试。这个值可能不适合您的环境。您首先需要知道您的环境需要多少共享内存和多少进程内存来运行所有应用程序。
第三个 notes.ini 参数 MEM_EnablePreAlloc=1 告诉 Lotus Domino 根据第二个 notes.ini 参数预分配共享内存。这种方法有助于预防 Lotus Domino 在遇到共享内存不足的错误时发生崩溃,但是这一步需要对各方面进行权衡,因为锁定大于实际需要的共享内存是不明智的。进行这种共享内存锁定可能导致应用程序要使用的本地内存不足,导致内存不足错误和应用程序失败。
下图对在简介小节中描述的工作负载下运行的 Lotus Domino 8.0 与 Lotus Domino 8.5 进行了比较。
图 8. Linux:处理器繁忙时间所占百分比
图 8 显示了使用 Lotus Domino 8.5 获得的全部处理器资源节省。在 4 个比较点上,处理器性能提升范围在 15% 到 19% 之间。
图 9. Linux:每秒磁盘操作总数
图 9 显示了使用 Lotus Domino 8.5 获得的 I/O 操作节省。在 4 个比较点上,总体磁盘 I/O 操作的改善范围在 29% 到 37% 之间。
图 10. Linux:每秒传输的磁盘兆字节总数
图 10 显示了使用 Lotus Domino 8.5 获得的 I/O 数据量降低。在 4 个比较点上,传输的磁盘兆字节总数改善范围在 42% 到 50% 之间。表 7 汇总了 4000 位用户的资源使用情况。
表 7. Linux - 4000 位用户的资源使用情况
与 Lotus Domino 8.0 相比,Lotus Domino 8.5 在所有度量方面都表现出了性能提升。内存消耗未在表 7 中列出,因为 notes.ini 参数对于两者都会进行内存预分配。
Solaris 测试结果
用于进行 Sun Solaris 测试的服务器的详细配置在表 8 中列出。它是一个 4 处理器域,具有 6 个 RAID 0 逻辑单元,9 个驱动器,每个驱动器都保存有 Lotus Domino 数据和可执行文件。此外,第 7 个逻辑单元上的两个文件系统包含事务记录和 DAOS 对象。
表 8. Solaris 配置
这个系统使用本文开头部分列出的 Lotus Domino 设置进行配置,每项度量允许的 NSF 缓冲池大小默认为 512 MB。这个系统拥有丰富的内存,Solaris 可以用这些内存实现良好的文件缓存。而且,文件系统使用普通的 Sun 8 K 块大小,这会导致磁盘 I/O 率与我们看到的使用 4 K 块大小的其他系统的 I/O 率略微不同。可以看到这个系统使用 Lotus Domino 8.5 实现了显著的处理器和磁盘使用率改善。参见图 11 和图 12。
图 11. Solaris – 处理器繁忙时间所占百分比
比较 Lotus Domino 8.5 与 Lotus Domino 8.0 的处理器使用率,在 Solaris 上最高实现了 20%(相对)的降低。
图 12. Solaris:每秒磁盘操作总数
随着磁盘 I/O 操作的减少,支持某个级别的用户活动就会需要更少的硬盘空间,从而实现了资源节省。在这里,在 Solaris 上使用 Lotus Domino 8.5 能够实现 30% 的节省。
图 13. Solaris:每秒传输的磁盘兆字节总数
除了减少磁盘 I/O 操作,我们还看到传输的兆字节数也减少了很多,在大多数情况下能够减少 60% 以上,如图 13 所示。
表 9 汇总了 Solaris 的资源使用情况。
表 9. Solaris 10:4000 位用户的资源使用情况
在这个 Solaris 服务器上,当迁移到 Lotus Domino 8.5 时,获得了显著的 I/O 和处理器性能改善。与 Lotus Domino 8.0 相比,磁盘操作减少了 30%,处理器使用率减少了 19%。使用 Lotus Domino 8.5,可以在磁盘上以压缩格式存储设计和邮件内容。这种方法还能够改善操作系统的文件缓存,使效率翻倍,因为操作系统文件现在包含了高度压缩的数据。这个系统具有 32 GB 的超大内存,使性能提升效果尤为明显。与 Lotus Domino 8.0 相比,访问物理磁盘所需的读取操作数减少了 67%,而需要从磁盘读取的字节数减少了 92%。
Microsoft Windows 2003 服务器测试结果
这里记录的所有性能测试结果都是使用 IBM xSystem 3850 完成的,其中包含 4 个活动处理器内核,运行的是 Microsoft Windows 2003 Standard x64 Edition,该系统安装了 8 GB 内存。系统被配置为具有 42 个磁盘驱动器(RAID 0)。网络访问通过在全双工模式下运行的一个 100 MB 以太网适配器实现。表 10 汇总了 Windows 2003 的详细配置。
表 10. Windows 2003 配置
系统配置了一个 Lotus Domino 32 位分区。针对 Windows 64 位操作系统的 Lotus Domino 64 位版本也可用,但是对于本文,性能团队使用了 32 位版本的 Lotus Domino。Lotus Domino 8 使用 Lotus Domino 8 邮件模板(mail8.ntf)在 N8Mail 工作负载下进行测试。Lotus Domino 8.5 使用 Lotus Domino 8.5 邮件模板(mail85.ntf)在 N85Mail 工作负载下进行测试。我们使用了配置为 7 个 RAID 0 逻辑单元的 DS4000 磁盘子系统。Lotus Domino 可执行文件安装在一个 200 GB 的逻辑单元上。邮件数据库跨越了 3 个逻辑单元,每个单元大小为 800 GB。事务记录在一个独立的含 3 个磁盘的逻辑单元上进行设置。每个测试分别在 1000、2000、3000 和 4000 位模拟用户的情况下进行测试,在每个数据点上收集性能信息,用于在 Lotus Domino 8 和 Lotus Domino 8.5 之间进行比较。
图 14. Windows 64:处理器繁忙时间所占百分比
图 14 显示了在不同的模拟用户负载下,处理器繁忙时间所占的百分比。从这项数据可以看出,Lotus Domino 8.5 降低了系统在每个数据点上的处理器利用率。在 4 个比较点上,处理器利用率的改善范围在 17% 到 39% 之间。
图 15. Windows 64:每秒处理器操作总数
图 15 显示了在不同模拟用户负载下的磁盘 I/O 操作总量。从这项数据可以看出,Lotus Domino 8.5 还减少了系统在每个数据点上的磁盘 I/O 操作。在 4 个比较点上,磁盘 I/O 操作总量的降低幅度在 24% 到 33% 之间。
图 16. Windows 64:每秒传输的磁盘兆字节总数
图 16 显示了在不同模拟用户负载下每秒传输的磁盘兆字节总数。从这项数据可以看出,Lotus Domino 8.5 减少了系统在每个数据点上传输的磁盘兆字节总数。在 4 个比较点上,传输的磁盘兆字节总数的降低幅度在 33% 到 44% 之间。
表 11 汇总了 Windows 2003 的资源使用情况。
表 11. Windows 2003 服务器:4000 位用户的资源使用情况
我们的测试显示,与 Lotus Domino 8.0 相比,运行 Lotus Domino 8.5 时处理器利用率和 I/O 利用率更低。总体来讲,Lotus Domino 8.5 在处理器利用率、磁盘 I/O 操作、传输的磁盘兆字节数和网络利用率方面都提供了更好的性能。通过对 Windows 部署 Lotus Domino 8.5 实现这些性能提升,客户能够获得显著的成本节省,从而推动服务器整合。
Linux System z 测试结果
最后看一下在 Linux System z® 上使用 64 位 Lotus Domino 8.5 的情况。对于本文,我们主要使用新的 N8Mail 和 N85Mail 工作负载以及最多 4000 位用户的测试,以比较在 Linux System z 上使用 Lotus Domino 8.5 和 Lotus Domino 8.0 的性能。Lotus Domino 8.5 的一项新功能是 Lotus Notes 文档压缩。这项功能显著降低了 I/O 和磁盘空间使用率。但是在 System z 上,如果 Lotus Notes 文档压缩功能没有启用,将实现更好的处理器利用率和 I/O 改进。Lotus Domino 8.5 在默认情况下禁用了附带的 Lotus Notes 文档压缩功能。下面详细分析了两种配置及其结果。
这里记录的所有性能测试结果都来自 zSeries® z9® 2096-S07 Business Class 上的一个 LPAR。这个 LPAR 启用了两个处理器,配置了 12 GB 内存,还有一个 Lotus Domino 分区,它运行了一个 Lotus Domino 服务器实例。这个系统使用一些更新引导 SLES 10。我们使用一个 GB Ethernet 开放系统架构网卡(open system architecture card)。我们的 LAN 是隔离的。所有磁盘都从一个 IBM System DS8300 阵列进行分配,每个磁盘都配置为一个 3390 model 9。客户机邮件数据库平均分布在超过 64 个 LVM 文件系统上,每个数据库横跨了一个 LVM 上的 4 个卷,为每个文件系统提供了 28 GB 的可用空间。个别卷被分配用于 Lotus Domino 执行、Lotus Notes 数据、Lotus Domino 地址簿、邮箱 1 到 8 以及事务记录。另外 4 个卷用于在一个 LVM 中进行邮件日志记录,还有 4 个卷用于在一个 LVM 中执行 DAOS(Domino 附件和对象服务)。Linux System z 使用 EXT3 文件系统。表 12 汇总了 Linux 硬件配置。
表 12. Linux 硬件配置
图 17 和图 18 显示了在 N8Mail 中运行的使用 mail8 模板的 Lotus Domino 8,以及在 N85Mail 中运行的使用 mail85 模板的 Lotus Domino 8.5,以及使用 mail85 模板、禁用了 Lotus Notes 文档压缩功能且在 N85Mail 下运行的 Lotus Domino 8.5。每个区间显示每增加 1000 位用户、稳定运行 1 小时之后的平均情况。
图 17. zLinux:处理器繁忙时间所占百分比
图 17 显示,与 Lotus Domino 8 相比,启用了 Lotus Notes 文档压缩功能的 Lotus Domino 8.5 处理器性能下降了 0 到 6%。图 17 显示,与 Lotus Domino 8 相比,禁用了 Lotus Notes 压缩功能(默认配置)的 Lotus Domino 8.5 带来了 11% 到 13% 的处理器性能提升。
图 18. zLinux:每秒磁盘操作总数
与 Lotus Domino 8 相比,Lotus Domino 8.5 在每秒磁盘操作方面表现出了 27% 到 33% 的 I/O 性能提升,如图 18 所示。该图还显示,与 Lotus Domino 8 相比,禁用了 Lotus Notes 文档压缩功能的 Lotus Domino 8.5 表现出了 16% 到 24% 的性能提升。
图 19. zLinux:每秒传输的磁盘兆字节总数
图 19 详细展示了每秒传输的磁盘兆字节总数,与 Lotus Domino 8 相比,Lotus Domino 8.5 表现出了 40% 到 43% 的显著性能提升。该图还显示,与 Lotus Domino 8 相比,禁用了 Lotus Notes 文档压缩功能的 Lotus Domino 8.5 具有 29% 到 33% 的性能提升。
表 13 汇总了 Linux System z 的资源使用情况。
表13. Linux on System z,启用 Lotus Notes 文档压缩功能:4000 位用户的资源使用情况
在 4000 位用户的情况下,表 14 显示,与 Lotus Domino 8 相比,Lotus Domino 8.5 在 I/O 操作总量方面降低了 27%,传输的 I/O 字节总量降低了 40%。总共享内存增加了 3%,总进程内存增加了 9%。接收和传输的网络字节总量减少了 7%。
表14. Linux on System z,禁用 Lotus Notes 文档压缩功能:4000 位用户的资源使用情况
在 4000 位用户的情况下,表 14 显示,与 Lotus Domino 8 相比,Lotus Domino 8.5 的 I/O 操作总量降低了 17%,传输的 I/O 字节总量降低了 29%。总共享内存增加了 3%,总进程内存增加了 12%。接收和传输的网络字节总量增加了 7%。
总之,Lotus Domino 8.5 是 zLinux 上的一个 64 位应用程序。实验数据表明,与 Lotus Domino 8 相比,如果启用了 Lotus Notes 文档压缩功能,Lotus Domino 8.5 的处理器性能将下降达 6%,但是在 I/O 方面具有很大的性能提升,磁盘操作总量最多下降 33%,传输的磁盘字节总量最多下降 43%。Lotus Domino 8.5 默认情况下会禁用 Lotus Notes 文档压缩功能。在默认设置下,处理器性能将最高提升 13%,磁盘操作总量最多降低 24%,传输的磁盘字节总量最多降低 32%。对于 Lotus Domino 8.5 来说,处理器使用率和 I/O 的降低最终能够极大地减少总体拥有成本。
结束语
从本文报告的测量数据来看,升级到 Lotus Domino 8.5 是一种有益的体验。您可以实现显著的 I/O 降低,每秒磁盘操作量降低 22% 到 33%,每秒传输的磁盘字节数降低 31% 到 67%。此外,处理器利用率最多能够降低 20%。升级到 Lotus Domino 8.5 能够降低您的 Lotus Domino 部署的总体拥有成本。
附录. Notes.ini 设置解释
注:本文来源IBM DW网站!