[转]如何分析监控的关键指标

三、如何分析监控的关键指标?

  通过第二部分监控收集到性能度量关键指标,如何进行分析,并判断是否存在性能瓶颈呢?以下主要从资源指标与系统指标两方面进行阐述。

  ·    资源指标分析

  判断CPU是否是瓶颈的方法:一般情况下CPU满负荷工作,有时候并不能判定为CPU出现瓶颈,比如Linux 总是试图要CPU尽可能的繁忙,使得任务的吞吐量最大化,即CPU尽可能最大化使用。

判断CPU为瓶颈,一般从两方面:

  1. CPU空闲持续为 0
  2. 运行队列大于CPU核数(经验值3-4倍),即可判定存在瓶颈

CPU高消耗主要由什么引起的?

  • 可能是应用程序不合理造成
  • 也可能是硬件资源不足等等

需要具体问题具体分析,比如问题SQL语句引起,则需要跟踪并优化引起CPU使用过高的SQL语句。

  判断内存是否是瓶颈的方法:

一般至少有10%可用内存,内存使用率可接受上限为85%。

当空闲内存变小时,系统开始频繁地调动磁盘页面文件,空闲内存过小可能是内存不足或内存泄漏引起,需要根据系统实际情况监控分析。

  判断磁盘I/O是否是瓶颈的方法:

磁盘I/O对于数据库服务器、文件服务器、流媒体服务器系统来说,更容易成为瓶颈,一般从以下几个方面对磁盘I/O进行分析判断:

  ①    计算每磁盘I/O数

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

  RAID类型

  计算方法

  RAID0

  (Reads+Writes)/Numbers of Disks

  RAID1

  (Reads+2*Writes)/2

  RAID5

  [Reads+(4*Writes)] /Numbers of Disks

  RAID10

  [Reads+(2*Writes)] /Numbers of Disks

  ②    监控磁盘读写,如果磁盘长时间进行大数据量读写操作,且cpu等待超过20%,则说明磁盘I/O存在问题,考虑提高磁盘I/O读写性能。

  判断网络带宽是否是瓶颈的方法:

判断网络带宽是否是系统运行性能瓶颈的首要条件是网络带宽是否会影响系统交易执行性能。

例如:减小网络带宽,并发用户数、响应时间与事务通过率等性能指标是否不能接受;或者增加网络带宽,并发用户数、响应时间与事务通过率等性能指标会得到明显提高。

  在实际性能测试中,如果发现始终报连接超时,而实际手工访问可以正常访问,可以通过ping应用服务器IP或网关IP,如果出现网络严重延迟或丢包,则说明网络不稳定,需要检查网络。

  

通过对资源指标四个指标的分析,实际上各个方面都是互相依赖的,不能孤立的单从某个方面进行排查。当一个方面出现性能问题时,往往会引发其他方面的 性能问题,

例如,大量的磁盘读写势必消耗CPU和IO资源,而内存的不足会导致频繁地进行内存页写入磁盘、磁盘写到内存的操作,造成磁盘IO瓶颈,同时, 大量的网络流量也会造成CPU过载,所以,在分析性能问题时,需要从各个方面进行考虑。

 

 ·   系统指标分析

  并发用户数:系统能够支持的用户数是系统容量的重要标志,并发用户数用于度量系统在高并发量访问下,系统的并行处理能力,一般如果系统中存在死锁、资源争用,在并发访问下,由于请求处于队列等待中,系统响应就会随着时间变慢。

  一般情况下,选用高吞吐量、高数据库I/O、高商业风险的业务功能进行并发用户访问测试。

  

判断系统能够承受的最大并发用户数,通常以满足以下条件为准:

  1、业务功能操作平均响应时间在合理范围之内

  2、事务成功率在合理范围之内

  3、 系统运行无故障(无异常宕机)

  4、系统资源指标使用在合理范围内

  平均响应时间:

对于客户端用户来说,最直观的体验就是访问该页面快或者慢,即响应时 间的长短。比如在持续并发性能测试过程中,客户感知访问应用很慢,监控到的平均响应时间也逐渐变长,这时就需要先借助于监控到的资源指标,首先排除资源方 面的限制因素,再从应用本身进行定位,如可以采用页面细分工具(如httpwatch、Loadrunner Anaysis中的页面组件细分)分析响应比较慢的页面。

  事务成功率、超时出错率:

事务成功率越高,则表明系统处理能力越大;而失败事务主要由于系统响应慢,导致访问业务功能超时,或者系统业务功能异常,不能正常访问等,需要根据事务错误提示信息,具体分析。

  综上所述,软件性能测试是执行、监控—〉分析—〉调优不断进行的过程,

