级别: 中级 Harry Murray, Lotus Domino 性能工程师, IBM Nirmala Venkatraman, 性能架构师, IBM Razeyah Stephen, Lotus Domino 性能团队经理, IBM
2009 年 9 月 29 日 IBM® Lotus® Domino® 8.5 服务器提供许多特性,旨在减少大型企业中的 Lotus Domino 邮件服务器集群基础设施的总体拥有成本(TCO)。本文介绍在升级到 Lotus Domino 8.5 时如何逐渐利用这些特性来减少 TCO。
编辑注:您很精通这个主题吗?希望分享您的经验吗?请马上加入到 IBM Lotus 软件 wiki 项目。
简介
本文是关于 Lotus Domino 8.5 性能的三部分系列的最后部分。请阅读以下 developerWorks® 文章:
Lotus Domino 8.5 服务器的一个重要的性能目标是降低客户的磁盘存储成本,同时无需额外使用处理器。本文包含的数据显示这个目标已经实现了,实现方法是改善文档和附件压缩、数据库缓存和路由器流量,以及添加一个新特性 —— Lotus Domino 附件和对象服务(DAOS)。这样,不仅大大减少了存储成本,而且 Lotus Domino 邮件服务器上的处理器占用减少了。
本文将向客户展示如何逐渐将 Lotus Domino 8 邮件服务器集群基础设施升级到 Lotus Domino 8.5,并在升级过程之后享受处理器和 I/O 改进。
基准工作负载描述和配置设置
我们使用 Notesbench N8Entmail 和 N85Entmail(也称为企业邮件工作负载)来作比较。新的工作负载比旧的 Entmail 工作负载更好,因为它们更繁忙、更接近现实。新的工作负载企图更逼真地模拟真实的企业环境。这两个工作负载(N8Entmail 和 N85Entmail)针对相同的任务或邮件用户动作,分别模拟由 Lotus Notes 8 和 Lotus Notes 8.5 客户端发起的 Lotus Notes® 客户端 NRPC(Notes 远过程呼叫)事务。尽管这两个工作负载执行相同的任务,但它们拥有的 NRPC 事务略微不同,因为对于相同的任务,新的客户端和服务器拥有较少的 NRPC 事务,但仍旧支持新特性。
新的企业邮件工作负载由两个构成集群的 Lotus Domino 邮件服务器运行,这两个服务器可以相互复制。20% 的用户的数据库作为本地应用程序,而不是在服务器上(除非特别注明)。我们使用 6000 个并发用户(每个服务器 3000个)来比较 Lotus Domino 8.5 和 8.0。应该说明的是,在运行工作负载时,我们没有运行夜间任务。另外,我们的测试使用 Microsoft® Windows® 64 操作系统和 32 位 Lotus Domino。
所有的测试都在服务器上的每个 Lotus Domino 目录中定义了 6000 个用户。在测试之初,每个用户有一个约 256 MB 的未压缩文档的邮件文件,收件箱中有 3000 条消息,垃圾箱中有约 380 条消息。垃圾箱中的消息设置为过期,在测试过程中每 15 分钟删除两条消息。这些测试通过最佳运行时设置(favor runtime setting)启用了 Lotus Domino 事务日志,邮件日志设置为在本地记录所有消息。Lotus Domino 域监视(DDM)探测针对即时通讯和操作系统启用,所有用户都拥有阻止来自测试外部的 10 个用户的邮件的邮件规则。
对于 Lotus Domino 8.5,我们在邮件数据库上启用了文档压缩,这将数据库的大小从约 250 MB 减少到约 170 MB。另外,我们在邮件数据库创建之后在一些测试上启用了 DAOS 数据库属性,我们还在邮箱和邮件日志数据库上启用了 DAOS。DAOS 是向多个邮件用户发送相同的附件时节约磁盘空间的一种方法。关于 DAOS 的其他信息,请参阅 developerWorks Lotus 文章 “在 IBM Lotus Notes and Lotus Domino 8.5 中使用 DAOS 实现存储和服务器成本节省”。
表 1 展示了对企业邮件工作负载的一个更完整的描述。
表 1. 企业邮件工作负载用户行为:6 小时期间,24 次遍历
| 行为 | 描述 |
|---|
| 刷新收件箱 | 24 个动作 |
|---|
| 阅读消息 | 120 个动作(每次遍历阅读 5 条消息) |
|---|
| 回复所有收件人 | 12 个动作 |
|---|
| 发送消息到一个收件人 | 24 个动作 |
|---|
| 发送消息到三个收件人 | 12 个动作 |
|---|
| 创建约会 | 1 个动作 |
|---|
| 发送邀请 | 1 个动作 |
|---|
| 发送 RSVP | 1 个动作 |
|---|
| 移动到文件夹 NotesBench | 24 个动作 |
|---|
| 新邮件调查 | 24 个动作 |
|---|
| 删除两个文档 | 24 个动作 |
|---|
| 通过服务器复制本地邮件数据库 | 20% 的用户处理一个本地副本。本地副本每 15 分钟通过服务器复制。 |
|---|
| 所有邮件数据库的集群复制 | 在两节点集群中的两个服务器上启用流集群复制特性。 |
|---|
| 每小时复制所有数据库 | 每小时从两个服务器复制(发送)所有数据库。复制计划在 Lotus Domino 目录中建立。 |
|---|
| 运行事务日志的服务器 | 在两个服务器上运行 |
|---|
| 邮件日志 | 所有文档 |
|---|
| DDM 性能探测 | 所有操作系统统计和邮件统计 |
|---|
| 病毒检查器 | 在两个服务器上运行 |
|---|
对于绝大部分设置,测试使用 Lotus Domino 服务器和邮件模板的默认设置。然而,几个设置被更改以加强性能和启用 Lotus Domino 8.5 上的文档压缩和 DAOS。表 2 详细描述了用于 Lotus Domino 8.5 和 Lotus Domino 8.0 比较的两个服务器上使用的更改。
表 2. Lotus Domino 服务器设置
| 配置 | Lotus Domino 8.0 | Lotus Domino 8.5 |
|---|
| 事务日志 | 启用/最佳的运行时 | 启用/最佳的运行时 |
|---|
| 其他、非默认、邮件数据库选项 | 不要覆盖空闲空间 | 不要覆盖空闲空间
禁用视图自动更新
压缩文档数据
使用 DAOS(除非特别注明) |
|---|
| 服务器任务 | Replica, Router, Update, AMgr, Adminp, Sched, CalConn, RnRMgr, LDAP | Replica, Router, Update, AMgr, Adminp, Sched, CalConn, RnRMgr, LDAP |
|---|
| Notes.ini 添加 | NLCACHE_SIZE=159383552
server_pool_tasks=80
server_max_concurrent_trans=100
server_show_performance=1
RouterDbCacheSize=6100
SCHEDULE_NO_VALIDATE=1
NSF_DBcache_maxentries=6000
CREATE_R8_DATABASES=1
NSF_Buffer_Pool_Size_MB=250 | NLCACHE_SIZE= 159383552
server_pool_tasks=80
server_max_concurrent_trans=100
server_show_performance=1
RouterDbCacheSize=6100
SCHEDULE_NO_VALIDATE=1
NSF_DBcache_maxentries=6000
CREATE_R85_DATABASES=1
DEBUG_NSF_COMPRESS_ALL_NOTES=1
CREATE_R85_LOG=1
ENABLE_LZ1_ENCRYPTED_NOTES=1
NSF_Buffer_Pool_Size_MB=250 |
|---|
表 3 列示了不同工作负载中的消息分布的细节。
表 3. 工作负载中的消息分布
| 消息大小(以字节为单位)分布(使用配置文件选项) | 消息百分比 | 附件(如果有)大小(以字节为单位) |
|---|
| 500 | 10% | - |
|---|
| 10000 | 30% | - |
|---|
| 50000 | 40% | - |
|---|
| 50000 | 10.5% | 525000 |
|---|
| 150000 | 9.5% | - |
|---|
测试配置
Lotus Domino 服务器是两个 IBM 3850s,带有两个 3.6 GHz Xeon 处理器,8 GB 物理内存,每个服务器拥有一个带有 42 个光纤磁盘的 DS4300;操作系统是 Microsoft Windows 2003 Server Enterprise 64-bit Edition。
Notesbench 加载驱动程序系统是一个 Linux 服务器,它的本地存储最多能够处理 6000 个 Lotus Notes N85Entmail 模拟用户(如图 1 所示)。
图 1. 测试配置
注意:本文中的结果来自在一个控制环境中执行的基准。尽管基准创建过程中努力包含典型的用户操作,但真正的用户很可能以不同的方式使用 Lotus Domino,而不仅仅是基准测试中范围狭小的功能。因此,这些数值应该主要用于理解 Lotus Domino 发布的相对性能,它们不代表针对现实部署的推荐意见。要获取容量计划协助,请咨询您的硬件供应商和 IBM TechLine。
服务器升级对比:Lotus Domino 8.0 和 Lotus Domino 8.5
升级流程的第一步是将 Lotus Domino 服务器安装从 Lotus Domino 8.0 升级到 Lotus Domino 8.5,而无需升级用户邮件数据库的设计和磁盘结构(On Disk Structure,ODS)版本。
表示 4 显示了使用 Mail8.ntf 和基于 ODS48 的邮件数据库的 Lotus Domino 8.0 和 Lotus Domino 8.5 的所有关键资源指标的完整比较。
表 4. 使用 Mail8.ntf 和 ODS48 的 Lotus Domino 8.0 和 Lotus Domino 8.5 的对比
| 资源 | Lotus Domino 8.0 | Lotus Domino 8.5 | 变化(%) |
|---|
| 邮件模板 | Mail8.ntf | Mail8.ntf | N/A |
|---|
| 数据库 ODS 版本 | 48 | 48 | N/A |
|---|
| 本地副本百分比 | 20 | 20 | N/A |
|---|
| 工作负载 | N8Entmail | N85Entmail | N/A |
|---|
| 模拟用户 | 6000 | 6000 | N/A |
|---|
| 响应时间(毫秒) | 33 | 28 | -15% |
|---|
| 事务/分钟 | 15342 | 12824 | -16% |
|---|
| 处理器占用总计(%) | 48.1 | 43.4 | -10% |
|---|
| 磁盘 I/Os | 807 | 598 | -26% |
|---|
| 磁盘读取/秒 | 298 | 145 | -51% |
|---|
| 磁盘写入/秒 | 509 | 453 | -11% |
|---|
| 磁盘 MB/秒 | 9.19 | 5.76 | -37% |
|---|
| 磁盘 MB 读取/秒 | 2.35 | 0.81 | -66% |
|---|
| 磁盘 MB 写入/秒 | 6.84 | 4.95 | -28% |
|---|
| 网络 kbps | 22400 | 22069 | -1% |
|---|
| nserver 虚拟内存(MB) | 1580 | 1577 | 0% |
|---|
表 4 展示了使用 Lotus Domino 8.0 邮件模板和 Lotus Domino 8.0 数据库 ODS 版本 48 的 Lotus Domino 8.0 和 Lotus Domino 8.5 之间的对比。当我们从 Lotus Domino 8.0 移动到带有相同 Mail8.ntf 和 ODS48 邮件数据库的 Lotus Domino 8.5 时,资源使用明显减少。只需把服务器从 Lotus Domino 8.0 升级到 Lotus Domino 8.5,处理器的资源占用就减少了约 10%。实现的其他资源占用减少包括:
- 每秒磁盘 I/Os(通常称为 IOPS)减少约 26%。
- 通过将服务器从 Lotus Domino 8.0 升级到 Lotus Domino 8.5,每秒磁盘 MB(也称为磁盘带宽)减少了约 37%。
Lotus Domino 8.5 升级流程的下一步是将用户邮件数据库设计升级到基于新的 Mail85 模板(Mail85.ntf)并将数据库 ODS 版本从 48 升级到 51。这些升级可以通过在服务器的 notes.ini 中设置 CREATE_R85_DATABASES=1 并在所有邮件数据库上运行协议来完成。
表 5 展示了 Lotus Domino 8.0 和使用 Mail85 模板和 ODS51 数据库的 Lotus Domino 8.5 之间的对比。
表 5. Lotus Domino 8.0 和使用 Mail85.ntf 模板和 ODS51 数据库的 Lotus Domino 8.5 之间的对比
| 资源 | Lotus Domino 8.0 | Lotus Domino 8.5 | 变化(%) |
|---|
| 邮件模板 | Mail8.ntf | Mail85.ntf | N/A |
|---|
| 数据库 ODS 版本 | 48 | 51 | N/A |
|---|
| 本地副本百分比 | 20 | 20 | N/A |
|---|
| 工作负载 | N8Entmail | N85Entmail | N/A |
|---|
| 模拟用户 | 6000 | 6000 | N/A |
|---|
| 响应时间(毫秒) | 33 | 30 | -9% |
|---|
| 事务/分钟 | 15342 | 12855 | -16% |
|---|
| 处理器占用总计(%) | 48.1 | 39.5 | -18% |
|---|
| 磁盘 I/Os | 807 | 643 | -20% |
|---|
| 磁盘读取/秒 | 298 | 170 | -43% |
|---|
| 磁盘写入/秒 | 509 | 473 | -7% |
|---|
| 磁盘 MB/秒 | 9.19 | 6.13 | -33% |
|---|
| 磁盘 MB 读取/秒 | 2.35 | 0.96 | -59% |
|---|
| 磁盘 MB 写入/秒 | 6.84 | 5.17 | -24% |
|---|
| 网络 kbps | 22400 | 22091 | -1% |
|---|
| nserver 虚拟内存(MB) | 1580 | 1595 | 0% |
|---|
表 5 展示了从 Lotus Domino 8.0 升级到使用 Mail85 模板和 ODS51 数据库的 Lotus Domino 8.5 后资源占用大幅减少。这些减少包括:
- 处理器占用减少约 18%
- 每秒磁盘 I/Os 减少 20%
- 每秒磁盘 MB 减少 33%
现在让我们看看 Lotus Domino 8.5 的一些新特性(比如 DAOS)对 Lotus Domino 8.5 服务器性能的影响。表 6 展示了 Lotus Domino 8.5 和使用 DAOS 的 Lotus Domino 8.5之间的对比。这两个测试都使用通过 Mail85 和 ODS51 构建的邮件数据库。DAOS 在两个集群服务器的服务器文档中启用,还在两个集群服务器的路由邮箱数据库、邮件日志数据库和邮件数据库上启用。
表 6 展示了启用和未启用 DAOS 的 Lotus Domino 8.5 服务器上的所有关键资源指标的完整对比。
表 6. 启用和未启用 DAOS 的 Lotus Domino 8.5 之间的对比
| 资源 | Lotus Domino 8.5 | Lotus Domino 8.5 | 变化(%) |
|---|
| 邮件模板 | Mail85.ntf | Mail85.ntf | N/A |
|---|
| 数据库 ODS 版本 | 51 | 51 | N/A |
|---|
| DAOS | Disabled | Enabled | N/A |
|---|
| 本地副本百分比 | 20 | 20 | N/A |
|---|
| 工作负载 | N85Entmail | N85Entmail | N/A |
|---|
| 模拟用户 | 6000 | 6000 | N/A |
|---|
| 响应时间(毫秒) | 30 | 31 | 3% |
|---|
| 事务/分钟 | 12855 | 12819 | 0% |
|---|
| 处理器占用总计(%) | 39.5 | 39.5 | 0% |
|---|
| 磁盘 I/Os | 643 | 636 | -1% |
|---|
| 磁盘读取/秒 | 170 | 166 | -2% |
|---|
| 磁盘写入/秒 | 473 | 470 | -1% |
|---|
| 磁盘 MB/秒 | 6.13 | 5.52 | -10% |
|---|
| 磁盘 MB 读取/秒 | 0.96 | 0.91 | -5% |
|---|
| 磁盘 MB 写入/秒 | 5.17 | 4.61 | -11% |
|---|
| 网络 kbps | 22091 | 21856 | -1% |
|---|
| nserver 虚拟内存(MB) | 1595 | 1591 | 0% |
|---|
表 6 显示,通过在 Lotus Domino 8.5 服务器上启用 DAOS,磁盘 MB/秒总计减少了 10%。Lotus Domino 8.5 客户部署数据显示,Lotus Domino 8.5 中的 DAOS 特性将服务器上需要的存储量减少 20% 或更多。邮件数据库大小的减少提供了降低数据库维护成本的好处。
我们在使用所有存储空间新特性的 Lotus Domino 8.5 服务器上执行了另一个有趣的测试。我们研究了使用本地副本用户而不是基于服务器的邮件文件用户。对于这个测试,我们将 Lotus Domino 目录中的所有用户配置为基于服务器的邮件文件,换句话说,没有一个测试邮件用户拥有本地副本。
表 7 比较了上一个 Lotus Domino 8.5 测试(20% 的用户为本地副本用户,剩下的 80% 的用户拥有基于服务器的邮件文件)的结果和这个没有本地副本用户的 Lotus Domino 8.5 测试(100% 的用户拥有基于服务器的邮件文件)的结果。
表 7. 20% 的用户为本地副本用户和 100% 的用户拥有基于服务器的邮件文件的 Lotus Domino 8.5 的比较
| 资源 | Lotus Domino 8.5 | Lotus Domino 8.5 | 变化(%) |
|---|
| 邮件模板 | Mail85.ntf | Mail85.ntf | N/A |
|---|
| 数据库 ODS 版本 | 51 | 51 | N/A |
|---|
| DAOS | Enabled | Enabled | N/A |
|---|
| 本地副本百分比 | 20 | 0 | N/A |
|---|
| 工作负载 | N85Entmail | N85Entmail | N/A |
|---|
| 模拟用户 | 6000 | 6000 | N/A |
|---|
| 响应时间(毫秒) | 31 | 37 | 19% |
|---|
| 事务/分钟 | 12819 | 14089 | 10% |
|---|
| 处理器占用总计(%) | 39.5 | 53.4 | 35% |
|---|
| 磁盘 I/Os | 636 | 728 | 15% |
|---|
| 磁盘读取/秒 | 166 | 184 | 11% |
|---|
| 磁盘写入/秒 | 470 | 544 | 16% |
|---|
| 磁盘 MB/秒 | 5.52 | 6.31 | 14% |
|---|
| 磁盘 MB 读取/秒 | 0.91 | 1.04 | 14% |
|---|
| 磁盘 MB 写入/秒 | 4.61 | 5.28 | 15% |
|---|
| nserver 虚拟内存(MB) | 1591 | 1713 | 8% |
|---|
全部使用拥有基于服务器的邮件文件的用户,服务器资源占用有所增加:
- 处理器占用增加了 35%。
- 与 80% 的用户拥有基于服务器的邮件文件和 20% 的用户使用本地副本相比,全部用户拥有基于服务器的邮件文件时,I/O 增加了约 15%。
- 本地副本用户网络流量大约是基于服务器的邮件用户的网络流量的 50%。本地副本用户放置到服务器上的负载更少。
性能分析:将 Lotus Domino 8.0 升级到 Lotus Domino 8.5
根据本文中报告的数据,从 Lotus Domino 8.0 升级到 Lotus Domino 8.5 后资源使用方面的最大改进是磁盘 MB/秒和磁盘 I/O/秒结果。对于均匀分布在两个集群节点之间的 6000 个模拟用户而言,Lotus Domino 8.5 的磁盘 MB/秒减少了 37%,磁盘 I/O/秒减少了 26%。与 Lotus Domino 8.0 相比,Lotus Domino 8.5 的处理器占用还减少了 10% 至 18%。
结束语
根据以上测试,从 Lotus Domino 8.0 升级到 Lotus Domino 8.5 后可以降低存储费用、节约处理器资源和更有效地使用可用的系统资源,从而达到降低总体拥有成本的目的。
参考资料 学习
获得产品和技术
讨论
作者简介  | |  | Harry Murray 在 Lotus Domino 性能团队工作超过 11 年,在此此前,他是 Digital Equipment Corporation 的性能工程师。 |
 | |  | Nirmala Venkatraman 是 Lotus Domino 服务器性能团队的性能架构师。 |
 | |  | Razeyah Stephen 是 IBM Lotus Domino 和 IBM Lotus Sametime 性能团队的主管。她在 1998 年 10 月加入 Iris Associates。
|
对本文的评价
|