Lotus Domino 7 服务器的性能(3)-企业邮件性能

12/3/2006来源:Lotus Notes人气:8590

本文是专注于讨论 Domino 7 性能改进的文章系列中的第三篇文章。第一篇文章 “Lotus Domino 7 server performance, Part 1: Lotus Notes client workloads”,讨论了基本的 Domino 邮件性能。第二篇文章 “Lotus Domino server performance, Part 2: Domino 7 performance for Domino Web access users”,讨论了通过模拟 Domino Web Access 用户观察到的 Domino HTTP 性能结果。本文重点讨论一个新的称作 EnterPRise Mail 的基准测试。这个基准测试模拟了企业环境中的 Notes 用户。(即将发表的一篇文章将研究几个 Notes.ini 变量,这些变量对于在 Domino 7 中进行最佳性能设置非常重要。)

本文的第一部分将解释开发 Enterprise Mail 工作负载的原因,并且描述这个工作负载的用途。文章的剩余部分将展示我们在多个平台上所得到的基准测试结果。我们希望您能够发现有用的信息,并从 Domino 7 实现的性能改进中获益。

注: 本文中的测试结果都来自于受控环境中执行的基准测试。虽然在创建基准的过程中为模拟典型的用户操作作出了一定的努力,但是更可能出现的情况是,实际用户对 Domino 的使用会超出基准测试所覆盖的狭窄的功能范围。因此这些数据主要用于理解 Domino 版本相对的性能改进,而不代表现实中推荐的部署。为帮助进行容量规划,建议向硬件提供商咨询。

同时,我们展示了各种硬件平台上的结果,这些配置并不具有一致的容量。我们的目的集中于 Domino 自身的性能改进,这里的数据不应该用来比较操作系统之间的差异。

Enterprise Mail 工作负载基准测试

基准测试是对计算机系统的性能的测试。基准测试能够测试许多东西。在这种情况下,我们比较相同设备上软件的不同版本(Domino 7 和 Domino 6.5)。在其他基准测试中都试图了解测试系统能够支持的最大用户数量,而这个基准测试集中于了解支持一个固定的用户数量所需的硬件资源。

Enterprise Mail(EntMail)工作负载是包含在 NotesBench 工具和 Server.Load 工具中的一组命令。我们先以 R6mail 工作负载作为基础:

活动描述
读取邮件 每个循环(15 分钟)读取 5 条消息。
更新邮件 每个循环更新 2 条消息。
添加邮件每个循环添加 2 条消息。
发送邮件 每当第 6 次循环时发送 1 条消息给 3 个用户。
创建约会 每当第 6 次循环时创建 1 个约会。
发送邀请 每当第 6 次循环时发送 1 个邀请给 3 个用户。
删除邮件 每个循环删除 2 条消息。
向收到的邀请发送 RSVP 每当第 6 次循环时发送 1 个邀请 RSVP(接受)。

然后添加几个新的活动:

活动描述
搜索数据库每个循环搜索邮件数据库,查找两个随机选择的单词。
本地邮件数据库与服务器进行复制 20% 的用户使用本地副本工作。每隔 15 分钟本地副本与服务器进行复制。
所有邮件数据库的集群复制复制日程安排是在 Domino Directory 中设置的。日程安排为对于每两个集群成员,每小时进行一次推出复制。
每小时复制一次所有的数据库所有的数据库每小时从两个服务器复制(推出)一次。
在服务器上使用事务日志记录在两个服务器上都使用事务日志记录。

当执行的时候,Enterprise Mail 工作负载尝试在目标服务器上模拟多种用户活动。这些活动包括消息处理、日历、数据库搜索、服务器之间的数据库复制、客户机上的本地数据库复制和集群复制。Enterprise Mail 工作负载是在 Domino 7 开发周期的早期开发的,用于在更大的范围内检测 Domino 的功能,这样就能够使 Domino 的各个组件的性能达到最优状态。工作负载与真实的客户环境非常接近,包括复制、集群、本地邮件数据库复制、全文索引和事务日志记录等。

Enterprise Mail 测试测量了服务器上的下列指标:

  • 完成的 Notes 操作的总量。
  • 达到最大容量时的平均响应时间。

然后将比较在给定用户数量的情况下,不同 Domino 版本的资源利用情况的结果数据。

