witlili
作者witlili2012-11-28 17:04
软件开发工程师, 文思海辉技术有限公司

针对iNotes的Domino邮件测试服务器 性能调优建议

字数 4474阅读 8926评论 8赞 1

*以下文章由ibm CDL工程师撰写*

上线前进行梯度验证方式性能测试,以便能确定当前系统配置能够支持的用户数量和并发访问数量。当单台服务器的并发用户压力达到4000时,iNotes登录响应时间测试结果为26秒左右,邀请IBM软件服务人员到现场技术支持,提出性能调优建议,并通过梯度压力测试验证调优结果。

平台信息:

AIX6.1.4 SP4

64Lotus Domino R852 FP3中文版。

8CPU, 16G内存,每一台物理机上部署2台分区domino服务器。

 

测试结果:

8100用户压力情况下,通过IE访问登录并打开邮箱的时间约为90秒。

CPU与内存测试结果,CPU使用率达到了90%。由于只测试登录过程包括用户登录界面、用户登录、AD的验证、URL重定向、用户邮箱视图展现等几个过程,没有包含邮件路由,每秒I/O很低,内存使用也不高。

根据IBM CDL 提出Domino 852 iNotes邮件系统性能指标,单台server在并发用户1600左右时,登录响应时间在16秒左右,以下客户测试结果吻合。

性能优化设置

1.         修改服务器文档->Internet 协议->HTTP->活动的线程数为80(缺省为40);

考虑到内存的限制和线程切换所需的开销,建议对于单处理器的服务器,此值不要设置超过64;对于多处理器的服务器,此值不要设置超过80。如果超过了建议的设置值,很可能会降低服务器性能,甚至导致宕机。

Domino 6 及以后的版本已经允许更少的线程执行更多的工作。所以,超过80个活动线程会由于线程的切换反而对性能产生负面影响。因此,上面给出的活动线程数已经是最 大的建议设定值。重要的是需要决定具体设定为什么值会最适合生产环境。建议您从默认的40个线程数开始,逐渐地增长,可以一次增长10个线程数,来决定设置为何值时可将性能调整为最优。

关于Http活动线程数的推荐值请参考附录中的IBM技术文档1,2。

2. “Domino 服务器文档”-“Internet 协议”-“Domino Web 引擎附签上的并发运行 Web 代理域中,指定并发运行代理设置。

注意:启用Web代理并发运行,这样会加大服务器CPU的消耗,同时提高Web代理的执行速度。

3. 设置以下Domino参数

运行 多个邮箱(我们使用了两个邮箱)。通过在 Notes.ini 文件中设置参数 MailBoxDisableTXNLogging=1 禁用邮箱的事务日志记录。通过在 Notes.ini 文件中设置参数 Schedule_Disabletxnlogging=1 禁用 Busytime.nsf(如果是集群则为Clubusy.nsf )。另外,在服务器的 Notes.ini 文件中进行如下设置:
Server_Max_Concurrent_Trans=100
Server_Pool_Tasks=40
Disable_BCC_Group_Expansion=1
Server_Session_Timeout=31

NSF_Buffer_Pool_Size_MB=1024  (64852缺省已经使用了这个值,所以不需再在notes.ini中设置)

NSF_DbCache_MaxEntries=2000
Server_Transinfo_range=12

实现扩展目录编目而不是目录编目以避免全文索引的开销(例如,Edcww.nsf 使用视图索引,而 dircat/ibmdclns.nsf 使用全文索引)。至少,实现循环事务日志记录以得到更好的数据完整性和更快的重新启动速度。关闭不需要的 Domino 服务器任务。为了提高服务器的性能,限制记录到日志文件(LOG.NSF)和控制台的调试/记录数量。

 

说明:虽然在附录中的IBM技术文档4(针对 iNotes 用户的 IBM Lotus Domino 8.5 性能)中提及了以下两个参数,但是这两个参数是增加Server进程的线程数以支持更多的Notes访问,对HTTP访问没有影响(请参考附录IBM技术文档5,6)。

