nmon(二)nmon_analyser
下载 http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser
-
下载解压之后,有2个文件,word文档是analyser的用户指南,对analyser工具的使用介绍得非常详细,excel就是用来做数据分析的工具。
-
初次使用时,一般会提示“宏已被禁用”,需要启用宏
-
接着点击 Analyze nmon data 按钮,将需要分析的*.nmon文件加载到excel中,分析完成后,会生成一个新的excel,里面记录了服务器的各项参数信息
打开文件,有以下各个页面:
-
系统汇总页面(SYS_SUMM)
图形坐标下册统计信息说明:
-
User%: 用户进程时间占CPU开销时间百分比
-
Wait%: 所有进程线程被阻塞等待完成一次IO请求所占CPU开销 idle 的时间百分比
-
Sys%: 线程和中断占CPU开销时间百分比
-
Idle%: CPU空闲时间百分比
-
CPU%: CPU利用率百分比
注意:
-
如果一个CPU被充分使用,利用率之间均衡的比例应该是:
User%: 65% ~ 70% , Sys%: 30% ~ 35% , Idle: 0% ~ 5%
-
CPU有IO wait存在,说明可能IO或内存方面存在瓶颈,其中主要导致IO Wait的主要原因如下: 内存不够而引起频繁的的数据交换,导致数据存取存在交换空间的 I/O瓶颈 硬盘数据分布不合理
-
系统信息(AAA)
页面信息主要包括:执行命令,主机CPU数(4),操作系统内核版本信息,主机名等信息。
-
系统详细信息(BBBP)
页面信息主要包括:操作系统版本,主机磁盘信息,主机CPU型号、主频信息,内存信息,网卡信息等
-
CPU使用情况(CPU_ALL,CPU_SUMM,CPU001,CPU002,CPU003,CPU004…)
主机CPU使用情况汇总以及单颗CPU的运行情况
-
磁盘读写情况(DISK_SUMM,DISKBSIZE,DISKBUSY,DISKREAD,DISKWRITE,DISKXFER)
磁盘的读、写及I/O统计信息,系统各磁盘分区的读写情况。其中DISKBUSY页主要反映系统本地磁盘使用,DISK_SUMM包括本地和存储(ESS, EMC, FASt及HDS)上所有磁盘使用情况
-
内存使用情况(MEM)
系统内存空闲、使用,swap、cached等统计信息
-
系统网络情况:标签页(NET,NETPACKET)
反映系统的网络运行情况,系统各个网络适配器读写的数据
-
系统进程(PROC)
反映系统运行线程及等待切换的线程平均数。其中RunQueue - 每个处理器应该运行队列不超过1-3个线程
-
页式调度:标签页(PAGE) 记录系统(AIX)页式调度的情况。
这一栏主要记录系统换页(paging)情况和页面扫描:自由比率(page scan:free ratio)。其中系统换页频率应该不大于5次/秒,而当页面扫描:自由比率持续大于4时,需要重点关注下系统内存和分页空间的使用情况 的内存交换操作会极大地影响系统的性能,尤其是在当数据库文件创建在文件系统上时(JFS and JFS2)。在这种情况下经常访问的数据,即在SGA中存在,也同样在文件的缓存中存在。这种相同的数据在内存中缓存两次的情况,会降低内存的使用效率,从而使内存频繁进行交换操作,造成系统的I/O瓶颈,降低整个系统的性能。
-
采集时间(ZZZZ)
记录nmon工具采集系统信息的时间点
Nmon监控常见现象和产生原因
性能下降(Performance Degradation),主要是指系统的性能随时间而逐渐下降(这里假定在系统性能下降的过程中系统的负载状况没有明显变化)。系统运行过程中占用的CPU或内存随时间增加也属于广义的性能下降问题。 在生产环境中,通常由终端客户最先感觉到并报告性能下降问题。所以狭义的性能下降问题主要是指系统运行指标随时间变化,比如吞吐率随时间下降或页面响应时间随时间上升,或者两者兼而有之。 下面列举一些引起性能下降问题的原因:
-
应用程序资源使用问题。主要是内存使用问题,即由于应用服务器的内存碎片问题或内存泄漏问题,导致垃圾回收的开销随时间增大。也有可能是因为磁盘临时文件积累造成磁盘访问开销增大。
-
应用程序设计问题。由于应用程序的设计存在可扩展性或可靠性问题,导致运行开销随时间或业务对象的积累而增大。
-
数据库访问问题。该问题又可以分为许多类型,如调优参数问题、表结构或索引设计问题、垃圾数据问题等。其共同特点是导致应用程序利用特定操作访问数据库的开销随时间而增大。
-
服务器软件资源使用问题。虽然可能性很小,但是应用服务器、数据库服务器等服务器程序也是软件程序,也有可能存在性能下降问题。这些服务器程序在自身测试过程中可能遗漏了某些性能问题,而在用户特定的执行状况下触发了这些问题,结果导致这些服务器程序使用的操作系统资源泄漏而出现性能下降问题。
-
测试用例设计问题。性能测试中有可能发现一些“假”的性能下降问题。比如测试用例设计时假设在测试执行过程中系统负载保持恒定,但实际的测试用例实现导致系统负载或特定页面的处理内容随时间增多,也可能导致测试工具的测试报告中出现性能下降问题。