Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >性能测试之----瓶颈分析方法

性能测试之----瓶颈分析方法

作者头像
流柯
发布于 2018-08-30 09:29:40
发布于 2018-08-30 09:29:40
1.6K0
举报
文章被收录于专栏:流柯技术学院流柯技术学院

1、内存分析法

内存分析用于判断系统有无内存瓶颈,是否需要通过增加内存等手段提高系统性能表现。

内存分析需要使用的计数器:Memory类别和Physical Disk类别的计数器。内存分析的主要方法和步骤:

(1)首先查看Memory\Available Mbytes指标

如果该指标的数据比较小,系统可能出现了内存方面的问题,需要继续下面步骤进一步分析。

注: 在UNIX/LINUX中,对应指标是FREE(KB)

(2)注意Pages/sec、Pages Read/sec和Page Faults/sec的值

操作系统回利用磁盘较好的方式提高系统可用内存量或者提高内存的使用效率。这三个指标直接反应了操作系统进行磁盘交换的频度。

如果Pages/sec的技术持续高于几百,可能有内存问题。Pages/sec值不一定大就表明有内存问题,可能是运行使用内存映射文件的程序所致。Page Faults/sec说明每秒发生页面失效次数,页面失效次数越多,说明操作系统向内存读取的次数越多。此事需要查看Pages Read/sec的计数值,该计数器的阀值为5,如果计数值超过5,则可以判断存在内存方面的问题。

注:在UNIX/LINUX系统中,对于指标是(page)si和(page)so.

(3)根据Physical Disk计数器的值分析性能瓶颈

对Physical Disk计数器的分析包括对Page Reads/sec和%Disk Time及Aerage Disk Queue Length的分析。如果Pages Read/sec很低,同时%Disk Time和Average Disk Queue Length的值很高,则可能有磁盘瓶颈。但是,如果队列长度增加的同时Pages Read/sec并未降低,则是内存不足。

注:在 UNIX/LINUX系统中,对应的指标是Reads(Writes)per sec、Percent of time the disk is busy和Average number of transactions waiting for service.

2、处理器分析法

(1)首先看System\%Total Processor Time 性能计数器的计数值

该计数器的值体现服务器整体处理器利用率,对多处理器的系统而言,该计数器提醒所有CPU的平均利用率。如果该值持续超过90%,则说明整个系统面临着处理器方面的瓶颈,需要通过增加处理器来提高性能。

注:多处理器系统中,该数据本身不大,但PUT直接负载状况极不均衡,也应该视作系统产生处理器方面瓶颈。

(2)其次查看每个CPU的Processor\%Processor Time 和 Processor\%User Time 和 Processor\%Privileged Time

Processor\%User Time 是系统非核心操作消耗的CPU时间,如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器是数据库服务器, Processor\%User Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。

(3)研究系统处理器瓶颈

查看 System\Processor Queue Length 计数器的值,当该计数器的值大于CPU数量的总数+1时,说明产生了处理器阻塞。在处理器的%Process Time很高时,一般都随处理器阻塞,但产生处理器阻塞时,Processor\%Process Time 计数器的值并不一定很大,此时就必须查找处理器阻塞的原因。

%DOC Time 是另一个需要关注的内容,该计数器越低越好。在多处理器系统中,如果这个值大于50%,并且Processor\%Precessor Time非常高,加入一个网卡可能回提高性能。

3、磁盘I/O分析法

(1)计算梅磁盘的I/O数

梅磁盘的I/O数可用来与磁盘的I/O能力进行对比,如果经过计算得到的每磁盘I/O数超过了磁盘标称的I/O能力,则说明确实存在磁盘的性能瓶颈。

每磁盘I/O计算方法

RAID0计算方法:(Reads +Writes)/Number of Disks

RAID0计算方法:(Reads +2*Writes)/2

RAID0计算方法:[Reads +(4*Writes)]/Number of Disks

RAID0计算方法:[Reads +(2*Writes)]/Number of Disks

(2)与Processor\Privileged Time 合并进行分析

如果在Physical Disk 计数器中,只有%Disk Time 比较大,其他值都比较适中,硬盘可能会是瓶颈。若几个值都比较大,且数值持续超过80%,则可能是内存泄漏。

(3)根据Disk sec/Transfer进行分析

一般来说,定义该数值小于15ms为Excellent,介于15~30ms之间为良好,30~60ms之间为可以接受,超过60ms则需要考虑更换硬盘或是硬盘的RAID方式了。