服务器上既没有运行实时病毒扫描程序,也没有运行其他的第三方软件。虽然我们试图使设置尽可能接近真实环境,但是需要排除既随时间变化,又在不同站点之间不一致的工作。有关如何使用 Server.Load 运行 Enterprise Mail 测试的更多信息,请参见侧栏。





总体结果

在所有平台上,Domino 7 的 CPU 性能提高百分率随活动用户数的变化而不同。通常,用户数越大,Domino 7 与 Domino 6.5 相比具有更大的性能提高。

每一平台的资源使用情况都是在稳定状态中报告的总用户数达到最高时测量的。直到达到稳定状态后的两个小时,才开始记录平均值,并且结果是接近 6 个小时时间长度的平均值。报告的用户数是在两个服务器上运行的用户总数。因此,半数的用户在其中的一台服务器上运行,另外一半用户在与这个服务器相匹配的集群伙伴上运行。规定了总用户数,使 Domino 6.5 不会被负载所占满。这使 Domino 6.5 能够承受这一负载,并达到稳定状态。

设置了集群复制器的数目,使集群复制不会落后多于 15 分钟的时间间隔(900 秒)。

如何使用 Server.Load 运行 Enterprise Mail 测试

Server.Load 是可以在安装 Domino 时进行安装的工具。要启用 Enterprise Mail 工作负载作为 Server.Load 中的一个选项,将下列内容添加到 Notes.ini 文件中:SL_ENABLE_ENTMAIL_WORKLOADS=1。

在运行 Enterprise Mail 工作负载之前,必须正确配置两个服务器以及 Server.Load 驱动程序。配置 Enterprise Mail 的操作说明位于数据库 Namagent.nsf 中。这个数据库安装在安装 Server.Load 的系统的数据目录下。打开该数据库后,转到 “Using this Database” 文档(Help - Using this Database)。在这个文档的最底部是一个名为 EntMail.zip 的附件。可以解压缩这个文件,其中包含很多对配置 Enterprise Mail 很有帮助的文件。这些文件中的一个帮助文件描述了 Enterprise Mail(EntMail_help.txt),还有配置操作说明(EntMail_setup_Windows.txt 和 EntMail_setup_zseries.txt)。

Notes.ini 设置

在测试中,使用一些与性能相关的 Notes.ini 变量来帮助优化服务器性能。例如,在 Domino 6.5.x 中引入了 FTUpdate_Idle_Time 和 Update_Idle_Time 设置。变量 FTUpdate_Idle_Time (以秒为单位)指定何时进行全文更新,变量 Update_Idle_Time 用来设置视图更新的频率。对于这两个变量,默认的时间频率都是 5 秒。Domino 7 具备更高效的集群复制,所以使用这两个设置来减缓 Domino 7 中的更新,以确保在 Domino 7 中所完成的工作量与在 Domino 6.5 中完成的大致相同。这样就能够对 CPU 的使用情况作出有效的比较。

对 cluster_replicator 变量的设置,设置了集群复制器的数目。在 Domino 6.5 中,要将这个变量设置为比 Domino 7 中的数目高,以保持集群复制不会落后多于 15 分钟的时间间隔。

将变量 ServerTasks 设置为 update、replica、router、amgr 和 adminp。并且将变量 EnableForcedFillOnFileExtend 设置为 1,以支持 Domino 明确地使用操作系统/文件系统来扩展数据库文件(NSF)。

变量 NSF_DBCache_Max_Clean_Hold_Time 决定了在数据库从缓存中移除之前,以清除状态驻留在 DbCache 中的时间长度(以分钟为单位)。将该变量设置为较高的值,以允许数据库在缓存中驻留更长的时间,这会减少服务需要完成的工作量。

此外,建议在所有 Domino 生产性集群计算机上设置变量 Server_Transinfo_range。这个变量决定了当服务器繁忙时,客户机请求故障转移的敏感度。决定把这个变量设置为何值将是一个反复的过程,要根据对 Server Expansion Factor 和 Server Availability Index 的监控来设置该值。要完全理解这些变量以及如何对它们进行设置,请参阅 Domino 7 文档 中关于配置 Server Availability Index 的部分。(我们没有将服务器设置为使用故障转移,所以这个设置不会对测试产生影响。)

可以在 Domino 7 文档中找到关于这些变量和所有其他的 Notes.ini 变量的全部信息。同时,一篇即将发表的 developerWorks Lotus 文章将探讨与 Domino 7 性能相关的 Notes.ini 变量。

