内容提要: 通过
对Domino性能数据的 监测和分析,可以知道Domino服务器的运行状况,即在当前的工作负载下Domino服务器是否出色运行。它也可以帮助您找到Domino 服务器配置中的限制因素,从而最大限度地提高
Domino 服务器
的性能.
在i系列400里,可以使用Domino 控制台命令来 交互监测Domino系统性能 ,也可以在指定时间间隔内产生系统性能统计 报告放入数据库"statrep.nsf"中.请注意,性能收集会占用系统资源,所以请只收集必需的数据.下文介绍如何用Domino主控台的 命令来 交互监测系统性能. 说明: (1)主控台命令,帮助交互监测系统性能的 常用命令: show tasks show stat show dbs show stat platform show tran 除了交互看结果外,也可以把结果保存成TXT文件放到i系列的集成文件系统(IFS)里,便于将来查看: show xxxx >filename (1.1)主控台命令 show tasks : 显示运行的服务任务(tasks)状态; 用"debug"参数还可以显示i系列作业"SERVER"的每个任务对应的线程号(thread number),从而帮助映射每个线程到用户或系统功能,如下图所示: 特: "SERVER"最重要的Domino服务任务,多线程作业,是QNNINSTS后的第一个被启动作业,控制所有Domino服务器中发生的事情,比如启动会话、控制存取NSF数据库、控制Domino分区间通讯等.SERVER任务初始化会激活8到10个线程.随着用户不断登录,会有线程陆续激活,会引起CPU资源消耗. 在上图的任务列,可见服务任务和相应的线程标识(thread id),比如"92344:005B: 0036".如果希望分析它引起的性能问题,需要显示这个线程的调用堆栈(call stack).用命令WRKDOMSVR -> option 9 (Work server jobs),可以找到名为 092344/QNOTES/SERVER的 作业,当前它有69个线程,如下所示:
选择 option 12 (Work with threads), 找到ID为00000036的线程,用 option 10 (Display call stack) 显示调用堆栈: 为了更好的分析堆栈内容,请使用下列方法: CRTLIB GWVLIB TEXT('Panel Group for better Domino Call Stack display') CRTDUPOBJ OBJ(GWVJOB) FROMLIB(QDOMINO603) OBJTYPE(*PNLGRP) TOLIB(GWVLIB) NEWOBJ(QGWVJOB) CHGSYSLIBL GWVLIB 然后再用 option 10 (Display call stack) 显示调用堆栈,结果更易于阅读: 特:这种堆栈显示结果只适用于Domino作业,若要显示非Domino作业的调用堆栈,请用以下命令去除设置: CHGSYSLIBL LIB(GWVLIB) OPTION(*REMOVE) (1.2)主控台命令 show stat : 可以显示和内存、交易、并行用户、硬盘空间、邮件服务、复制服务、网络活动等相关的统计报告. 为了监控性能和研究性能问题,建议使用以下命令: (1.2.1)show stat Server.Trans.PerMinute : 统计上一分钟发生的交易数,便于监测整个系统的使用情况. (1.2.2)show stat Server.Users* : 统计现在处于活动状态的Notes会话数(包含所有和系统相连的用户和所有服务任务,比如 Replicator) (1.2.3)show stat Server.Sessions.Dropped : 统计会话断开数,便于监测整个系统的响应时间. (1.2.4)show stat Domino : 监控Domino的HTTP服务器的活动, 比如 show stat Domino.Config.ActiveThreads* 命令显示了在服务器文档(server document)中参数设定的为HTTP请求服务的线程最大最小值. 如果监控其它Internet工作负载,可以直接输入如下Domino主控台命令: show stat SMTP show stat POP3 show stat IMAP show stat LDAP (1.2.6) show stat Database.* / show stat Database.Database.BufferPool.* : 监测这个Domino服务器用了多少 NSF buffer pool资源.如果BufferPoolPeak长时间使用超过了95%,需要增加 NSF_Buffer_POOL_Size.如果PerCentReadsInBuffer的值太低,代表没有足够的内存来cache读请求.因为PerCentReadsInBuffer代表buffer pool服务于外部请求的时间总计百分比,所以越高越好. 特:当从Domino主控制台发出 'show stat'命令,统计数据是一个从Domino最新一次启动算来的累加值.为了刷新统计累计时间点,可以用命令 Set Statistics xxx. 比如,Set Stat *,或 Set Stat Server.Trans.Total. (1.3)主控台命令 show dbs : 显示Domino打开数据库的相关统计信息.比如,数据库名,被打开的次数,是否数据库被修改了但还没刷新修改后的信息到硬盘, 数据库锁等待的发生数量、平均等待时间和峰值等待者数量等. 为了显示"LockWaits"和"AvgWait"值,要临时修改notes.ini文件,添加设置: COLLECT_DB_LOCK_WAITS=1
因为它会消耗系统资源,请在使用完"Show DBS"命令后,再把这个设置删除. (1.4)和平台相关的统计报告(statistical reports): 激活和硬件平台相关的统计报告,需要编辑notes.ini文件,加入如下设置: PLATFORM_STATISTICS_ENABLED=1 再重启Domino服务器.会启动一个"PLATFORM"任务. 从主控台用命令show stat platform来读结果: Platform.System.TotalUtil.* -- 系统CPU平均使用率统计信息,包含处理所有Domino作业和非Domino作业的. Platform.Process.* -- 表明某个单独Domino服务器上的特定Domino任务的CPU使用率 Platform.Memory.* -- 内存统计信息. Platform.LogicalDisk.* -- 整个i系列的硬盘使用统计信息(All configure disks in all ASPs) 命令"show stat platform"后还可以跟参数: Time: 显示或修改性能数据收集时间间隔 Reset: 刷新和平台相关统计数据的收集 Wait: 停止和平台相关统计数据的收集 Run: 启动和平台相关统计数据的收集 比如,启动一个新的性能数据收集画面,取样时间为5分钟,可以从Domino主控台上敲入命令: 1. platform time 5 2. platform reset (1.5) 主控台命令 show tran : 为每个运行的Domino中心交易提供性能统计报告.通过分析结果,可以决定是否交易需要更多CPU资源来完成. 一般来说,好的交易响应速度应该小于1000毫秒;而大于 5000 毫秒的交易响应速度是较差的. 附录:下面列出常用的Domino主控台命令和缩写.如果希望了解完整的语法和参数,请参阅"Lotus Domino Administrator's Guide" 或 "Domino 5 Administration Help database (help5_admin.nsf)". Broadcast (b) Dbcache Flush (db f) Dbcache Show (db s) Drop (dr) Exit (e) Help (he) Load (l) Pull (pul) Push (pus) Quit (q) Replicate (rep) Restart Port (res po) Restart Server (res se) Route (ro) Set Configuration (se c) Set Secure (se se) Set Statistics (se st) Show Allports (sh a) Show Cluster (sh cl) Show Configuration (sh co) Show Directory (sh dir) Show Diskspace (sh dis) Show Memory (sh me) Show Performance (sh pe) Show Port (sh po) Show Schedule (sh sc) Show Server (sh se) Show Stat (sh st) Show Tasks (sh ta) Show Users (sh u) Show Transactions (sh tr) Start Port (sta po) Stop Port (sto po) Tell (t) Trace (tr) 参考资料: <> SG245162
阅读(3711) | 评论(0) | 转发(0) |