级别: 中级 Razeyah Stephen, 经理, IBM Joe Malek (jmalek@us.ibm.com), 软件工程师, IBM Leon Desy (ldesy@us.ibm.com), 软件开发人员, IBM
2007 年 10 月 08 日 了解 IBM Lotus Notes/Domino V8 对 NotesBench 和 Server.Load 工作负载所做的改进。三个新的工作负载(N8Mail、N7Mail 和 N8MailInit)反映了 Lotus Notes 用户与 Lotus Domino 服务器进行交互时的典型任务。
了解 Lotus Notes 用户获得的真实性能的方法之一是,尽可能真实地模拟 Lotus Notes V8 和 Lotus Notes V7 客户机执行的 API 调用。全新的 N8Mail 和 N7Mail 工作负载用来再现这些调用,它们产生更大的事务处理速率,这意味着它们产生的数据与以前的 R6Mail 结果不同,不能直接地相互比较这些结果。以后会提供一篇文章来详细比较 Lotus Domino V8.0 和 Lotus Domino V7.0 为 Notes 客户机提供的性能。
本文帮助系统管理员和设计人员了解在 Lotus Notes/Domino V8 环境中执行性能度量的方法。本文假设读者是有经验的 Lotus Domino 管理员。
NotesBench 和 Server.Load 工作负载
NotesBench 工作负载只供 NotesBench Consortium 的成员使用。Server.Load 是 NotesBench 工作负载的 GUI 版本,可供所有客户使用。Server.Load 是基于 Lotus Domino 特性的负载生成工具,可以使用它度量并描述各种 Lotus Domino 服务器的容量和响应标准。对于 Lotus Notes 和 Domino V8,可以使用 Server.Load 和 NotesBench 中提供的工作负载。工作负载(也称作测试或脚本)模拟从 Lotus Domino 客户机到服务器的操作行为。工作负载使我们能够用一个通用工具对 Lotus Domino 服务器施加一致的可重复的负载,这样就可以评估各种操作系统、硬件和配置修改的效果。若要了解 Server.Load 的概况,请参阅 developerWorks Lotus 文章 “Introduction to Domino performance tuning”。在安装 Lotus Domino Administrator 客户机时,可以选择安装 Server.Load。Server.Load 的文档包含在 Lotus Domino Administrator 帮助 中。
 | |
Lotus Domino Performance 小组一直为 Lotus Domino Administrator 客户机自带的 Server.Load 实用程序添加特性和增强功能。对于每个主要的 Lotus Notes 和 Lotus Domino 版本,用户都向小组指出他们使用产品的方式发生了变化,因此工作负载也应该相应地改变。除了参考用户的反馈之外,我们还特别注意了 Lotus Notes V8 客户机中的变化,从而让工作负载精确地反映用户操作。这种精确性能够使小组确保工作负载中 Lotus Domino 服务器产生的事务与 Lotus Notes V8 客户机的实际情况匹配。另外,在这个版本中,我们集成了 Lotus Domino 环境的工作负载设置组件,这是以前的工作负载版本没有涉及的。新的组件包括所有默认服务器任务、邮件日志、事务日志记录、Lotus Domino Domain Monitoring(DDM)探测、邮件规则和更大的邮件文件。这些组件使 N8Mail 工作负载能够更真实地反映典型环境中 Lotus Notes 用户与 Lotus Domino 服务器的交互情况。我们还创建了 N7Mail 工作负载,它在本质上执行与 N8Mail 相同的用户工作负载操作。但是在幕后,各个命令精确地将 Lotus Notes V7 客户机事务反映到 Lotus Domino V7 服务器。由于采用这种方式,适用于 N8Mail 的所有文档也适用于 N7Mail。最后,我们提供了 N8MailInit 工作负载。这个工作负载按照本文后面介绍的新描绘的用户模型填充 N8Mail 和 N7Mail 所用的邮件数据库。
表 1 到表 4 所示的用户数只是运行基准脚本的实例,它们不一定与服务器上部署的实际用户数相关。N8Mail 和 N7Mail 工作负载中所做改进的目标是,让用户模型更接近典型的生产用户。因为模拟每种客户使用场景很困难,所以您应该与 IBM TechLine 和自己的硬件供应商联系,了解最适合您的配置和环境的容量计划和部署建议。
 |
