emmalican 发表于 2020-10-20 21:15:26

利用Windows进行产品系统资源占用情况测试

产品系统资源占用情况测试在做产品性能及稳定性测试时,需要查看服务器的CPU、内存、磁盘、网络的性能情况。要查看系统资源的性能信息,我们一般首先会想到Windows的任务管理器。Windows任务管理器能实时监控系统的CPU、内存、磁盘、网络的占用情况,并能提供较短时间内系统资源的占用曲线。然而,这些信息对于我们分析产品的性能规格及稳定性来说远远不够。Windows系统自带的perfmon性能监视器,能满足我们以上需求,可以查看更为详细的系统性能信息,同时提供图形化报表,日志、跟踪和警报等功能。通过这些数据可以了解产品运行一段时间内的工作状态以及资源的使用情况。根据日志记录可以诊断系统性能问题,了解产品运行过程中系统的资源占用情况。通过警报功能可以监视相关性能数据,当达到指定条件时及时通知。下面介绍该工具的使用方法。1. 产品系统资源占用情况测试1.1. 测试场景产品在进行性能、稳定性、集群等相关测试时,需要关注产品所在服务器的相关系统资源占用情况,如:
[*]产品连续运行一段时间,如7*24h,系统在这一段时间内的CPU、内存、磁盘占用情况,包括CPU、内存占用率,磁盘占用率、磁盘读写速率等
[*]客户端和服务器分离部署时,客户端与服务器通信的网络带宽资源占用情况
[*]产品集群部署时,主备产品之间的心跳需耗费的网络带宽资源情况
[*]产品在进行压力测试时,如多人同时查询、同时激活业务等操作时,系统CPU、内存的占用情况
[*]模拟上报不同数据量的告警性能,系统CPU、内存的占用情况,以及磁盘IO占用情况1)选择待采集的性能参数,测试CPU性能,一般主要选择以下参数:

[*]%Processor Time:指处理器执行非闲置线程时间的百分比,是处理器活动的主要指示器;阀值一般为85%,超过该值,则说明处理器处理能力存在瓶颈
[*]Interrupts/sec.:每秒钟设备中断处理器的次数;该指标越低越好
[*]Processor Queue Length:处理器队列的线程数量;该值如果持续或者反复发生2个以上的队列则表示处理器堵塞,存在处理器瓶颈
[*]Context Switches/sec:指计算机上的所有处理器全都从一个线程转换到另一个线程的综合速率;该值正常应该小于5000/秒/CPU,如果Context Switching速率达到15000/秒/CPU,则表明锁定竞争很激烈,或者线程在用户和内核模式之间频繁切换。
[*]System Calls/sec.:指运行在计算机上的所有处理器调用操作系统服务例行程序的综合速率;如果Processor Queue Length平均值持续大于2,表明CPU存在瓶颈

[*]设置待采集的对象为产品及PAS所在安装目录
[*]设置采集周期
[*]设置日志文件保存路径 3.设置属性界面入口:设置日志格式,设置为逗号分隔,格式为csv,设置为二进制,导出后数据支持用图形化工具打开: 4.启动任务

[*]查看日志文件并分析以下为产品持续运行2h后CPU的性能数据分析。1)打开日志文件 2)打开后,可以看到一个图形化的界面,展示不同性能指标在2h内的性能数据。选择不同的计数器,可以查看该性能指标在这段时间内的最大值、最小值、平均值、实时性能值。 图12 查看结果3)下面对不同性能指标的性能数据进行分析

[*]%Processor Time:最大值为39.328,最小值为20.390,平均值为27.398;该指标阈值为85。可以看出,CPU利用率暂不会成为性能瓶颈。
[*]Processor Queue Length:最大值为50,最小值为0,平均值为1.004。从性能曲线图可以看出,该指标存在波动,可能在存在性能数据积压时较高,未存在持续一段时间都较高的情况。可以看出,该指标暂不会成为性能瓶颈。
[*]System Calls/sec.:最大值为257093.640,最小值为101450.669,平均值为112681.666。
[*]Interrupts/sec.:最大值为22392.453,最小值为14232.918,平均值为18446.274。Interrupts/sec.要大于System Calls/sec.,可以看出CPU中断率较高,推断可能为磁盘引起,可能为产品和PAS频繁读写数据库导致,后续可以增加磁盘读写性能相关测试。
[*]Context Switches/sec:最大值为48337.269,最小值为35570.101,平均值为46080.676。该值平均值已超过15000,表明锁定竞争很激烈,可能成为性能瓶颈。
页: [1]
查看完整版本: 利用Windows进行产品系统资源占用情况测试