即监控是为分析提供更多的参考数 据,分析是为了进行调优,调优是解决当前系统存在的性能瓶颈,为用户提供更好、更快的客户体验。由于分析、调优需要根据具体问题进行具体分析,本文未做过 多说明,只对通用的关键指标进行监控分析,建议在实际工作中可从资源指标与系统指标两个方面,层层检测、步步排查,性能问题就无处藏身,一旦找到出现问题 的原因,性能问题也就迎刃而解!

原文:http://www.51testing.com/html/18/n-3549018-2.html

时间: 2024-07-29 22:21:51

[转]如何分析监控的关键指标的相关文章

性能测试中关键指标的监控与分析

一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在的性能问题,定位性能瓶颈并解决问题. Ø  判定软件系统的性能表现,预见系统负载压力承受力,在应用部署之前,评估系统性能. 而对于用户来说,则最关注的是当前系统: Ø  是否满足上线性能要求? Ø  系统极限承载如何? Ø  系统稳定性如何? 因此,针对以上性能测试的目的以及用户的关注点,要达到以上目的并回答用户的关注点,就必须首先执行性

浅谈软件性能测试中关键指标的监控与分析

浅谈软件性能测试中关键指标的监控与分析 一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在的性能问题,定位性能瓶颈并解决问题. Ø  判定软件系统的性能表现,预见系统负载压力承受力,在应用部署之前,评估系统性能. 而对于用户来说,则最关注的是当前系统: Ø  是否满足上线性能要求? Ø  系统极限承载如何? Ø  系统稳定性如何? 因此,针对以上性能测试的目的以及用户的关注点,要达到以上

移动推广关键指标

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

性能测试关键指标介绍

什么是性能测试? 通过技术手段模拟大量用户同时访问被测应用,观察.记录和分析系统的各项性能指标: 性能测试的目的是评估系统的性能瓶颈,预测系统的最大用户负载能力. 性能指标: 平均响应时间(最重要,举例:访问淘宝宝贝):平均每个请求从发送到接收响应的时间 合理的平均响应时间:2/5/8原则 -- 2s:非常有吸引力 -- 5s:比较不错 -- 10s:糟糕 平均响应时间对业务的影响:1s的延时,相当于少了11%的PV(page view),降低了用户继续使用产品的兴趣:页面响应时间从2s增长到1

MySQL 性能监控 4 大指标

[编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现.    MySQL 是什么? MySQL 是现而今最流行的开源关系型数据库服务器.由 Oracle 所有,MySQL 提供了可以免费下载的社区版及包含更多特性与支持的商业版.从 1995 年首发以来,MySQL 衍生出多款备受瞩目的分支,诸如具有相当竞争力的 MariaDB 及 Percona. 关键 MySQL 统计指标 如果你的数据库运

windows服务器性能监控工具、方法及关键指标

监控方法 推荐使用windows自带的"性能监视器"(老版本的windows叫性能计数器)来监控服务器的性能. 打开控制面板内的管理工具,在管理工具内打开性能监视器,出现如下界面(各版本的window操作系统的性能监视器的界面可能略有不同): 点击中上部的绿色加号图标,可以添加一项监视内容,添加界面如下图所示,可以在左侧选中需要监控的内容,点击添加,即可监控该内容.选中下方的"显示描述"复选框,可以查看被监控内容的具体描述信息. 关键指标 CPU监控 Process

Nagios监控ganglia的指标

这是nagios与ganglia整合的一部分内容 . 通常我们会把ganglia的监控发送给一个主机,我们可以在这个主机上执行nc localhost 8649 可以获取到所有发往这个主机的信息,以xml的形式查看. nagios监控ganglia的指标的方法就是使用这个思路,check_ganglia.py 先连通ganglia_host,然后获取所有的xml,然后再解析xml,解析的时候找到匹配的主机名,然后再找到下面的metric和值,与你传进来的critical与waring的进行匹配,

用monit监控系统关键进程

monit是一款功能强大的系统状态.进程.文件.目录和设备的监控软件,用于*nix平台, 它可以自动重启那些已经挂掉的程序,非常适合监控系统关键的进程和资源,如:nginx.apache.mysql和cpu占有率等.而监控管理Python进程,常用的是supervisor,后续会另外撰文介绍. 下面分别介绍monit的安装.配置和启动. 安装 在debian或ubuntu上安装monit非常方便,通过下面的命令 sudoapt-getinstall monit 即可,其它*nix上也很简单,下载

Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键?

本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). callstats是一家做实时通讯性能测量的公司,他们博客里面提到了实时通讯过程中性能的重要性,下面是博客内容: 性能监控是系统和服务开发的一个重要方面,它可以帮助我们检测和诊断性能问题,并有助于维护系统的高可用性.现如今工程团队都基于数据