不同 Lotus Domino 版本使用的工作负载
可以使用 N8Mail 工作负载对 Lotus Domino V8.0 进行基准测试。
可以使用 N7Mail 工作负载对 Lotus Domino V6.0.x、Lotus Domino V6.5.x、Lotus Domino V7.0.x 和 Lotus Domino V8.0 进行基准测试。
可以使用 R6Mail 工作负载对 Lotus Domino V5.0.x、Lotus Domino V6.0.x、Lotus Domino V6.5.x、Lotus Domino V7.0.x 和 Lotus Domino V8.0 进行基准测试。
|
|
定义工作负载使用模式
当我们开始开发新的 Lotus Domino 主要版本时,会审查工作负载的当前版本。通过与 Lotus Notes 和 Domino 开发人员和客户进行讨论,审查生产数据,评估行业的趋势,从 NotesBench Consortium 的成员和各个 Lotus Domino 性能小组收集反馈,我们定义了新的工作负载,它们模拟我们对未来 24 个月内用户使用模式的预测。
新的工作负载提供了什么?
在完成所有调查研究(并充分理解了用户的意见和反馈)之后,我们为 Lotus Notes 和 Domino V8 开发了新的工作负载。这些工作负载可以提供以下功能:
- 确保精确地模拟 Lotus Notes V8 和 Lotus Notes V7 客户机向 Lotus Domino 服务器发出的事务。
- 考虑了比以前更真实的 Lotus Domino 服务器测试环境。
- 通过增加特性和使用模式的多样性,让描绘的用户模型更接近企业用户。因此,与以前的工作负载相比,这些工作负载能够为部署计划提供更真实的信息(CPU、磁盘、内存和网络)。
工作负载定义
N8Mail 模拟完整的 Lotus Notes V8 客户机用户。Lotus Notes 和 Domino V8 工作负载的新特性见表 1。
表 1. 更真实的 N8Mail 和 N7Mail 邮件数据库配置
| N8Mail/N7Mail | R6Mail |
|---|
| 邮件数据库大小 | 大约 250 MB | 20 MB |
|---|
| 平均文档大小 | 100 KB | 10 KB |
|---|
| 初始文档数 | 3,000 | 100 |
|---|
生成的消息
新的工作负载增加了创建/发送演示文档的频率。在一个平均 6 小时的运行周期中生成 50 个文档,每次迭代生成一个文档,而且以后每次迭代增加一个文档。一次迭代大约 15 分钟。收件人数量现在在一个到三个之间变化。目前的邀请和约会比较少,每 6 小时一个。总的来说,在 6 小时的运行周期中,为每个用户生成 50 个演示文档、邀请和 RSVP,涉及大约 78 个收件人。一个新特性是为接收到的邮件生成回复,每次迭代一个。关于演示配置的更多细节见表 2。
表 2. R6Mail、N8Mail 和 N7Mail 的演示配置
| 消息体大小(KB) | 附件大小(KB)(如果有附件的话) | 百分比 |
|---|
| 500 | N/A | 10 |
|---|
| 10,000 | N/A | 30 |
|---|
| 50,000 | N/A | 40 |
|---|
| 50,000 | 50,000 | 10 |
|---|
| 150,000 | N/A | 9.5 |
|---|
| 1,000 | 10,000,000 | 0.5 |
|---|
R6Mail、N8Mail 和 N7Mail 所用的配置是相同的,所以可以假设这种分布是有效的。表 3 进一步描述了新工作负载中发生的变化,其中给出从邮件收件人角度看到的消息分布情况。
表 3. N8Mail 和 N7Mail 的消息分布
消息大小分布
(使用配置选项) | 占收件人接收的消息总数的百分比 | 附件大小(如果有附件的话) |
|---|
| 0 < 大小 <= 1K | 32.0% | N/A |
|---|
| 1K < 大小 <= 10K | 3.6% | N/A |
|---|
| 10K < 大小 <= 100K | 57% | 50 KB |
|---|
| 100K < 大小 <1M | 6.8% | N/A |
|---|
| 1M < 大小 <= 10M | 0.4% | 10 MB |
|---|
注意:这些百分比并不与前面描述的消息配置中定义的百分比匹配,因为配置只用于演示文档。它不用于回复、邀请或 RSVP,而这个表考虑了这些内容。
新的 N8Mail 和 N7Mail 用户操作包括:
- 将任意文档从收件箱转移到 NotesBench 文件夹
- 读取最新的收件箱内容
- 回复已经读取的消息
- 将所有已经发送的消息保存在 Sent 文件夹中
- 每 15 分钟(也就是每次迭代)检查一次新邮件
在表 4 中可以看到,与 R6Mail 相比,N8Mail/N7Mail 现在总共多了 35 个事务(267 - 232),也就是每次迭代每个用户多了 1.45 个事务:
表 4. 用户操作:N8Mail、N7Mail 和 R6Mail(6 小时的运行周期,24 次迭代)
| 工作负载操作 | N8Mail 和 N7Mail 工作负载操作数 | R6Mail 工作负载操作数 |
|---|
| 刷新收件箱 | 24 | 24 |
|---|
| 读取消息 | 120(每次迭代 5 次读取) | 120(每次迭代 5 次读取) |
|---|
| 回复所有消息 | 12 | N/A |
|---|
| 向一个收件人发送消息 | 24 | N/A |
|---|
| 向三个收件人发送消息 | 12 | 4(NthIteration 设置为 6) |
|---|
| 创建约会 | 1 | 4(NthIteration 设置为 6) |
|---|
| 发送邀请 | 1 | 4(NthIteration 设置为 6) |
|---|
| 发送 RSVP | 1 | 4(NthIteration 设置为 6) |
|---|
| 将文档移动到 NotesBench 文件夹 | 24 | N/A |
|---|
| 检查新邮件 | 24 | N/A |
|---|
| 删除两个文档 | 24 | 24 |
|---|
| 给文档加标志(第 6 版) | N/A | 24 |
|---|
| 在收件箱中添加文档(第 6 版) | N/A | 24 |
|---|
| 总事务数(每个用户在 6 小时的运行周期中,24 次迭代) | 267 | 232 |
|---|
注意:一次迭代大约 15 分钟。另外,因为 N8Mail 和 N7Mail 使用相同的用户操作集,工作负载操作数是相同的,所以将它们显示在同一列中。
- 发送 3,000 个邮件消息(来自不同的用户)来填充收件箱
- 用适当的字段创建必需的配置文档
- 创建一个 NotesBench 文件夹
- 为收件箱中最新的邮件生成 5 个回复
- 在数据库中存储 10 个邀请
- 可选地添加阻塞发送者(blocksender)规则
- 在规则中添加 10 个不属于有效工作负载用户的用户
- 可选地添加颜色配置
- 运行 Updall -R <maildb> 更新邮件数据库
服务器配置
 |
