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

 

【摘要】
本文详细介绍了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)       设置完毕,点击“添加”按钮,关闭窗口,即可实时监视选中的参数。
 
动态监视的缺点是:监视周期只有 1 40 秒时长,并且数据不能连续输出到文件中。不能
做后续分析。
 
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)       完成设置后,以新表格方式插入分布图。如下图所示。

图(11)CPU占用分布图

Runtime Error

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>

'>1

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值