性能测试瓶颈判断(LR&Windowns)

一、判断CPU瓶颈(Processor)

1, %processor time

如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。

如果服务器专用于sql server,可接受的最大上限是80-85%

2,  processor queue length大于2 (大于处理器个数+1).可以确定CPU瓶颈

如果发现processor queue length显示的队列长度超过2,而处理器的利用率却一直很低,或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。

3, CPU空闲时间为零(zero percent idle CPU)

4, %User Time过高的用户占用CPU时间

%User time(processor_total)表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值

5,   %Priviliaged Time过高的系统占用CPU时间(长期大于90%或者95%)

%Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该参数值和"hysical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max lazy writer IO"等措施都会降低该值。

6,  % DPC Time  越低越好。

在多处理器系统中,如果这个值大于50%并且Processor:% Processor Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。

7,  Inetinforivate Bytes

此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。

CPU资源成为系统性能的瓶颈的征兆:
很慢的响应时间(slow response time)
CPU空闲时间为零(zero percent idle CPU)
过高的用户占用CPU时间(high percent user CPU)
过高的系统占用CPU时间(high percent system CPU)
长时间的有很长的运行进程队列(large run queue size sustained over time)

二、判断内存瓶颈与内存泄漏

1,如果发生了内存泄漏,process\private bytes计数器和process\working set 计数器的值往往会升高,同时avaiable Mbytes的值会降低。

2, Available
Mbytes
(剩余物理内存数)

如果该值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

3,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。

内存资源成为系统性能的瓶颈的征兆:
很高的换页率(high pageout rate);
进程进入不活动状态;
交换区所有磁盘的活动次数可高;
过高的全局系统CPU利用率;
内存不够出错(out of memory errors)

三、定位磁盘瓶颈

1, %
Disk Time
 和Avg.Disk Queue Length 的值 (应不大于组成物理磁盘的主轴数的 1.5 到2倍) 很高,而Page
Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。

2,Physical
Disk\ Disk Reads/sec and Disk Writes/sec
 大于20 ms,则有可能磁盘瓶颈

%Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000 的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。

Avg.Disk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。

使用 Current Disk Queue Length% Disk Time 计数器来检测磁盘子系统的瓶颈。如果Current Disk Queue Length 和 % Disk Time 的值始终较高,可以考虑升级磁盘驱动器或将某些文件移动到其他磁盘或服务器。

3,Avg.Disk
sec/Transfer
  盘中写入数据的平均时间,单位是秒,一般来说,定义该值小于15ms最为优异,介于15-30ms之间为良好,30-60ms之间为可以接受,超过60ms则需要考虑更换硬盘或硬盘的RAID方式了

4,Disk
Transfers/sec
 指在此盘上读取/写入操作速率。正常值<(Disk Bytes/sec)/3,此值过大表示系统要求的IO速度已接近硬盘的最大速度,要更换更快的硬盘。

备注:
如果使用 RAID 设备,% Disk Time 计数器会指示大于 100% 的值。

I/O资源成为系统性能的瓶颈的征兆 :
过高的磁盘利用率(high disk utilization)
太长的磁盘等待队列(large disk queue length)
等待磁盘I/O的时间所占的百分率太高(large percentage of time waiting for disk I/O)
太高的物理I/O速率:large physical I/O rate(not sufficient in itself) 过低的缓存命中率(low buffer cache hit ratio(not sufficient in itself)) 太长的运行进程队列,但CPU却空闲(large run queue with idle CPU)

四、定位网络瓶颈
Byte Total/sec 表示网络中接受和发送字节的速度,可以用该计数器来判断网络是否存在瓶颈(参考值:该计数器和网络带宽相除,<50%)

SQL Server 相关

1, SQLServer:CacheManage
->Cache Hit Ratio
 显示在高速缓存中找到数据的命中率。如果数值持续小于 85%, 则表示内存有问题。

2, SQLServer:Locks->Lock
Waits/sec
 显示在当前进程完成之前强制其他进程等待的每秒锁定请求的数量。如果该值始终大于 0, 则表示事务有问题。

3, SQLServer:Databases->Transactions/sec 每秒为数据库启动的事务数

Thread

  ContextSwitches/sec:
(实例化inetinfo 和dllhost 进程) 如果你决定要增加线程字节池的大小,你应该监视这三个计数器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。

时间: 2024-10-11 19:05:58

性能测试瓶颈判断(LR&Windowns)的相关文章

【转】性能测试设计和LR原理的探讨

做了4个迭代的性能测试, 在没有需求的情况下步步艰辛,把代码和框架独立开发从0到一万多行代码的测试工具(脚本),作为性能测试工具佼佼者Lr,我时而拿他作参考,山寨了它很多 东西,同时带有很多疑问对它实现性能测试的原因渡过了为期3个月的性能测试之旅.以下是我对比测试脚本和LR所得出的详细问题: 1.如何计算每秒处理包的数量 我针对这个曾经研究了很久.在多线程的情况下,压服务器的时候,是专门建立一个线程去采集这些信息,还是说在每个线程里面实现这个时间.后来我采取了后者.因为在到达了某项瓶颈之后,这段