4、进程分析法

(1)查看进程的%Processor Time值

每个进程的%Processor Time反映进程所消耗的处理器时间。用不同进程所消耗的处理器时间进行对比,可以看出具体哪个进程在性能测试过程中消耗了最多的处理器时间,从而可以据此针对应用进行优化。

(2)查看每个进程产生的页面失效

可以用每个进程产生的页面失效(通过PRCESS\PAGE FAILURES/SEC计数器获得)和系统页面失效(可以通过MEMORY\PAGE FAILURES/SEC计数器获得)的比值,来判断哪个进程产生了最多的页面失效,这个进程要么是需要大量内存的进程,要么是非常活跃的进程,可以对其进行重点分析。

(3)了解进程的Process/Private Bytes

Process/Private Bytes是指进程所分配的无法与其他进程共享的当前字节数量。该计数器主要用来判断进程在性能测试过程中有无内存泄漏。例如:对于一个IIS之上的 WEB应用,我们可以重点监控inetinfo进程的Private Bytes,如果在性能测试过程中,该进程的Private Bytes计数器值不断增加,或是性能测试停止后一段时间,该进程的Private Bytes仍然持续在高水平,则说明应用存在内存泄漏。

注:在UNIX/LINUX系统中,对应的指标是Resident Size

5、网络分析法

Network Interface\Bytes Total/sec为发送和接收字节的速率,可以通过该计数器值来判断网络链接速度是否是瓶颈,具体操作方法是用该计数器的值和目前网络的带宽进行比较。

RAID0计算方法:[Reads +(2*Writes)]/Number of Disks

(2)与Processor\Privileged Time 合并进行分析

如果在Physical Disk 计数器中,只有%Disk Time 比较大,其他值都比较适中,硬盘可能会是瓶颈。若几个值都比较大,且数值持续超过80%,则可能是内存泄漏。

(3)根据Disk sec/Transfer进行分析