用于邮件日志的测试数据库设置
注意:要想让邮件日志正常工作,邮件数据库需要不同的复制 ID。在创建邮件数据库之后,运行以下脚本来确保 ID 的惟一性。
可以将以下三行代码复制到一个文本文件中,并通过 Server.Load 作为定制的脚本运行。对于客户机 notes.ini 设置,MailServer 是指邮件数据库所在的服务器;nb_dbdir 是一个相对于数据目录的目录,可以在这里找到邮件数据库。
changeto [MailServer]!![nb_dbdir]mail[#].nsf
setreplid
dbclose
|
|
除了提供改进的用户操作之外,N8Mail 和 N7Mail 工作负载还使用了 R6Mail 未使用的服务器特性。使用这些特性使基准测试环境更接近部署环境。这会提高 Lotus Domino 服务器的 CPU 利用率。
服务器特性包括:
- 事务日志记录。磁盘空间大约 4 GB,采用 Circular、Standard 或在运行时设置。
- 邮件日志。磁盘空间大约 4 GB,日志包括所有消息。
- DDM 探测。用默认值(events4.nsf)启用所有操作系统和消息。
- 邮件过滤。每个邮件文件在阻塞邮件列表中有 10 个用户。这 10 个用户不在工作负载运行时的有效用户列表中。这是为了度量启用过滤特性的开销,而不是度量执行过滤的开销。
- 使用默认的服务器任务。ServerTask=Update,Replica,Router,AMgr,AdminP,CalConn,Sched,RnRMgr,LDAP(来自服务器的 Notes.ini 文件)
关于 N8Mail、N7Mail 和 N8MailInit 工作负载的更多信息参见 Release Notes for Lotus Notes and Domino V8。
结束语
N8Mail 能够更准确地模拟 Lotus Notes 和 Domino V8 负载,使用户模型更接近实际情况。当然,这些仍然只是基准测试工具。我们相信,这些工作负载(以及从硬件供应商等来源获得的其他数据)可以帮助您为当前和未来的升级、设备采购和部署决策制定更准确的计划。后续的文章会使用新的工作负载比较 Lotus Domino V8.0 和 Lotus Domino V7.0 为 Notes 客户机提供的性能。
参考资料 学习
讨论
作者简介  | |  | Razeyah Stephen 是 IBM Lotus Domino 和 IBM Lotus Sametime Performance 小组的经理。她于 1998 年 10 月加入 Iris Associates。 |
 | |  | Joe Malek 是 IBM Lotus Domino Performance 小组的一名开发人员。他当前致力于为 Lotus Domino Performance 小组开发在各种平台上使用的性能工具,例如 Microsoft Windows、Linux、IBM AIX 和 Sun Solaris 。Joe 在 2000 年 10 月加入 Iris Associates。 |
 | |  | Leon Desy 是 IBM Domino Performance 小组的一名开发人员。他当前致力于为 Lotus Domino Performance 小组开发在各种平台上使用的性能工具,例如 Microsoft Windows、Linux、IBM AIX 和 Sun Solaris 。在 2006 年 8 月加入这个小组之前,Leon 为 Lotus Notes/Domino 提供了长达 8 年的 L3 支持。他在 1998 年 8 月加入 Iris Associates。 |
对本文的评价
|