通过性能监控和分析,可以了解服务器的运行状态,即服务器在当前的工作负载下是否运行良好。就像网络中的瓶颈一样,它可以帮助你找到服务器配置中的限制因素。
您可以通过以下十个步骤来最大化Domino服务器的性能:
首先,了解你的配置
Domino管理员应该知道受支持的服务器的配置。任何服务器的主要组件是内存、CPU和磁盘(包括逻辑和物理),其他组件,如在线缓存和磁盘控制器的数量也很重要。
以下是一些附加注意事项,可以帮助您避免与配置相关的问题:
1)尽可能使用最快的磁盘(例如,10,000 rpm)。
2)在软件RAID上使用硬件RAID,速度更快,可以减轻CPU的负荷。
3)足够的磁盘子系统可以降低内存需求,因为较少的临时I/O占用内存。
4)对于Windows NT平台,碎片整理可以充分提升性能。建议每周整理一次磁盘碎片。
5)确保即使在最大负载下,服务器也至少有4MB的可用内存(10到20MB更好)。需要注意的是,平台的缓存策略可能会阻碍它。
6)标准的服务器配置不一定是Domino服务器的最佳配置,重要的是要有足够的磁盘和控制器。您可以使用来自硬件供应商的NotesBench基准数据作为指南。
其次,I/O是通过物理磁盘分配的。
通常,物理和逻辑磁盘结构是人们经常忽略的系统资源,也是最经常过载的。在许多Domino服务器上提高性能的最好方法是通过不同的物理磁盘分配I/O。
理想情况下,将以下与I/O相关的文件放在不同的物理磁盘上:
1)不同平台的页面文件
2)您的NSF文件
3)Domino R5事务日志
如果你能把它们放在不同的控制器上是最好的。这种方法通过在总线、控制器、端口和磁盘上分配负载来提高I/O吞吐量。所以最好用几个小磁盘,不要用一个大磁盘。特别是,
R5事务日志与其他磁盘活动隔离得越多,服务器性能就越好。
请注意,对于某些系统,如AS/400,操作系统可以自动优化可用磁盘和控制器之间的数据分布。
第三,记录绩效评估数据。
如果你不记录绩效评估数据,你就不能评估你的调整是成功还是失败。如果你经常记日记,你不仅会更好地了解你做了什么,还会提供详细的文件来证明额外的费用。
您需要从操作系统和Domino两方面来衡量它。以下是主要指标(基于平台):
1)总CPU利用率(以百分比表示)。如果该值大于70%或80%,在许多平台上会有红色标志警告,如Windows NT。
2)可用内存或使用情况。请记住,当可用内存小于4MB时,请降低缓存要求。
3)磁盘序列长度(通常少于序列中的2项)和平均磁盘服务时间(NT少于70%)。
4)页面文件大小和利用率。利用率应该相当低,或者值得评估您的磁盘子系统的利用率和效率。例如,对于NT平台上的Domino邮件服务器,页面利用率一般应小于150页/秒。
5)关于邮件吞吐量、复制、Web服务器活动、数据库活动等的Domino统计数据和事件。
6)Domino log (log.nsf),比较繁琐但确实有用(注意只有在必要的时候才启用日志记录,因为会影响服务器的性能)。
注意经常收集和分析数据。在进行重大配置更改之前或之后,有必要捕获性能数据。
第四,优化Domino R5
Domino R5在关键参数的自动配置和动态重新配置方面做了大量工作,以实现最大性能。下面是一些关于如何优化Domino R5服务器本身的建议:
1)正确设置邮箱的数量。多个mail.box文件可以减少mail.box文件对邮件存储和其他邮件相关活动的竞争。当您添加第二个mail.box时,可以大大提高性能。
体验是我们用一个mail.box支持1~200个用户,两个以上的mail . box支持200~1000个用户,最多十个mail . box支持1000个以上的用户。
2)对于非分区系统,让Domino动态设置NSF_Buffer_Pool_Size变量。这对于低内存服务器配置尤其重要,大缓冲区会阻碍核心内存管理。
3)对于分区系统,需要分配NSF_Buffer_Pool_Size,因为Domino无法自动确定每个分区的实际可用内存。我们推荐的公式是:(系统内存/分区数)/4。
4)根据可用内存,让Domino根据需要分配邮件传输线程(用于本地传输)。
5)如果需要,让Domino路由器分配邮件传输线程(用于发送到其他服务器)。
6)使用R5事务日志。它为你提供了大量完整的数据,可以让服务器快速启动,性能提升10%~20%。
正确配置一个Domino R5服务器运行在中档Windows NT机器上,每分钟可以传输20,000条消息(每条消息平均有10千字节)!
动词(verb的缩写)使用NotesBench基准数据
许多基准测试只是告诉你供应商想让你知道什么,但是NotesBench基准测试是不同的。NotesBench基准数据允许您对不同供应商的不同硬件配置上的Domino容量进行详细的比较。
你甚至可以用这些数据来估算总成本。仔细阅读NotesBench数据和从中获得的详细报告是收集信息的一个非常好的方法。通过它,您可以优化您的系统配置。
检测专家使用(或未使用的)磁盘结构、内核设置、补丁等。从他们的系统中获得最大的性能参数。
六、从信号分析
信号是一种处理线程的通信机制。本质上,信号是使用握手机制来决定资源的使用。当服务器过载时,管理员可能会收到来自控制台的信号。以下是观察Domino 4.6得到的一些常见信号。
并解释它们在性能方面的意义:
1)集合(0x30B)和集合队列(0x309)。暗示CPU和内存已经到了瓶颈。最佳解决方案是将管理流程活动推迟到空闲时间,并优化I/O子系统。
2)DB (0x245) 和DB Queue (0x244):暗示了数据库缓存和磁盘I/O 达到了瓶颈。 最好的解决办法是增加更多的内存,优化I/O字系统。启用域级的复制也会有所帮助。
3)BTree (0x255):暗示了怎样存储视图和刷新视图索引的问题。最好的解决办法是将刷新视图索引延期到空闲的时间,优化I/O子系统。
七、了解服务器过载使用时的症状
对服务器来说典型的问题是速度慢或邮件传输失败,延长了用户的响应时间和查找邮件地址的时间。
为检查邮件传输,您可以通过查看您的磁盘使用时间的百分比和邮件序列的长度。对于R5,您也可以检查mail.box 文件的数量和本地邮件传输线程的数量。
为了提高响应时间,应尽可能优化与I/O相关的文件在磁盘子系统中分布的方式。
如果地址搜索很慢,可以使用户在自己的客户机上使用轻量目录,这样会减少服务器和网络的负载。您也可以检查姓名搜索缓存(Name Lookup Cache)的点击率,一个好的点击率值应该是85%。
如果问题是很慢的页面刷新率或不响应的Web服务器,检查HTTP线程的数量和磁盘使用时间的百分比。设置HTTP线程的数量为1:10 (每十个用户使用一个线程)。
如何来确定一个服务器没有被充分使用?对于NT,指数是CPU的使用率低于50%,磁盘访问率低于50%,或者经常有多于200MB的可用内存。但是注意新添加的用户所需要的资源可能不等于您当前用户的平均资源。
例如,随着用户数量的增加,每个用户的内存需求会减少,因为固定的内存被分配给了更多的用户。
八、考虑群集
群集是Domino企业服务器的主要特征。群集能帮助您实现动态负载均衡,在群集中可以自动优化资源的使用。在群集中还可以实现邮件和应用的失效转移,包括Web应用。
您可以将Domino支持的任何平台上的R4和R5服务器集合在一个群集中,也可以将分区服务器和未分区的服务器群集在一起。
Domino群集是增加服务器资源的鲁棒性和可靠性的最好方法,也是将R5服务器加入到R4群集中的最安全的方法。
根据您的平台,一个低价格系统的群集能以较低的初始成本提供比一个单独庞大的服务器更好的可靠性。另外,群集大大减少了连接服务器失败的用户数量。例如,在Windows NT平台上,
如果一个系统中激活的用户超过750个,我们推荐使用群集。
九、考虑分区
分区能提高资源使用率和高端Domino系统的可靠性,也可以使您在维持合并利益的同时,按部门或功能来分布服务器。一些组织甚至使用分区来创建“服务级选项”(即将一些重要的经理人员放在一个分区,
其他人放在另一个分区)。
通常,系统中分区的数量不应该超过CPU的数量。AS/400系统是一个例外,它非常适合做分区。AS/400平台本身从逻辑上也将分区隔离开,所以即使一个分区坏了,其它的分区仍可以正常工作。
十、知道何时联合何时分布
除非您有令人信服的理由,否则选择在分布之上联合作为增长策略。
联合总是降低成本并提高可靠性:较少的服务器意味着不太复杂的服务器拓扑、较少的服务器对服务器之间的活动、较少的网络流通、较少的复制、服务器之间较少的邮件传输。
什么时候选择分布服务器而不是将它们联合在一起?您可能有地理上的分布要求,本地的服务器以低成本来处理本地的用户和数据。或者您开始的拓展比较小,但是增长很快,所以添加更多的服务器来容纳新用户,
或为了更好地利用当前的投资。