一、远程连接到Windows服务器,使用windows系统自带工具进行收集性能数据
1、Windows服务器中自带的性能监控工具叫做PerformanceMonitor,在开始-运行中输入‘Perfmon.msc’,然后回车即可运行。通过界面,控制面板所有控制面板项管理工具性能监视器也能打开
打开后,页面展示
2、添加计数器
性能>数据收集器集>用户定义[右击]>新增‘数据收集器集’>手动创建高级>下一步
勾选创建数据日志>性能计数器>【下一步】
点击“添加”→选择计数器
点击选中的可用计数器>【添加】>【确定】
【确定】>【下一步】
选择目录后,点击【完成】
查看新增的计数器,输出地方为日志输出地址
3、选择日志数据源格式
选择用户定义下的数据收集器集>右键属性>性能计数器,日志格式选择“逗号分隔”(即csv格式)
4、开始启动数据采集,选择用户定义下的数据收集器集>右键属性>开始
此时,输出有地址了
5、用EXCEL将数据转换为折线图,并分析性能情况
二、分析性能情况
(1)内存泄露判断
●虚拟内存字节数(VirtualBytes)应该远大于工作集字节数(Workingset),如果两者变化规律相反,比如说工作集增长较快,虚拟内存增长较少,则可能说明出现了内存泄露的情况。
●对于Workingset、PrivateBytes、Availablebytes这些计数器,如果在测试期间内数值持续增长,而且测试停止后位置在高水平,则也说明存在内存泄露。
●Windows资源监控中,如果ProcessPrivateBytes计数器和ProcessWorkingSet计数器的值在长时间内持续升高,同时MemoryAvailable
bytes计数器的值持续降低,则很可能存在内存泄漏。
(2)CPU使用情况
●一般平均不要超过70%,最大不要超过90%(好:70%、坏:85%、很差:90%)
(3)tps(每秒处理事务的数量,在SOAPUI中进行统计)
●一般在10-100,不同应用程序具体值不同
几个常用参数的参考值:
CPU:
%ProcessorTime:表示CPU的使用率,如果值大于80表示CPU的处理调度能力偏低。
硬盘:
%DiskTime:表示硬盘的I/O操作的频率(繁忙时间),如果值大于80表示硬盘I/O调度能力偏低。
AverageDiskQueue
Length:表示硬盘I/O操作等待队列的长度,如果值大于2表示硬盘I/O调度能力偏低。
内存
Pages/Sec:表示系统对虚拟内存每秒钟的访问次数,如果值大于20表示有内存方面的问题。(有可能是物理内存偏低,也有可能是虚拟内存没有配置正确。一般情况下虚拟内存应为物理内存的1.5-2倍)
CommittedBytesandAvailableBytes:CommittedBytes表示虚拟内存的大小,AvailableBytes表示剩余可用内存的大小。正常情况下,AvailableBytes减少,pages(页面数)应该增加,提供页面交换。
如果AvailableBytes的值很小表示物理内存偏低。当关闭一些应用以后,CommittedBytes应该减少,AvailableBytes应该增加。因为关闭的进程释放了之前占用的内存资源。如果相应的值没有发生变化,那么该进程就可能造成了内存泄漏。
CacheBytes:表示系统缓存的大小。如果值大于4M表示物理内存偏低。
三、关于计数器的选择
perfmon的计数器主要分四种:处理器性能计数器、内存性能计数器、磁盘性能计数器以及网络性能计数器。
以下为监控服务器常用的计数器:
以下为监控进程常用的计数器: