A. domino硬盘读写缓冲区:
内存池用量的1/4除以domino分区数,在此基础上不断增加其取值,直到开始大幅度增加页面出错率。
性能统计数据库 statrep.nsf
或输入 show stat database找到两个参数
database.database.bufferpool.maximun.megabytes
database.database.bufferpool.maxiumn.peak.megabytes 峰值应在最大允许的95%以下。
B. server_max_concurrent_trans 不要设为 –1 ,会产生大量的线程
C. server_pool_tasks 服务器线程数量。数量为在线用户数量的1-2% 太大会增加CPU的消耗。
D. mail.box的设置:
每个 Domino 邮件服务器都使用一个 MAIL.BOX 数据库来保存正在传送中的消息。用户和服务器同时使用 SMTP 协议和 Notes 协议,将消息存放到 MAIL.BOX 中。服务器上的 Router 读取消息,然后将它们邮递到本服务器上的邮件文件中,或传送到另一台服务器上的 MAIL.BOX 数据库中。
可以通过创建多个 MAIL.BOX 数据库来显著地改善邮件系统的性能。在负载较大的情况下,当 Router 试图读取和更新邮件时,可能会有多个服务器线程试图向 MAIL.BOX 中存放邮件。任何试图向 MAIL.BOX 执行写入操作的进程(包括服务器线程和 Router)都必须拥有对此数据库的排他性存取权限。此外,当 Router 从 MAIL.BOX 中读取新消息时,其他试图向此数据库执行写入操作的进程必须等待。有大量新邮件时(例如:在一个邮件通讯量庞大的繁忙系统中),需要等待较长时间。通过使用多个 MAIL.BOX 数据库,Domino 可以使用多个并发进程。Router 在读取一个 MAIL.BOX 时,将此数据库标记为“正在使用”,其他试图存放邮件的服务器线程便转至下一个 MAIL.BOX。这样,邮件系统的性能可得到改善。如果只是额外添加一个 MAIL.BOX 数据库,则可得到较为显著的性能改善。每增加一个额外的 MAIL.BOX 数据库,都会得到性能上更进一步的改善,但其改善幅度递减。
E. http线程配置:
可以指定 Web 服务器所能处理的线程数,或者指定用户在到达服务器的单一连接上所能发送的请求数。通常情况下,指定的线程数表明了能同时访问服务器的用户数。如果活动的线程数已达到指定值,则 Domino 服务器会挂起新的请求,直到另一个请求处理完毕、线程变为可用为止。计算机的性能越好,应指定的线程数目就越大。如果计算机在处理日常任务(如交换内存)上花费大量时间,则应指定一个较小的线程数。线程选项出现在“服务器”文档的“Internet 协议”“HTTP”附签中。
单一连接的最大申请数——浏览器在同一时刻能发送到服务器的请求数。缺省值为 1。 如果该浏览器能向服务器发送多个请求而不需等待上一个请求的答复,则该设置会影响与 HTTP 1.1 或更高版本兼容的浏览器。
活动的线程数——希望在服务器上同时被激活的线程数。缺省值为 40。
活动线程的最小数目——此域没有任何效果,仍存在于“服务器”文档以保持向后兼容性。
配置http线程活动性:
当http服务在domino服务器上初始化时,定义的线程被创建,大约每个占用20到40kb的内存。一旦改变线程数量,http服务必须重启。
Work with Active Jobs S12345
09/28/02 13:32:29
CPU %: .2 Elapsed time: 00:00:17 Active jobs: 101
Type options, press Enter.
2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message
8=Work with spooled files 13=Disconnect ...
Opt ubsystem/Job User Number Type CPU % Threads
QBASE QSYS 002459 SBS .0 1
QPADEV0001 QSECOFR 002591 INT .0 1
QPADEV0003 QSECOFR 002592 INT .1 1
QSYSSCD QPGMR 002492 BCH .0 1
QSERVER QSYS 002483 SBS .0 1
QPWFSERVSD QUSER 002521 BCH .0 1
QSERVER QPGMR 002519 ASJ .0 1
QZDASRVSD QUSER 002548 BCH .0 1
QZLSSERVER QPGMR 002531 BCH .0 1
More...
Parameters or command
===>
F3=Exit F5=Refresh F7=Find F10=Restart statistics F11=Display status
F12=Cancel F17=Top F18=Bottom F23=More options F24=More keys
测量线程可用性:
在domino控制台上输入命令: show stat domino
如果Domino.Threads.Active.Peak 值等于 Domino.Threads.Total。http请求可能在等待http服务提供空闲的线程。如果这样的话,应该在服务器文档中增加活动线程数量,使其小于它。最好每次增加减少5个,找到最佳性能。
管理 Web 服务器的内存高速缓存:
为了优化响应时间,Domino 使用内存高速缓存(又称命令高速缓存)来存储有关 HTTP 命令、数据库和用户的信息。映射有关命令和数据库以及验证用户的信息要花费时间。内存高速缓存存储了这类信息,使得 Domino 能够快速访问该信息。
命令: sh stat domino
domino.cache.design.count应略小于domino.cache.design.maxsize值,参数在服务器文档中修改
其它domino优化推荐:
internet protocols——http——run web agents concurrently设为enable
basics——optimize http performance based on the following primary activity——_both mail and appliticationns
F. notes.ini设置:
影响 Domino 服务器性能的大多数 NOTES.INI 设置可用于所有的 UNIX 平台。NSF_Buffer_Pool_Size 和 Server_Max_Concurrent_Trans 两个设置对于改善 UNIX 上的 Domino 性能有显著作用。
NSF_Buffer_Pool_Size
语法:NSF_Buffer_Pool_Size=value
描述:指定 NSF 缓冲池的最大尺寸(以字节计算),该内存段专用于 Domino 和磁盘存储之间缓冲 I/O 传送。最大大小取决于操作系统的限制,以及可用的系统内存总数。最小大小为 4MB。
注释: 还可使用 NSF_Buffer_Pool_Size_MB 来设置 NSF 缓冲池的最大尺寸。该值与NSF_Buffer_Pool_Size 相同,但它是以兆字节而不是字节为单位。使用 NSF_Buffer_Pool_Size_MB 以避免由于 NOTES.INI 变量的限制而对 NSF_Buffer_Pool_Size 存在的 2GB 限制。(NOTES.INI 变量是有正负之分的变量,并且不能大于 2GB。)
应用于:工作站和服务器
缺省:由服务器或工作站自动确定。(除分区服务器外,强烈推荐此设置。)可用内存越大,服务器设置的缺省 NSF_Buffer_Pool_Size 值就越大。在工作站中,NSF_Buffer_Pool_Size 的最大设置为 8MB(MAC 中为 4MB)。在服务器上,根据物理内存的整体大小,缺省最大值为可用物理内存的 1/8 到 3/8。在分区服务器中缺省值不会自动调整,所以通常需要将每个服务器上的最大值调整为内存的一部分,以使所有分区使用的内存加起来约为内存的 1/4 到 3/8。
以分区模式运行 Domino 服务器时,可以通过调整每个服务器分区的 NOTES.INI 文件中的 NSF_Buffer_Pool_Size 设置来改善性能。此设置控制交换和分页。 缺省情况下,Domino 将 NSF_Buffer_Pool_Size 设置为物理内存的三分之一。如果在分区服务器上发生高级别交换或分页,则可以通过将 NSF_Buffer_Pool_Size 的值设置为低于缺省值来改善性能。
We recommend that you specify the NSF_BUFFER_POOL_SIZE_MB setting in the notes.ini file. This is because the Domino servers run out of their own storage pool that the auto-performance adjuster (WRKSYSVAL QPFRADJ) typically changes dynamically. If you do not specify a value for NSF_BUFFER_POOL_SIZE_MB, by default, Domino will calculate a value to use based on the total memory of your iSeries server, not on its share of the storage pool. For most servers, 300 MB may work fine。如果你有多个分区服务器使用存储池,应该通过使用存储池的数量来分开它们,并且与3/8相乘,所得结果设置在notes.ini的该参数中。
Server_Max_Concurrent_Trans
语法:Server_Max_Concurrent_Trans=number_of_transactions
描述:设置服务器上同时安排的事务的总数。如果使用此设置来设置分区服务器上同时安排的事务的总数,Lotus 推荐限制总额为 20 个事务或更少。例如:如果正在计算机上运行四个分区服务器,那么可以为每个分区服务器设置 5 个事务。
应用于:服务器
此 NOTES.INI 设置限制 Domino 服务器可处理的并发事务数。缺省值为 40。在 UNIX 服务器上,极力推荐将 Server_Max_Concurrent_Trans 设置为 -1。在大多数 UNIX 服务器上,内核 / 线程库中的 CPU 日程安排有效地控制了工作日程安排。将 Server_Max_Concurrent_Trans 设置为 -1 允许 Domino 服务器线程利用 UNIX 内核。
的注意事项
A.在inotes中添加iNotes_WA_DisableArchive=0 inotes用户能够在服务器端存档。inotes用户存档,全文索引将很大的消耗系统资源
B.inotes消耗系统资源比client用户多30% ,3倍的响应时间 ,服务器最少1G内存。
C. 关于网络带宽的考虑: 每个用户占用6kbps.对于100m局域网,可以支持10000个并发用户
一些配置参数,
NSF_Buffer_Pool_Size_MB=210
Server_Pool_Tasks=64
Server_Max_Concurrent_Trans=64
NSF_DbCache_MaxEntries=2000
AIX 使用了内存分段的架构来限制共享内存和堆所使用的段总量。因此我们使用一个很小的 NSF_Buffer_Pool_Size 值。这可以运行测试达到较高的模拟用户级别。在实际的产品配置中,我们期望 NSF Buffer Pool Size 值应该设置为一个比较大的值。 Server_Pool_Tasks 和 Server_Max_Concurrent_Trans 值的设置是为了支持在每个 Donimo 发行版本中都可以实现的较高用户数量。在修改这些设置的缺省值之前,我们建议您对自己的环境进行一下分析,从而得出要使用的优化值。
我们的测试可以使用最小的 ServerTasks,这在产品环境中并不常见。我们建议 Notes.ini 参数 Server_Transinfo_range 的设置在所有 Domino 产品机器上都采用。确定将这个参数设置为这个值是一个不断反复的过程,这要基于对 Server Expansion Factor 和 Server Availability Index 的监视情况而做出决定。要完整地理解这些值和设置的意义,请参考配置 Server Availability Index 的 Domino Administrator Help 一节的内容。
ServerTasks=Router,LDAP,HTTP,SMTP
Server_Transinfo_range=12