在本文的以下几节中,将讨论具体的测试结果,这些测试结果是分别在 AIX、iSeries、Solaris 9、Windows 2003、zSeries linux 和 z/OS 平台上获得的。

AIX

在 AIX 上进行的测试是运行在一台 pSeries Model p570 Power 5 计算机上的,运行的是最新版本的 AIX 5.3 操作系统。使用一个专用的逻辑分区(Logical Partition,LPAR),两个物理 1.65 GHz CPU 指定给这个分区。AIX 5.3 操作系统和 Power 5 型号的硬件支持 Symmetrical MultiThreading(SMT),为我们提供了(在此例中)两个附加的虚拟 CPU。使用了 Network Appliance Filer 配置作为网络附属存储(Network Attached Storage)单元。LPAR 配置为带有两个 Domino 分区,同时作为 Domino 服务器集群运行。所有的测试都是在启用事务日志记录的情况下运行的,事务日志记录使用循环的模式运行。测试使用的并发模拟用户总数为 6000,3000 个用户的主邮件服务器定义在一个 Domino 服务器上。有 20% 的用户定义为具有本地邮件文件副本。安排每小时与 Domino 服务器之间进行“拉入”复制。同时还启用了更新和全文索引。

下表显示了 AIX 测试的硬件/软件设置:

型号p570
CPU2 个 1.65 GHz
安装的内存8 GB
Network Appliance FilerNAS 配置
操作系统AIX 5.3 64 位内核

为帮助优化性能,我们将下列设置添加到测试服务器的 Notes.ini 文件中:

Domino 6.5Domino 7
NSF_DBCache_MaxEntries=7100
Server_max_concurrent_trans=60
Server_show_performance=1
Server_TransInfo_Range=22
Cluster_replicators=8
NSF_Buffer_Pool_Size_MB=512
NSF_DBCache_MaxEntries=7100
NSF_DBCache_Max_Clean_Hold_Time=9999
NSF_Buffer_Pool_Size_MB=512
server_pool_tasks=60
server_max_concurrent_trans=60
server_show_performance=1
Server_Transinfo_range=22
Cluster_replicators=4
FTUpdate_Idle_Time=25
Update_Idle_Time=25
RTR_MAX_POOLSIZE_MB=200
ServerTasks=Replica,Router,Update,Adminp

对 Server_Pool_Tasks 和 Server_Max_Concurrent_Trans 值进行设置,以便支持在各 Domino 版本上获得较高的终端用户数目。在更改这些设置的默认值之前,我们建议先进行分析以优化所使用的值。还需要为 Domino 7 测试的运行调整集群复制池的大小,通过设置变量 RTR_MAX_POOLSIZE_MB 来实现。(这个设置只需要在测试环境中进行,但是如果达到了池的最大限额,将会出现一个错误消息。)在测试的过程中客户机的响应时间都小于 1 秒。图 1 显示了测试结果。


图 1. AIX 的 CPU 使用情况
AIX 的 CPU 使用情况

如图 1 所示,在相同的模拟用户数量下,相同的时间内运行相同的工作负载,结果显示 Domino 7 与 Domino 6.5 相比减少了 27% 的 CPU 资源占用。当 Domino 7 运行 mail7.ntf 而 Domino 6.5 运行 mail6.ntf 时,CPU 资源占用减少了 22%。

下表包含使用两种模板执行测试所得到的资源使用情况。第一个表显示了运行 mail6.ntf 邮件模板和 6000 个模拟用户的结果:

资源Domino 6.5Domino 7变化(百分比)
CPU 占用百分比9771-27
磁盘读取 请求/秒20,72822,0656
磁盘写入 请求/秒30,73332,9807
使用的共享内存(MB)12091032-15
进程使用的内存(MB)6310973
网络 bytes/sec19,20320,7798

在第二个表中,我们模拟的 Domino 7 用户运行 mail7.ntf 邮件模板,而 Domino 6.5 用户运行 mail6.ntf 邮件模板:

资源Domino 6.5Domino 7变化(百分比)
CPU 占用百分比9776-22
磁盘读取 请求/秒20,72828,46637
磁盘写入 请求/秒30,73337,71223
使用的共享内存(MB)12091045-14
进程使用的内存(MB)6310567
网络 bytes/sec19,20322,67118

在这些表中显示的硬盘和网络资源的使用数据都是在 Network Appliance Filer 中使用 sysstat 命令测量的。