Server_Max_Concurrent_Trans=100
Server_Pool_Tasks=100

4. 以下参数设置优化视图索引和全文索引性能

ftg_use_sys_memory=1 这是让全文索引使用系统内存,而不是 Notes 共享内存。

Update_Fulltext_Thread=1  update 任务增加全文索引线程单独处理数据库全文索引请求。

Fixup_Tasks=6 (单个分区可用的CPU的数量的2倍) 目的是让服务器重新启动时加速一致性检查,加速服务器启动时间。如果服务器启用了事务记录功能(TransLog),那么服务器重启的时候就不再需要fixup任务修复数据库了。而且此参数的缺省值是CPU个数的两倍,通常够用了。

Fixup_Tasks=6

nlcache_size=33554432  (仅邮件服务器)通过通讯录查找用户缺省用的 Cache 大小是 16MB,将邮件服务器的这个值增加为 32M

FT_FLY_INDEX_OFF=1 禁止 Fly-In 索引。

如果需要定期搜索数据库,创建全文索引通常是较好的做法。维护全文索引对性能影响甚微,并且 通常有许多可用的选项使影响最小化。如果数据库没有进行索引,服务器在需要时就会创建一个动态的索引,这样做的开销非常大。可以通过在 Notes.ini 文件中设置FT_FLY_INDEX_OFF=1 来禁用该功能。

说明:启用这个参数后,如果数据库的代理执需要数据库全文索引,就会返回类似如下警告信息,"Warning: Agent is performing full text operations on database 'xxxxx.nsf' which is not full text indexed.  This is extremely inefficient."。此时要检查应用尝试使用其他办法实现。

 

说明:虽然以下参数以前曾经被IBM工程师建议过尝试添加进行调优,但是根据最新文档和实施经验,以下几个参数不建议设置,原因是添加这些参数会让Update任务保持繁忙会非常占用系统资源,而且Update任务更新索引期间用户需要等待。而且增加Update任务个数可能会对性能产生负面影响。

ftupdate_idle_time_ms=300  这是让全文索引任务执行下一个请求的时间间隔降低为 300 毫秒。

update_idle_time_ms=300 这是让视图索引更新任务的即时处理队列执行下一个请求的时间间隔降低为 300 毫秒。

update_suppression_time=2 这是让视图索引更新任的延迟处理队列执行下一个请求的时间间隔降低为 2 分钟(去重复请求)。

Updaters=3(单个分区可用的CPU的数量) 这时让 Domino 启动多个 Update 任务执行数据库的视图索引的更新和全文索引的更新。

5.数据目录以及视图重建目录设置

通过单独的系 统数据库文件系统获得了更好的性能。每个 Domino 分区(DPAR)为 Domino 数据目录(/notesdata)配置了四个 SSA RAID 5 阵列,为扩展目录编目配置了一个 SSA RAID 5 阵列。每个 Domino 分区都有一对镜像 SCSI 事务日志驱动器,硬件 RAID 1 镜像使用 2498 或类似的 SCSI RAID 适配器。

使用 Domino Directory 的大型目录(例如 Names.nsfEdcww.nsf  Wwpdl.nsf)。设置 VIEW_REBUILD_DIR=/notesdata/viewbuild。默认的位置是 Domino 数据目录。在实施时,Domino 使用优化的视图重建而不是标准的重建。转移到其他目录可以避免高访问文件争用(Log.nsfNames.nsf 等等)。

限制邮件数据库的增长以减少对 I/O  CPU 资源的需求(大文件使用更多的 CPU 资源;带有更多文档的邮件数据库使用更多的 CPU资源)。这有助于加快视图更新和重建。

6. Lotus Domino  AIX  Solaris 上应用的核心限制(7版本domino核心限制请参考附录IBM技术文档3)

对于64Domino852,建议把所有softlimit都调成unlimit,不需要调 hard limit

资源限制:

================

软性/普通 限制:

====================

时间Time(seconds) 不限制

文件File(blocks) 不限制

数据Data(kbytes) 不限制

堆栈Stack(kbytes) 不限制

内核转储Coredump(blocks) 不限制

文件句柄数Nofiles(descriptors) 不限制

内存Mamory(kbytes) 不限制

 

硬性限制:

============

时间Time(seconds) 不限制

文件File(blocks) 不限制

数据Data(kbytes) 不限制

堆栈Stack(kbytes) 不限制

内核转储Coredump(blocks) 不限制

文件句柄数Nofiles(descriptors) 不限制

内存Mamory(kbytes) 不限制管网bitsCN.com

7. AIX 参数(建议OS参数调优咨询专业OS工程师)

  IOCPI/O 完成端口)。输入 smitty iocp 并确保当前状态为“available”。同时,确保“State to be configured at system restart”设置为“available”

设置 maxuproc  128。(有关详细信息请参阅发行说明。)

在服务器上,将 maxperm%  maxclient% 都设置为 10 以确保不进行分页。为了使这些设置在系统重新启动后仍然保留,输入“vmo -p -o maxperm%=10 -o maxclient%=10”。在具体生产环境中,maxperm%  maxclient% 的设置可以与这里的建议不同。另外,在服务器上将总分页空间分别设置为 6144 MB  4672 MB

进行如下设置:

  • AIXTHREAD_COND_DEBUG=OFF 关闭 AIX 调试程序使用的条件变量列表的自动记录。默认情况下是 border=0>

Chgaio更改最大进程数

 

说明:

1. 以上调优建议适用于iNotes用户单台服务器并发用户数1600以下,CPUMem使用率处于健康阈值之下。而对于单纯的登录可打开视图并发用户高于1600以上,由于CPU使用率高于健康阈值,效果不明显。

2. 以上参数和参数值应根据实际生产环境循序渐进添加,并且密切监控添加后的效果做出前进后退的合适调整。


 参考文献:

1 Domino Http 活动线程数的推荐设置

http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1897668E20003

2 Optimizing server performance: HTTP Threads Settings (HTTP Threads Settings Test Results sidebar)

http://www.ibm.com/developerworks/lotus/library/ls-HTTP_Threads_settings/side1.html

3 Lotus Domino  AIX  Solaris 上应用哪些核心限制?

http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1597660C18000

4 针对 iNotes 用户的 IBM Lotus Domino 8.5 性能

http://www.ibm.com/developerworks/cn/lotus/domino85-inotes/

5 SERVER_MAX_CONCURRENT_TRANS and SERVER_POOL_TASKS defaults for Domino 8.0 and above

http://www-01.ibm.com/support/docview.wss?uid=swg21324864

6 Using the Domino server INI parameter Server_Max_Concurrent_Trans

http://www-01.ibm.com/support/docview.wss?uid=swg21207456

 

 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论8 条评论

shebersheber软件开发工程师, 宇球电子
2014-10-21 14:14
witliliwitlili软件开发工程师, 文思海辉技术有限公司
2014-03-05 12:30
minkai_yw: 一直想要调优方案,不过现在用的9.0.1的Domino了,有没有关于901的?
R8以后都差别不大,主要是界面更改很多而已。
minkai_ywminkai_yw系统运维工程师, 北京市天阳宏业软件技术有限公司
2014-03-04 15:39
一直想要调优方案,不过现在用的9.0.1的Domino了,有没有关于901的?
novaxjnovaxj软件开发工程师, 東莞萬士達
2013-08-26 11:41
謝謝分享
wangxiao12371wangxiao12371软件开发工程师, HD
2013-07-08 19:39
学习
windindreamwindindream技术经理, 孚邦
2012-12-29 13:54
收藏
bellebelle软件开发工程师, IT
2012-12-16 10:13
谢谢,学习了
mxggoodmxggood系统工程师, 中国信达
2012-11-28 17:47
一直想了解调优方面的知识,终于找到了。哈
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广