好好活,做有意义的事!

[转]利用Windows性能计数器分析软件产品的性能瓶颈

上一篇 / 下一篇  2007-04-19 16:11:34 / 个人分类:性能测试

【摘要】
本文详细介绍了Windows性能计数器在帮助查找软件产品性能瓶颈中的作用以及使用方法等,为开发、测试以及系统分析人员介绍一种简洁高效性能跟踪评估手段
 
1         概述
软件产品常常会出现这样的情况:产品性能因某些无法预料的瓶颈而受到干扰,导致程序的处理效率降低,性能得不到充分的发挥。如何快速有效地找到软件产品的性能瓶颈,则是我们感兴趣的内容之一。
Windows 2000附带的 Windows 性能监视器提供的性能计数器具有强大的功能,可以使我们能够获得系统或进程的各种详细信息,比如系统进程、CPU 利用率、磁盘活动、内存使用等等,巧妙灵活地利用这一工具,可以有效地帮助我们确定软件产品性能瓶颈所在
 
2         使用说明
Windows 性能监视器置于 Windows 操作系统之中,它允许用户访问系统性能数据。访问性能监视器的简单方法是,从“开始”菜单中,选择“开始”=>“程序”=>“管理工具”=>“性能”即可启动。如果“程序”菜单中没有“管理工具”程序组,请从控制面板中选择。
图(1)展示了最初的性能监视器窗口。

图(1)性能监视器窗口
 


2.1        性能监视动态显示模式
图(1)显示的是Winword进程CPU占用情况实时分布图。
在视图区,点击右键,选择“添加计数器”,出现如下图所示窗口。

图(2)添加计数器
 

 
 


      假设需要对Winword进程的CPU占用时间和句柄数进行监视,则进行如下操作:
(1)      从“添加计数器”窗口中,选择性能对象为“Process”(进程);
(2)      选中“从列表选择实例”;
(3)      选中需要监视的进程,如Winword;
(4)      选中“从列表选择计数器”,从列表框中选中需要监视的特性,如CPU占用时间、句柄数等;
(5)      设置完毕,点击“添加”按钮,关闭窗口,即可实时监视选中的参数。
 
动态监视的缺点是:监视周期只有140秒时长,并且数据不能连续输出到文件中。不能
做后续分析。
 
2.2        性能数据连续跟踪统计
当需要对性能数据进行连续统计,并进行后续分析时,我们可以采用另外一种方式:启用计数器日志
图(3)展示了启用计数器日志的性能监视器窗口。

图(3)添加计数器
 

 


我们以监视Winword进程的CPU占用时间、物理内存和虚拟内存为例进行说明。
(1)             如上图所示,在左边树图区,展开“性能日志和报警”项,在该分支下选中“计数器日志”;
(2)             在右边视图区,点击右键,选择“新建日志设置”,在弹出的对话框中输入一个名称,如“MyCount”,应用后出现如下图(4)所示属性设置对话框;

图(4)计数器属性设置
 

 
 


(3)             点击“添加”按钮,出现如图(2)所示的“添加计数器”对话框;
(4)             从“添加计数器”窗口中,选择性能对象为“Process”(进程);
(5)             选中“从列表选择实例”;
(6)             选中需要监视的进程,如Winword;
(7)             选中“从列表选择计数器”,从列表框中选中需要监视的特性,如CPU占用时间、物理内存、虚拟内存等;
(8)             设置完毕,点击“添加”按钮,关闭窗口,回到图(4)显示窗口;
(9)             在图(4)对话框中,切换至“日志文件”属性页,如图(5)所示;

图(5)日志文件属性设置
 

 


(10)         在图(5)中,将日志类型设置为CSV格式,便于在Excel中导入;
(11)         将日志大小设置为最大限度,也可以根据需要预设定文件记录大小;
(12)         在图(4)对话框中,切换至“计划”属性页,如图(6)所示;

图(6)采集计划定制
 

 
 


(13)         采用默认计划,关闭设置对话框;
(14)         开始采集监视对象性能数据,如果需要停止采集,手工终止即可。
 
优点:可以设定采样频率,指定时长或者手工控制采样时长不间断地采集性能数据,并且
可以多种格式存储数据,满足不同的需求,便于事后分析。
 
2.2.2         性能采集数据分析
采集的数据被记录到Execl文件中。数据记录如下:

图(7)采集数据记录
 

 


(1)      打开日志文件;
(2)      选中需要分析的数据(列);
(3)      点击工具条中的“图表向导”,出现如下图(8)所示对话框;

图(8)图表类型设置
 

 
 


(4)      选中“折线图”中的第一个图形,进入下一步;

图(9)图表类型设置
 

 
 


(5)      在图(9)中,将数据区域设置为从第二行开始;

图(10)图表系列设置
 

 
 


(6)      完成设置后,以新表格方式插入分布图。
(7)      采用同样的方式,可以绘出物理内存、虚拟内存的分布情况。
 
2.3        采集对象和可采集的参数
性能计数器可监视的对象多达20种,每一种性能对象又包括若干个可供计数的性能参数满。以最常用的监视对象――进程为例,其可供计数的性能参数多达27种,如进程占用CPU的时间、句柄数、每秒IO字节数、每秒IO读字节数、每秒IO写字节数、虚拟内存、虚拟内存峰值、线程数目、物理内存、物理内存峰值等,能满足大部分需求。
 
3         效果评估
采样Windows性能计数器对进程的某些特性参数进行统计跟踪,能很好的发现软件的瓶颈和运行状态,特别是我们比较关心的CPU占用、内存使用情况等,具有较大的参考价值。


TAG: 性能测试 Windows性能计数器 性能瓶颈

花渡 ; 小雅 引用 删除 心知   /   2013-06-24 17:22:28
thanks。。。。。
lsw的个人空间 引用 删除 lsw   /   2012-01-31 14:10:45
3
小Q ~ 空间 引用 删除 Q_sunny520   /   2011-08-09 17:16:19
很不错,先收藏着
引用 删除 木糖大灰狼   /   2009-11-28 11:05:34
谢谢!
For Learning 引用 删除 秋毫   /   2008-11-10 21:55:09
学习。。。
smallsky的个人空间 引用 删除 smallsky   /   2008-01-08 14:46:28
太好了额
Larry 引用 删除 12_qijian   /   2007-10-16 11:52:50
正好用的到 收藏了先
葫葫的坛子 引用 删除 葫葫   /   2007-08-27 11:10:29
看了你的文章,终于向前迈了一小步,谢谢
 

评分:0

我来说两句

Open Toolbar