iSeries

为 iSeries 环境配置了两个 Domino 分区,数据点逐渐增加至 4000 个用户。有五台客户机,每台客户机模拟 800 个用户,总共为 4000 个邮件用户。默认情况下,在 iSeries 上,数据均匀地分布在磁盘驱动器上。通过单一的 1 GB 以太网适配器连接到网络。下表列出了 iSeries 测试的配置:

型号9604/520
CPU2 个 1.9 GHz
安装的内存3.583 GB
磁盘驱动器62
操作系统i5/OS V5R3

添加下列设置到测试服务器的 Notes.ini 文件中:

Domino 6.5Domino 7
NSF_buffer_pool_size_MB=300
Server_Pool_Tasks=60
Server_Max_Concurrent_trans=100
NSF_DBcache_maxentries=4100
server_show_performance=1
platform_statistics_enabled=1
NSF_buffer_pool_size_MB=300
Server_Pool_Tasks=60
Server_Max_Concurrent_trans=100
NSF_DBcache_maxentries=4100
server_show_performance=1
platform_statistics_enabled=1

与在其他平台上一样,运行在 iSeries 平台上的 Domino 7 也获得了 CPU 利用率和可伸缩性方面的改进。在最多包含 4000 个用户的多个数据点上,Domino 7 与 Domino 6.5 相比 CPU 资源占用都减少了(参见图 2)。


图 2. iSeries 的 CPU 使用情况
iSeries 的 CPU 使用情况

在测试的过程中客户机的响应时间都小于 1 秒。

下面的表显示了不同模板间相互比较的资源使用情况。第一个表显示了运行 mail6.ntf 邮件模板的 4000 个模拟用户:

资源Domino 6.5Domino 7变化(百分比)
CPU 占用百分比54.846.8-15
平均响应时间(msec)
100 MB/sec Ethernet
123111-10

在第二个表中,我们模拟的 Domino 7 用户运行 mail7.ntf 邮件模板,而 Domino 6.5 用户运行 mail6.ntf 邮件模板:

资源Domino 6.5Domino 7变化(百分比)
CPU 占用百分比54.849.2-10
平均响应时间(msec)
100 MB/sec Ethernet
123100-19

Domino 6.5 在 4000 个用户时使用 54.8% 的 CPU 资源,平均响应时间是 0.123 秒。Domino 7 使用 mail6.ntf 邮件模板在 4000 个用户时占用 46.8% 的 CPU 资源,平均响应时间是 0.111 秒;Domino 7 使用 mail7.ntf 邮件模板在 4000 个用户时使用 49.2 % 的 CPU 资源,平均响应时间为 0.100 秒。在 4000 个用户时,使用 mail6.ntf 邮件模板 Domino 7 节省了 15% 的 CPU 资源,使用 mail7.ntf 邮件模板 Domino 7 节省了 10% 的 CPU 资源。

Solaris 9

用于 Solaris 测试的 Domino 集群包含两台 Sun 服务器,每台都有八个 CPU 6800 和一个极快速的 12-way,dual-core 2900。我们将展示来自较慢的 6800 的详细结果,因为它是这个测试中的限制因素。Sun 6800 由一个来自 12 CPU 系统的 8 CPU 域构成。我们有七个 T3 阵列,每个阵列带有九个驱动器供测试使用。在第一个阵列上安装了 Domino 可执行文件,用户数据库均匀分布于前六个阵列。第七个阵列用作 Domino 事务日志记录。

在 Domino 目录中总共定义了 14,000 个用户,所有的用户在测试过程中都处于活动状态。这些模拟用户分布在 14 个客户机驱动工作站上,每个工作站模拟 1000 个用户。一半的用户使用 6800 作为他们的主服务器。该表显示了 6800 硬件设备的大致情况:

型号Sun 6800
CPU8 个 1050 MHz
安装的内存32 GB
活动物理驱动器63
活动逻辑卷6 个 Raid 0 阵列用于数据
1 个 Raid 0 阵列用于事务日志记录
操作系统Solaris 9

Domino 6.5 和 Domino 7 测试的配置设置很相似,最大的不同是对于 Domino 7,可以将集群复制器任务数目从 8 减小为 6,这样仍然可以达到保持平均集群复制队列时间在 15 分钟以内的基准测试目标。Domino 7 服务器还能够配置为利用 Solaris 大页面文件支持。下表显示了对每台服务器上的 Notes.inil 文件所做的更改:

Domino 6.5Domino 7
NSF_Buffer_Pool_Size_MB=1128
NSF_DBCACHE_MAXENTRIES=14100
server_pool_tasks=100
server_max_concurrent_trans=100
ServerTasks=Replica,Router,Update,Adminp,Amgr,LDAP
RTR_MAX_POOLSIZE_MB=800
FTUpdate_Idle_Time=25
Update_Idle_Time=25
cluster_replicators=8
NSF_Buffer_Pool_Size_MB=1128
NSF_DBCACHE_MAX_CLEAN_HOLD_TIME=9999
NSF_DBCACHE_MAXENTRIES=14100
server_pool_tasks=100
server_max_concurrent_trans=100
ServerTasks=Replica,Router,Update,Adminp,Amgr,LDAP
Server_TransInfo_Range=22
RTR_MAX_POOLSIZE_MB=800
FTUpdate_Idle_Time=25
Update_Idle_Time=25
MEM_EnablePreAlloc=1
ConstrainedSHMSizeMB=3000
cluster_replicators=6

下一张表比较了在集群上运行 14,000 个活动用户时,Domino 6.5 和 Domino 7 所使用的系统资源。对于 Domino 6.5 的测试,邮件文件是基于 mail6.ntf 模板的,而 Domino 7 上得到的测试结果使用的是 mail7.ntf 模板。

资源Domino 6.5Domino 7变化(百分比)
邮件用户总数14,00014,000
响应时间(msec)10767-37
CPU 占用96.469.7-28
Domino 占用内存(MB)22972280-1
网络总量 bytes/sec4,011,7113,663947-9
Replica.cluster.SecondsOnQueue494603

在测试的过程中客户机的响应时间都小于 1 秒。

在其他基准测试中都试图找到测试系统可以支持的最大用户数量,而这个基准测试集中于了解支持一个固定的用户数量所需的硬件资源。在这里,可以看到使用 Domino 7 时,最重要的 CPU 资源占用下降了 28%,同时网络和内存的使用情况几乎没有变化。

Windows 2003

对于 Windows 测试,Domino 7 安装在 eServer xSeries 360 上的单一分区的集群服务器上,一台 Compaq Proliant DL580 服务器运行的是 Windows 2003 Enterprise Server,这台服务器带有两个物理的处理器,没有超线程,还有大约 3.5 GB 的可用内存。Domino 可执行文件和操作系统一同安装在单一的网络驱动器上。邮件数据库分布于两个 IBM EXP 阵列(直连 SCSI),阵列在每个服务器上都配置为 RAID 0。通过一个 1 GB 以太网适配器进行网络访问,在全双工模式下运行。事务日志记录保存在独立磁盘上,运行时间优先,并设置最大大小为 4 GB。

下表显示了 Windows 测试的硬件/软件配置。第一个表中包含了 xSeries 的配置数据:

型号eServer xSeries 360
CPU2 个 2.0 GHz
安装的内存3.5 GB
活动物理驱动器28 个硬盘
活动逻辑卷2 个 RAID 0 阵列
操作系统Windows 2003 Enterprise Server with SP1

下表显示了用于测试的 Compaq Proliant DL 580 的硬件/软件配置:

型号Compaq Proliant DL 580
CPU2 个 1.4 GHz
安装的内存3.6 GB
活动物理驱动器28 个硬盘
活动逻辑卷2 个 RAID 0 阵列
操作系统Windows 2003 Enterprise Server with SP1

添加下列设置到测试服务器的 Notes.ini 文件中:

Domino 6.5Domino 7
NSF_DBCache_MaxEntries=4100
Server_pool_tasks=60
Server_max_concurrent_trans=60
Server_show_performance=1
Server_TransInfo_Range=9
Cluster_replicators=8
ServerTasks=replica, router, update, amgr, adminp
NSF_DBCache_MaxEntries=4100
server_pool_tasks=60
server_max_concurrent_trans=60
server_show_performance=1
Server_TransInfo_Range=9
Cluster_replicators=3
FTUpdate_Idle_Time=25
Update_Idle_Time=25
EnableForcedFillOnFileExtend=1
NSF_DBCache_Max_Clean_Hold_Time=9999
ServerTasks=replica, router, update, amgr, adminp

Domino 7 和 Domino 6.5 的测试都运行 4000 个用户。