性能测试—瓶颈分析方法

1.内存分析方法 内存分析用于判断系统有无内存瓶颈,是否需要通过增加内存等手段提高系统性能表现. 内存分析需要使用的计数器:Memory类别和Physical Disk类别的计数器.内存分析的主要方法和步骤: (1)首先查看Memory\Available Mbytes指标 如果该指标的数据比较小,系统可能出现了内存方面的问题,需要继续下面步骤进一步分析. 注: 在UNIX/LINUX中,对应指标是FREE(KB) (2)注意Pages/sec.Pages Read/sec和Page Fault

性能测试基础(一)

随着软件行业的快速发展,现代的软件系统越来越复杂,功能越来越多,测试人员除了需要保证基本的功能测试质量,性能也随越来越受到人们的关注.但是一提到性能测试,很多人就直接连想到Loadrunner.认为LR就等于性能测试,其实这是不对的.LR只是性能测试的一个工具,但性能测试不仅仅是LR.本文会从以下几个方面介绍基础的性能测试理论,后续也会持续更新相关文章,尽量理论结合实践,让性能测试学习不在是工具的学习. 目录: 一. 什么是软件性能 二.不同群体眼中的性能 三.性能测试类型 四.性能测试应用场景

LoadRunner性能测试结果计数器指标说明

LoadRunner性能测试结果计数器指标说明 转载2015-09-23 09:57:13 标签:loadrunner计数器 针对性能测试结果分析过程中,面对大量的测试数据,反而感觉无从下手分析.今天我们就Windows操作系统计数器中的个别被监控对象进行简单的说明. Memory: ·Available Mbytes 简述:可用物理内存数.如果Available Mbytes的值很小(4 MB或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存. 参考值:4 MB或更小,至少要有10

Jmeter的性能测试

性能测试的概念 定义:软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性. 由定义可知性能关注的是软件的非功能特性,所以一般来说性能测试介入的时机是在功能测试完成之后.在系统基础功能测试验证完成.系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的.另外,由定义中的及时性可知性能也是一种指标,可以用时间或其它指标来衡量,通常我们会使用某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试. 性能测试定义:指通过自动化的

【转】支付宝的性能测试

一.性能测试支付宝场景介绍 2013年双11过程当中,促销开启的第一分钟内支付宝的交易总额就突破了一亿元,短时间内大量用户涌入的情况下,如何保证用户的支付顺畅,是对支付宝应用系统的一个极大的挑战. 支付宝的性能测试场景分为性能基线测试,项目性能测试. 任意一笔交易过来,我们都需要对交易进行风险扫描,对于有可能是账户盗用的交易,我们会把这笔支付直接拒绝掉,或者通过手机校验码等方式进行风险释放. 相关厂商内容 手机百度APS深度剖析 谁保证了您的便捷出行? 万人在线直播教室如何搭建? 公司高速发展,

支付宝的性能测试

一.性能测试支付宝场景介绍 2013年双11过程当中,促销开启的第一分钟内支付宝的交易总额就突破了一亿元,短时间内大量用户涌入的情况下,如何保证用户的支付顺畅,是对支付宝应用系统的一个极大的挑战. 支付宝的性能测试场景分为性能基线测试,项目性能测试. 任意一笔交易过来,我们都需要对交易进行风险扫描,对于有可能是账户盗用的交易,我们会把这笔支付直接拒绝掉,或者通过手机校验码等方式进行风险释放. 相关厂商内容 白皮书下载:发布管理的痛点与最佳实践 百度技术沙龙第五十四期:人工智能技术应用(2014年

LR回放https协议脚本失败:[GENERAL_MSG_CAT_SSL_ERROR]connect to host &quot;XXX&quot; failed:[10054] Connection reset by peer [MsgId:MERR-27780]

最近做一个负载均衡项目的性能测试,使用LR录制脚本协议为https协议,回放脚本时出现报错: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection reset by peer  [MsgId:MERR-27780] 如图: Loadrunner默认发送是通过sockets(将http转换为sockets)发送的,而sockets默认SSL的版本为SSL2和SSL3.HTTPS协议录制的脚本以

性能测试学习之路

最近在研究性能测试,已经看书查资料的研究了一个月,可是整个人依然云里雾绕的,迷茫的不知所措,下面不知道该去何方? 或许此时就像在爬山,目标是山顶(学会并应用性能测试),爬到山顶的过程就是学习的过程,可是因为路不熟悉(不知道该学哪些东西),人慢慢就迷路了,再加上体力的耗费(学习时间的花费),整个人就累了(学习时间的浪费让人莫名其妙的烦躁起来).这个时必须让自己安静下来,慢慢看看眼前的路,只要走在正确的路上,开始慢点无所谓,熟悉了就慢慢快起来了.整理一下自己下面打算走的路(学习的东西): <性能测试