扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
这是有关使用 IBM DB2 存储(与传统 NSF 存储相对)来存储用户邮件文件的 IBM Lotus Domino 7 的第一篇 IBM Lotus 性能文章。本文描述了针对Linux、UNIX 和 Microsoft Windows 的 IBM DB2 Universal Database (UDB), Lotus Domino 7.0.1 和 IBM DB2 V8.2 Fix Pack 9 (FP9) 的测量 。使用 DB2 存储的 Lotus Domino 首次作为受限发行版来供 Lotus Domino 7.0 中的客户使用。本文主要介绍通过使用 R6Mail 工作负载(参见侧栏 “R6Mail 工作负载描述” 获得有关该工作负载的更多信息)模拟 Notes 邮件用户时的性能基准测试结果。
本文展示本地运行在相同硬件配置上的使用 DB2 存储的 Lotus Domino 如何在具有足够可用资源的配置上扩展到 15,000 Notes 用户(模拟)。展示了在四路 IBM pSeries 服务器上获得的基准测试结果,该服务器使用单个 Domino 分区和一个 64-bit DB2 实例,运行在 AIX 5.3 上。
这些测试的主要目的是演示使用 DB2 存储的 Domino 邮件服务器的可伸缩性,其中用户邮件文件的大小足以代表典型的企业邮件部署。因为 DB2 服务器可以向上扩展为几 TB 的数据,240 MB 的起始邮件文件大小可用于每个用户,与以前 Lotus Domino 7 性能文章中 20 MB 的起始邮件文件大小形成对比。所有 NotesBench 审计报告使用大约 20 MB 的起始邮件文件大小来降低基准测试运行期间的存储空间要求。
注意:本文旨在于介绍使用 IBM DB2 存储的 Lotus Domino 的性能。该数据不应与 Lotus Domino 和传统 NSF 存储作比较。
所有结果表示来自 Lotus Domino 的次秒级响应时间。出于基准测试目的,除非特别指明,只运行路由任务来避免来自其他活动的数据峰值。我们希望您会找到有用的信息,并能够了解使用 DB2 存储的 Lotus Domino 7 的改进。
服务器配置
配置有 9 TB 的存储,DB2 可以支持 15,000 个用户邮件文件。因为 CPU 不是该测试的约束,所以我们在 IBM AIX 操作系统级别使用绑定处理器命令,在逻辑分区 (LPAR) 上禁用了 4 个 CPU。
AIX 服务器在其中一个内部磁盘卷上还配置有 32 GB 交换区或分页空间。表 1 展示了所测试系统的详细配置信息。
表 1. 所测试 AIX 系统的详细信息
型号 | P560Q |
处理器类型/速度 | 系统具有 8 个物理 Power5 CPU,时钟速度为 1.5 GHz,设置为单个 LPAR。用于这些测试的 LPAR 配置为启用 4 个 CPU。 |
已安装内存 | 32 GB 的 RAM |
活动物理驱动器 |
|
活动逻辑卷 |
|
操作系统 | IBM AIX 5.3 |
我们用 64-bit 实例创建了 DB2 UDB V8.2 FP9,以处理 15,000 个用户的 Domino 邮件存储。整个 Domino 邮件数据驻留在 DB2 目录中叫做 DOMINO 的单个数据库中。我们调优了几个数据库管理器和 DOMINO 数据库配置参数以实现最优性能,如表 2 所示。
表 2. 调优参数
数据库管理器配置 | DIAGLEVEL = 1 SHEAPTHRES = 20000 MAXAGENTS = 400 所有默认数据库监视器开关都关闭。 |
DOMINO 数据配置 | DBHEAP = 102400 CATALOGCACHE_SZ = 25000 LOGBUFSZ = 256 UTIL_HEAP_SZ = 5000 LOCKLIST = 4096 SHEAPTHRES_SHR = 8192 SORTHEAP = 1024 STMTHEAP = 8192 APPLHEAPSZ = 1024 PCKCACHESZ = 100000 MAXLOCKS = 75 CHNGPGS_THRESH = 50 NUM_IOCLEANERS = 16 NUM_IOSERVERS = 3 MAXAPPLS = 300 MAXFILOP = 1900 LOGFILSIZ = 16384 LOGPRIMARY = 40 LOGSECOND = 5 SOFTMAX = 240 |
Db2set 变量 | DB2_ASYNC_IO_MAXFILOP=10000 DB2_HISTORY_FILTER=T DB2_USE_ALTERNATE_PAGE_CLEANING=YES |
BufferPool 配置 | DOMINO 数据库的 1.6GB 缓冲池 |
DB2 中的 DOMINO 数据库设置有默认的 10:1 分组,这意味着 10 个用户邮件数据库驻留在 DB2 数据库中的一个表空间中。每个用户邮件文件初始大小为 240 MB,所以 DB2 中的每个表空间大小大约为 2.4 GB,9 个逻辑 RAID 0 卷(配置为 JFS2 文件系统)中有 1,500 个表空间。
Lotus Domino 7.0.1 安装在自己的 UNIX 帐户(是 DB2 admin 组的一部分)下的 LPAR 上,并按 Lotus Domino Administrator 帮助所述设置为使用 DB2。我们在该帐户下设置了另一个 32-bit DB2 实例,用于 Domino 服务器的 CLI 访问,但该 32-bit 实例并不在测试期间启动。我们还调优了服务器的许多 Notes.ini 设置以最优化 Domino 服务器性能。
Notes.ini 设置
带有 DB2 前缀的 INI 设置主要用于使用 DB2 存储的 Lotus Domino。其他 INI 设置适用于 NSF 存储。NSF_BUFFER_POOL_SIZE_MB 设置低的原因是,使用 DB2 后端,DB2 缓冲了所有邮件数据库数据,所以 Lotus Domino 在内存中不需要一个大缓冲池来高速缓存邮件数据库数据。
NSF_Buffer_Pool_Size_MB=210 Server_Pool_Tasks=100 Server_Max_Concurrent_Trans=100 NSF_DbCache_MaxEntries=15000 ServerTasks=Router,LDAP DB2DMS_CREATE_SIZE=400 DB2DMS_EXTEND_SIZE=256 DEBUG_DB2SEARCH_CTL=00030005 DB2NIF_POOLSIZE_MB=320 DB2POOLRESIZEMAX=250 |
|
使用 DB2 存储的 Lotus Domino 性能数据
使用 NotesBench 运行 R6Mail 基准测试时,我们发现使用 DB2 存储的 Lotus Domino 7 可以在四路 AIX 服务器上支持 15,000 个用户。图 1 展示了服务器随负载(模拟用户)而变的性能特征。
图 1. 随负载而变的服务器性能
如图 1 所示,使用 DB2 存储的 Lotus Domino 随着模拟 R6Mail 用户数线性扩展,直到达到该配置中测试的最多 15,000 个模拟用户。除了磁盘空间限制存储更大的用户邮件文件之外,该服务器上没有任何硬件资源约束。
因为在该配置中使用了 64-bit DB2 实例,所以我们调优了几个内存池和堆大小以有效利用 32 GB 的物理 RAM;具体来说,DB2 中 DOMINO 数据库的缓冲池大小增加为 1.6 GB 以高速缓存更多的数据。有 15,000 个 R6Mail 用户时,我们看到 DB2 服务器上的缓冲池命中率为 80%。此外,因为 Lotus Domino 生成许多不同的惟一 SQL 语句来访问 DB2 中的数据,我们将数据库配置参数 PCKCACHESZ 指定的软件包高速缓存增加为 400 MB。有 15,000 个 R6Mail 用户时,DB2 服务器平均每分钟执行 160,000 个 SQL 语句,其中包括 SELECT、INSERT、DELETE 和 UPDATE 语句。
Lotus Domino 使用连接池来处理针对 DB2 的所有 SQL 请求。为了限制可以运行在 DB2 服务器上的最大并发应用程序数,我们将 MAXAPPLS 设置为 300。它控制 DB2 服务器上并发应用程序消耗的资源,比如总应用程序堆。它还足以支持 15,000 个 R6Mail 用户的 DB2 请求的高并发率。有 15,000 个 R6Mail 用户时,我们看到大约 240 个并发的 DB2 代理进程运行在服务器上。在生产环境中,必须基于并发的 DB2 请求调优该参数。我们发现,对于使用 DB2 存储的 Lotus Domino,150-200 是数据库配置参数 MAXAPPLS 的最佳起始值。
Notes.ini 中的 Server_Pool_Tasks 和 Server_Max_Concurrent_Trans 值被设置以支持高的最终用户数。但是,在更改这些设置的默认值之前,建议先进行分析以最优化所使用的值。
|
结束语
目前,使用传统 NSF 存储的 Lotus Domino 7 支持 15,000 个并发的 Notes 邮件用户,并且几乎在所有服务器平台上都使用 R6Mail 工作负载。
对于 Lotus Domino 7,我们从各方面努力,以提供可伸缩的 Domino 服务器,它使用 DB2 存储来存储 Domino 数据 —— 邮件文件和应用程序数据这两者都包括在内。我们演示了对邮件环境使用 DB2 存储的 Lotus Domino 7.0.1 使用 R6Mail 工作负载可以很容易地支持 15,000 个并发的 Notes 邮件用户,前提条件是服务器具有足够的 CPU 和内存资源。
我们还希望展示 DB2 可以管理几 GB 或 TB 的数据,其中具有更大更现实的邮件文件大小。此处描述的结果展示了对用户邮件文件使用 DB2 存储的 Domino 邮件服务器的可伸缩性,其中的用户邮件文件大小足以代表典型的企业邮件部署。
我们执行了广泛的性能测试和分析来最优化 Lotus Domino 7(及以上版本)代码和 DB2 8.2 服务器以实现这些可伸缩性目标。我们将在未来的 Lotus Domino 发行版中继续改进使用 DB2 存储配置的 Lotus Domino 的资源消耗和优化,从而为传统 NSF 存储提供优秀的备选方案。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者