对于该测试,两个服务器没有进行负载平衡(也就是说,它们的处理能力是不同的)。Compaq 服务器已经使用了几年了,CPU 的时钟频率较低。由于限制了集群中的用户数目,所以在较低性能的服务器上 Domino 6.5 不会无法承受负载。我们将指出运行在 xSeries 上的 Domino 6.5 与运行在 Compaq 服务器上的一些不同之处。

Domino 7 的 CPU 使用情况有很小的差异(使用带有 Domino 6.5 模板的数据库),并且在 Windows 上使用 Domino 7 模板,每台服务器上有 2000 个用户时差异也很小。用于 Windows 的全部 Domino 7 测试的数据库使用的都是 mail7.ntf 模板,用于 Domino 6.5 测试的数据库使用的是 mail6.ntf 模板。在测试的过程中客户机的响应时间都小于 1 秒。

下表显示了 Domino 7 与 Domino 6.5 相比 CPU 性能改进的百分比:

用户数Domino 6.5 CPU 使用情况(百分比)Domino 7 CPU 使用情况(百分比)变化(百分比)
100011.58.8-23
200022.718.2-20
300038.826.7-32
400052.235.5-32

下表比较了 xSeries 服务器上的资源使用情况。

资源Domino 6.5Domino 7变化(百分比)
用户总数40004000
响应时间(msec)162126-22
CPU 占用52.235.5-32
实际内存使用(GB)1.771.75-1
网络总量 bytes/sec 1,171,0111,197,343+2
数据磁盘繁忙百分比(百分比)353339-4

正如从数据中所看到的,运行在 Windows 2003 操作系统上的 Domino 7 比 Domino 6.5 有显著的 CPU 性能改进。这两个版本在内存、磁盘和网络资源的使用方面基本相同。这个测试以及以前的测试,有效地证明了与 Domino 6.5 相比,Domino 7 在可伸缩性、性能和 TCO 方面的改进。

zSeries Linux

本节中探讨的所有 zSeries Linux 性能测试结果都来自 series z990 型号 2084-C24 上的一个逻辑分区(LPAR)。z990 有 24 个可用的 CPU,其中 3 个专用于性能测试 LPAR。其余的 18 个 CPU,以及一些其他的设备资源,共享给另外 13 个用于 Domino 开发和测试活动的 LPAR。对于这些测试,仅使用六个 CPU 中的三个以便在较高的 CPU 占用下驱动负载。性能测试 LPAR 配置了 12 GB 的内存。在 SLES 8 上,仅使用了 2 GB 的中心内存,因为是 31 位的操作系统,2 GB 的扩展内存将用于交换空间。在 SLES 9 上,总共使用 12 GB。在这个 LPAR 上运行两个 Domino 分区。使用两个 1 GB Ethernet Open Systems Architecture(OSA)卡。我们的 LAN 是独立的。所有的磁盘都是从 Enterprise Storage Server(2105 型号 800)阵列分配的,每一个磁盘都配置为 3390 型号 3。

有独立的文件系统位于单一的卷(磁盘)上,用于 Domino 的执行、数据(除了客户机邮件数据库)和 Domino 目录(Names.nsf),还有逻辑卷管理器(LVM)文件系统中的两个卷用于事务日志记录。客户机邮件数据库均匀分布于 52 个 LVM 文件系统,每一个分配都横跨单独 LVM 中的五个卷,为每一个文件系统提供 11.5 GB 的可用空间。EXT 3 文件系统用于 zSeries 上的 Linux。安装的操作系统为带有 SP3 的 SLES 8 或带有 SP1 的 SLES 9。我们在运行中启用了事务日志记录,使用硬件代替 LZ1 软件来压缩数据。只有在 zSeries 上的 Domino 7 中提供此功能。

下表显示了 zServer Linux 测试的硬件/软件配置。

型号z990 2084-C24
CPU3 个
安装的内存12 GB
DASD 型号2105 型号 800, 3390 型号 3 类型的卷
文件系统52 x 5 LVM 邮件数据库,7 个其他卷用于每个 Domino 分区的 notesdata、notesbin、Domino 目录、邮箱、实用程序和事务日志
操作系统SLES 8 SP3 / SLES 9 SP1

下表显示了对每台服务器上的 Notes.inil 文件所做的更改:

Domino 6.5Domino 7
TRANSLOG_Status=1
TRANSLOG_MaxSize=3000
TRANSLOG_Performance=1
NSF_BUFFER_POOL_SIZE_MB=256
Server_TransInfo_Range=9
cluster_replicators=9
UPDATE_QUEUE_ENTRY_MAX=20000
NSF_DBCACHE_MAX_CLEAN_HOLD_TIME=9999
ServerTasks=Replica,Router,Update,Adminp
TRANSLOG_Status=1
TRANSLOG_MaxSize=3000
TRANSLOG_Performance=1
NSF_BUFFER_POOL_SIZE_MB=256
Server_TransInfo_Range=9
cluster_replicators=4
UPDATE_QUEUE_ENTRY_MAX=20000
NSF_DBCACHE_MAX_CLEAN_HOLD_TIME=9999
ServerTasks=Replica,Router,Update,Adminp
FTUpdate_Idle_Time=25
Update_Idle_Time=25

图 3 显示了 Domino 6.5 和 Domino 7 运行 Enterprise Mail 工作负载时 CPU 的性能改进,测试了来自 Domino 6.5 的 mail6.ntf 模板和 mail7.ntf 模板:


图 3. zSeries 上 Linux 的 CPU 使用情况
zSeries 上 Linux 的 CPU 使用情况

在测试的过程中客户机的响应时间都小于 1 秒。

下面三张表显示了在测试 6000 个用户,使用 mail6.ntf 和 mail7.ntf 模板时,资源的使用情况。第一个表显示了使用 mail6.ntf 模板在 SLES 8 上得到的测试结果:

资源Domino 6.5Domino 7变化(百分比)
稳定状态下平均 CPU 使用百分比96.3065.80-37
内存使用情况(GB)22
每秒钟进交换区的页数57823242-44
每秒钟出交换区的页数1120570-49
NotesMark 936794281
响应时间(msec)245131-47

第二个表显示了在 SLES 8 上 Domino 7 用户运行 mail7.ntf 模板得到的数据:

资源Domino 6.5Domino 7变化(百分比)
稳定状态下平均 CPU 使用百分比96.3066.87-31
内存使用情况(GB)22
每秒钟进交换区的页数57823081-47
每秒钟出交换区的页数1120528-53
NotesMark 936794291
响应时间(msec)245146-40

第三个表显示了在 SLES 9 上 Domino 7 用户运行 mail6.ntf 模板得到的数据:

资源Domino 6.5Domino 7变化(百分比)
稳定状态下平均 CPU 使用百分比96.3067.88-30
内存使用情况(GB)212
每秒钟进交换区的页数57820
每秒钟出交换区的页数11200
NotesMark 936794050
响应时间(msec)245109-56

测试结果显示了运行使用 mail6.ntf 模板的 Domino 7 得到 37% 的 CPU 性能改进,运行使用 mail7.ntf 模板的 Domino 7 得到 31% 的 CPU 性能改进,在 SLES 9 上使用 mail6.ntf 邮件模板的 Domino 7 得到 30% 的 CPU 性能改进。显然,与 Domino 6.5 相比,使用 mail6.ntf 和 mail7.ntf 模板的 Domino 7 都得到了较大的性能改进。结果,在 Domino 7 上 CPU 资源的节省转换为高工作负载下的稳定性,从而允许运行在 zSeries 服务器 Linux 上的单一 Domino 7 支持更多的客户机。更重要的是,与运行在 zSeries 服务器 Linux 上的 Domino 6.5 相比,Domino 7 上更少的 CPU 资源需求能够产生总体拥有成本实质性的降低。

z/OS

本节中描述的所有 z/OS 性能测试,都运行在与 zSeries Linux 测试相同的硬件系统上(参见上节)。 一个位于单独卷(磁盘)上的单独的 z/FS 文件系统,用于 Domino 的执行、数据(除了客户机邮件数据库)和 Domino 目录(Names.nsf)。一个文件系统横跨两个卷,用于事务日志数据。客户机邮件数据库均匀分布于 52 个 z/FS,每一个分配都横跨五个卷,为每一个文件系统提供 11.5 GB 的可用空间。安装的操作系统是 z/OS 版本 1 R5。 我们在运行中启用了事务日志记录,使用硬件代替 LZ1 软件来压缩数据。只有在 zSeries 上的 Domino 7 中提供此功能。

下表显示了 z/OS 测试的硬件/软件配置:

型号z990 2084-C24
CPU3 个
安装的内存12 GB
DASD 型号2105 型号 800, 3390 型号 3 类型的卷
文件系统52 x 5 z/FS 邮件数据库,7 个其他卷用于每个 Domino 分区的 notesdata、notesbin、Domino 目录、邮箱、实用程序和事务日志
操作系统z/OS 1.5

下表显示了对每台服务器上的 Notes.inil 文件所做的更改:

Domino 6.5Domino 7
TRANSLOG_Status=1
TRANSLOG_MaxSize=3000
TRANSLOG_Performance=1
NSF_BUFFER_POOL_SIZE_MB=256
Server_TransInfo_Range=9
cluster_replicators=8
UPDATE_QUEUE_ENTRY_MAX=20000
NSF_DBCACHE_MAX_CLEAN_HOLD_TIME=9999
ServerTasks=Replica,Router,Update,Adminp
TRANSLOG_Status=1
TRANSLOG_MaxSize=3000
TRANSLOG_Performance=1
NSF_BUFFER_POOL_SIZE_MB=256
Server_TransInfo_Range=9
cluster_replicators=4
UPDATE_QUEUE_ENTRY_MAX=20000
NSF_DBCACHE_MAX_CLEAN_HOLD_TIME=9999
ServerTasks=Replica,Router,Update,Adminp
FTUpdate_Idle_Time=25
Update_Idle_Time=25

图 4 显示了 Domino 6.5 和 Domino 7 运行 Enterprise Mail 工作负载时 CPU 的性能改进,测试了来自 Domino 6.5 的 mail6.ntf 模板和 mail7.ntf 模板:


图 4. zSeries 上 z/OS 的 CPU 使用情况
zSeries 上 z/OS 的 CPU 使用情况

在测试的过程中客户机的响应时间都小于 1 秒。

接下来的两个表显示了在使用两个模板测试 6000 个用户时资源的使用情况。第一个表显示了使用 mail6.ntf 模板得到的结果:

资源Domino 6.5Domino 7变化(百分比)
稳定状态下平均 CPU 使用百分比94.8665.19-31.28
内存使用情况(MB)56695167-8.8
NotesMark 940894340
响应时间(msec)17972-60

第二个表显示了 Domino 7 用户运行 mail7.ntf 模板得到的数据:

资源Domino 6.5Domino 7变化(百分比)
稳定状态下平均 CPU 使用百分比94.8669.86-26.35
内存使用情况(MB)56695197-8.3
NotesMark 940894480
响应时间(msec)17983-54

测试显示了运行使用 mail6.ntf 模板的 Domino 7 得到 31% 的 CPU 性能改进,运行使用 mail7.ntf 的 Domino 7 得到 26% 的性能改进。与 Domino 6.5 相比,使用 mail6.ntf 和 mail7.ntf 模板的 Domino 7 都得到了较大的性能改进。





结束语

实验室测量显示了 Domino 7 在给定 CPU 资源数量的情况下,与以前的版本相比能够完成更多的工作。而且,Domino 7 在给定工作量时使用的系统资源大大减少。测量这一改进所使用的基准测试,比以前所使用的任何基准测试都能够更加接近地代表真实的客户环境。最终的结果是使用 Domino 7 的总体拥有成本显著降低。

作者简介

Rich Buck 在 IBM 有长期从事性能方面工作的经验。Rich 的工作涉及 Domino 支持的所有操作系统,当前集中于 Solaris 操作系统。


George Demetriou 是 Lotus Software Group 的软件工程师。他的主要任务是开发和维护用于 Domino 性能测试的工具。


Wu W Huang 是 Lotus Domino Performance 团队的一员,他的工作主要集中于 zSeries 平台。


Dick Locker 是 iSeries Domino Performance 团队的软件工程师。


Angelo Lynn 是 Domino Performance 团队的性能工程师。他目前主要负责基于 Windows 平台的 Domino 性能问题。他刚毕业于 Northeastern 大学。


Andy Nolet 自 20 世纪 90 年代末期就开始从事与 Notes 性能相关的客户方面的工作。加入 Domino Performance 团队之前,Andy 在 Lotus Support 部门工作。


Jim Powers 是 Domino Performance 团队的一员。以前,Jim 负责领导 Lotus Domino Support 组织的性能团队。他从事计算机系统的工作经验有 30 多年了,在他的职业生涯中,从事过各种硬件和软件方面的工作。