一般来说,定义该数值小于15ms为Excellent,介于15~30ms之间为良好,30~60ms之间为可以接受,超过60ms则需要考虑更换硬盘或是硬盘的RAID方式了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-01-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
软件性能测试(连载5)
线程单元中的处理器队列的即时长度,如果大于CPU数量+1,说明处理器处于堵塞状态。
顾翔
2020/02/19
9530
性能测试中会遇到的瓶颈
性能测试这种测试方式在发生过程中,其中一个过渡性的工作,就是对执行过程中的问题,进行定位,对功能的定位,对负载的定位,最重要的,当然就是问题中说的“瓶颈”,接触性能测试不深,更非专家,自己的理解,瓶颈产生在以下几方面:
顾翔
2020/09/04
2K0
服务器的指标和瓶颈如何分析?
CPU使用率(%processor time),在80%±5%范围内波动为宜。过低,则服务器CPU利用率不高;过高,则CPU可能成为系统的处理瓶颈。
用户6367961
2022/01/12
2.5K0
运行结果分析相关
一般方式也是最基本的方法是按照一定的规则压并发,看日志。专业一点的说法可以说“分段排除法“,或者按照以下顺序查找瓶颈。
张树臣
2019/07/31
1K0
LR windows 计数器
object(对象) Counters(计数器名称) Description(描述) 参考值 Memory Available Mbytes 可用物理内存数。如果该值很小(4MB或更小),则说明该计算机上总的内存可能不足,或某程序没有释放内存。每个附加连接将在此基础上占用10KB左右 至少要有10%的物理内存值 Memory Page/sec 表示因为页面错误,从磁盘取出的页面数,或是由于页面错误,写入磁盘以释放工作空间的页面数 推荐值为0~20,一般如果该值持续高于几百,那么应该进一步研究页交换活动 M
张树臣
2018/05/15
1.3K0
windows服务器性能监控工具、方法及关键指标
监控方法 推荐使用windows自带的“性能监视器”(老版本的windows叫性能计数器)来监控服务器的性能。 打开控制面板内的管理工具,在管理工具内打开性能监视器,出现如下界面(各版本的window
liulun
2018/01/12
3.8K0
windows服务器性能监控工具、方法及关键指标
LoadRunner压力测试实例步骤
LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上
全栈程序员站长
2022/09/09
1.2K0
如何用LoadRunner分析资源占用率
当增大系统的压力(或增加并发用户数)时,吞吐率和TPS的变化曲线呈大体一致,则系统基本稳定。若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓 慢,甚至平坦,很可能是网络出现带宽瓶颈,同理若点击率/TPS曲线出现变化缓慢或者平坦,很可能是服务器响应时间增加,观察服务器资源使用情况,确定是 否是服务器问题。
用户6367961
2022/01/12
7440
如何查看系统资源的实时占用情况?
任务管理器是Windows内置的工具,可以方便地查看CPU、内存、磁盘和网络的实时占用情况。
是山河呀
2025/02/22
9390
LR windows计数器
内存计数器 关于内存计数器主要有三个:Available Bytes、Memory pages/second 和Page Faults/sec Available Bytes表示计算机上可用于运行处理的有效物理内存的字节数量。这个计算器只显示上一次观察到的值;它不是一个平均值。一般不小于4MB,如果该值低于阈值且pages/second持续的处于峰值状态下,那么说明计算机的物理内存不够。 Memory pages/second 是指为解决硬页错误从磁盘读取或写入磁盘的速度。这个计数器是可以显示导致
张树臣
2018/05/15
1K0
Linux 常用监控指标总结
做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑。所以,依靠强大的监控系统,收集尽可能多的指标,意义重大。但哪些指标才是有意义的呢,本着从实践中来的思想,各位工程师在长期摸爬滚打中总结出来的经验最有价值。
杰哥的IT之旅
2020/07/15
3.2K0
K3数据库优化方案
if not exists(select 1 from sysindexes where name='ix_group_fgroupid')
py3study
2020/01/07
1.1K0
iostat命令使用
天刚上线了一台server,观察了一下,发现io比较高,想到了iostat命令,观察了一下(每隔一秒打印一次),发现有一个守护进程每隔几秒就写一次IO,再top看下,很快就找到了问题根源。
王亚昌
2018/08/03
6960
Linux 命令(125)—— vmstat 命令
vmstat(Virtual Memory Statistics)命令用于报告虚拟内存状态的统计信息。
恋喵大鲤鱼
2020/02/29
7930
Linux - 磁盘I/O性能评估
正常情况下,svctm应该是小于await值的,而svctm的大小和磁盘性能有关,CPU、内存的负荷也会对svctm值造成影响,过多的请求也会间接导致svctm值的增加。
小小工匠
2023/03/07
3.1K0
Linux - 磁盘I/O性能评估
Windows性能监视器_windows性能分析工具
Windows 性能监视器是一个 Microsoft 管理控制台 (MMC) 管理单元,提供用于分析系统性能的工具。仅从一个单独的控制台,即可实时监视应用程序和硬件性能,自定义要在日志中收集的数据,定义警报和自动操作的阈值,生成报告以及以各种方式查看过去的性能数据。
全栈程序员站长
2022/11/16
2.1K0
Windows性能监视器_windows性能分析工具
老牌运维教你如何快速分析Linux服务器的性能问题
该命令可以显示关于系统各种资源之间相关性能的简要信息,这里我们主要用它来看CPU的一个负载情况。
lyb-geek
2019/10/16
1.4K0
linux系统性能分析对策
解决系统性能问题的一般思路 下面从影响操作系统性能的因素、性能优化工具、系统性能评价标准三个方面介绍优化Linux的一般思路和方法。 影响Linux性能的因素 1.CPU CPU是操作系统稳定运行的根本,CPU的速度与性能很大一部分决定了系统整体的性能,因此,cpu数量越多、主频越高,服务器性能也就相对越好。但事实也并非完全如此。 目前大部分CPU在同一时间内只能运行一个线程,超线程的处理器可以在同一时间运行多个线程,因而,可以利用处理器的超线程特性提高系统性能,在linux系统下,只有运行SMP内核
BGBiao
2018/02/26
1.5K0
关于Linux性能调优中IO调优的一些笔记
「 总感觉当下的生活不是想要的,总感觉一路走下去会是一个讨厌的未来,每天睁眼的一瞬间就是懊悔,昨天又浪费掉了...人生没有意义,但是要努力寻找活着的意义--------山河已无恙」
山河已无恙
2023/01/30
1.1K0
关于Linux性能调优中IO调优的一些笔记
Jmeter的性能测试
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/12
1.2K0
Jmeter的性能测试
相关推荐
软件性能测试(连载5)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档