`
yuanlanjun
  • 浏览: 1182875 次
文章分类
社区版块
存档分类
最新评论

应用系统常用性能指标

 
阅读更多
对于我们开发来说,我们日常最熟悉的工作就是把客户的需求实现并交付。但是,事情并不是往往就这样结束了,我们还需要后续对上线的系统进行跟踪调查,查看系统的运行情况。为什么呢?一方面,我们需要关注系统在运行过程中的健康问题,是否有异常等等;另一方面我们需要了解系统性能和容量是否能满足用户的日常访问。只有去了解线上系统的运行状况,才能让为后续项目提供参考,及早的调节以避免故障问题。
对于应用系统在线上出现的异常,我们可以通过监控系统的日志扫描或者一些监控api来进行异常监控。比如可以通过应用的监控系统来查看。对于性能方面,我们有哪些性能指标去关注呢,下面列出了几个在监控系统中最常用的性能指标。


PV
PV是 Page View的缩写。用户通过浏览器访问页面,对应用服务器产生的每一次请求,
记为一个 PV。淘宝性能测试环境下,将这个概念做了延伸,系统真实处理的一个请求,视
为一个 PV。即,PV的概念也适用于接口。
PV的统计一般可以通过监控埋点或者统计访问日志统计得出。
说到PV还有个特殊的情况,叫PeakPV,指一天中 PV数达到的高峰PV值。
通过一些监控系统,也可以直观看到统计数据。


QPS/TPS
QPS/TPS原本含义为:系统每秒能处理的请求/事务的数量,或者说吞吐量。在web应用我们更关注的是web应用每秒能处理的request数量。这个是衡量系统性能的重要指标。
QPS(TPS)= 并发数/平均响应时间。
QPS的统计可以通过访问日志统计对应时间的PV量除以对应时间求得。在性能测试中可以通过工具测试获得。
一般经常统计的是高峰期PV对应的QPS。


ResponseTime响应时间
响应时间(RT)是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。


LOAD负载
系统平均负载,被定义为在特定时间间隔内运行队列中的平均进程数。如果一个进程满
足以下条件则其就会位于运行队列中:
-它没有在等待 I/O操作的结果
-它没有主动进入等待状态(也就是没有调用'wait')
-没有被停止(例如:等待终止)1
这个负载值比较理想的指标值是cpu个数*核数*0.7 ,如果超过长期超过过这个值就需要对系统进行警惕了。


CPU 资源
CPU 资源这里指应用服务系统的 CPU 资源占用率。CPU 资源是判断系统处理能力以及应用运行是否稳定的重要参数。


JVM GC和FullGC
对于java应用的性能指标必定少不了GC的相关指标了。通常我们的应用应该尽量避免FGC。因为FGC会进行完全的垃圾清理,会使应用运行得很慢,所以需要通过设置合适的JVM参数和GC策略来避免FGC。通常监控的指标有GC次数和响应时间。


常用的性能指标还有内存占用,磁盘io等一些指标,这里就不一一列出。


上面介绍了一些性能指标的概念和统计方法,下面就讲其中几个之间的一些重要联系和区别。


1. 容量预测
对于我们设计的系统,我们在上线前肯定需要测试下能接收用户多大的访问量。即希望评估出最大的日PV到来的时候,我们的系统是否能支撑。但怎么去评估呢,难道要造一个最大日pv的情景来测试?其实根据已有的经验和数据,可以总结出了高峰QPS和日pv的关系。

我们通过每日的QPS和PV统计图表可以发现,每日的曲线基本都是一致的。通过数学建模,我们可以发现高峰每台服务器QPS=( (总 PV*80%)/(24*60*60*40%))/服务器数量1。其中80%和40%这2个数字是个不固定的参数,这个公式代表的意思是,在40%的时间(12小时)内产生80%总pv的QPS均值。对于不同的情景有不同的参数。
这样我们就可以通过压测应用获取其高峰QPS,然后根据公式算出指定高峰QPS下的日PV,通过这样来进行容量预测。
即:日预估PV=压测QPS * (24*60*60*时间百分比)/0.8 * 机器数量


2. CPU 资源占用率 与 LOAD
按很多人的印象cpu占用率和load都是对当前cpu使用率的统计。但是实际上这2个指标还是有很大区别的。
cpu占用率很好理解,就是对cpu使用所占时间比率。而cpu load则是基于一段时间内等待cpu处理的任务队列的平均长度。这个指标在高负载的情况下比cpu占用率具有更高的参考价值。因为在高负荷时段,cpu的占用率基本都接近100%,它无法反映机器负荷的程度。相反,通过统计任务队列的长度可以反映出系统目前负荷是否严重,是否可控。
用下图中公路与车辆的关系可以很好理解load的概念:
(系统是单处理器时)

当load等于1的时候,系统满负荷,但是能满足当前的系统需求;
当load小于1的时候,系统轻松运行;
当load大于1时候,有很多车辆等待进入公路,就如任务在等待cpu处理一样,这时候cpu占用率根本无法分辨出load=1和load>1这2种情况。
所以读懂load对于理解系统当前运行负荷是很有帮助的。


性能指标还是有很多信息可以去挖的,本文从应用监控的角度出发进行了一个简单介绍。但是不可否认,读懂性能指标是每个应用负责人去了解系统运行状况的必要条件,也是每个开发应当关心的内容。


参考资料:

淘宝性能测试白皮书

系统吞吐量评估方法http://blog.csdn.net/fenglibing/article/details/6223197

理解 LINUX 的处理器负载均值http://www.gracecode.com/archives/2973/
分享到:
评论

相关推荐

    应用系统常用性能指标.pdf

    应用系统常用性能指标.pdf应用系统常用性能指标.pdf

    app常用的性能测试指标

    应用程序的响应时间包括安装、卸载、启动、切换各功能页面的耗时。 主要测试点: 1、冷启动:首次启动app的时间间隔(只是启动时间,不包括页面加载) 2、热启动:非首次启动app的时间间隔(只是启动时间,不包括...

    linux性能调优.pdf

    Application性能指标的评判有以上二种常用的角度接着六步1选择性能指标评估应用和系统的性能2为应用和系统设定性能目标3进行性能基准测试, 4.性能分析定位瓶颈5优化系统和应用程序6.性能监控和告警六步总结,从正确...

    软考系分之性能指标(计算机、路由器、交换机、操作系统、应用服务器)

    使用场景:本资源主要用于辅助系统分析师的软考;适用人群:系分备考者、产品...内容概要:常用设备性能指标,包括计算机、路由器、交换机、操作系统、应用服务器等;其他:思维导图的方式介绍知识点,标注重点和示例

    Linux学习建议.pdf

    该概念是从应用负载的角度出发:Application ▹Libraries▹System Call▹Linux Kernel ▹Drive 与之对应的是系统资源视角出发 :Drive▹Linux Kernel ▹System Call ▹Libraries ▹Application 性能指标的评判有以上...

    软件性能测试与调优指南

    7.8.1 预期性能指标测试案例模板 26 7.8.2 用户并发测试案例模板 26 7.9附录9:LoadRunner性能测试工具简介 27 7.10附录10:Jmenter性能测试工具简介 28 7.11附录11:Jprofiler性能监控工具简介 33

    微型计算机应用系统设计案例.pptx

    学习重点 (1) 常用微型计算机应用系统的类型,典型系统的一般设计方法。(2) USB总线接口设计及驱动程序编制方法。 微型计算机应用系统设计案例全文共85页,当前为第2页。 8.1 微型计算机应用系统设计8.1.1 概述...

    性能测试巧匠训练营-与性能测试的亲密接触

    1.一般C/S架构的应用程序更关注于系统资源使用情况、数据库性能以及运行的配置要求等。例如,内存、用户连接数、数据库死锁、数据库cache命中率、运行的最低配置等。 而对于B/S架构的应用程序,会关注Web服务器的...

    性能测试的基本方法与应用领域

    性能测试的基本方法与应用领域、软件性能与性能指标、前端性能测试工具原理与行业常用工具介绍

    双闭环电动机调压调速系统

    主要介绍典型系统的数学模型、参数和性能指标关系,系统结构的近似处理和非典型系统的典型化,速度、电流双闭环直流调速系统工程设计方法 在双闭环调速系统中,电动机、晶闸管整流装置、触发装置都可按负载的工艺...

    电力拖动课程设计

    根据生产机械和工艺的要求提出系统的稳态和动态性能指标,而系统的固有部分往往不能满足性能指标要求,所以需要设计合适的校正环节来达到。 校正方法有许多种类,而且对一个系统来说,能够满足性能指标的校正方案也...

    双闭环直流调速系统工程设计

    本章主要介绍典型系统的数学模型、参数和性能指标关系,系统结构的近似处理和非典型系统的典型化,速度、电流双闭环直流调速系统工程设计方法 在双闭环调速系统中,电动机、晶闸管整流装置、触发装置都可按负载的...

    遗传算法、免疫算法、退火算法、粒子群算法、鱼群算法、蚁群算法和神经网络算法等常用智能算法的MATLAB实现,包含思路文档说明

    遗传算法、免疫算法、退火算法、粒子群算法、鱼群算法、蚁群算法和神经网络算法等常用智能算法的MATLAB实现,部分代码有案例,方便对于算法的学习与应用。 粒子群算法与Simulink 模型之间连接的桥梁是粒子(即PID ...

    支付宝性能测试实战剑风.pdf

    析规范、性能测试报告规范、常用性能测试指标等,第8章介绍性能测试的一些 基本概念和名词术语。第3、7章分别讲解测试策略和流量模型换算。第4、5、6 详细介绍性能测试常用工具集及使用方法。第11、12章分别是对性能...

    常用网络协议原理大全.rar

    1.2数据通信系统的性能指标 8 1.2.1信息传输速率(Rb) 8 1.2.2码元传输速率(RB) 8 1.2.3频带利用率 9 1.2.4差错率 9 第二章 OSI参考模型 10 2.1通信协议的概念与层次结构 10 2.2OSI参考模型及各层功能 10 ...

    1.py

    常用到Groceries数据集,该数据集是某个杂货店一...1.能够使用简单的Apriori算法地 统计性能指标,理解大数据中的关联规算法。 2.掌握常用的Apriori的算法原理,了解Apriori算法的特点。 3.能够进行实验学会简单应用。

    点量网络性能检测库SDK开发包

    ,实现一个功能完善的网络性能指标测试系统。可广泛应用于各大运营商网络质量的监控检测、互联网质量客户感知系统,可实时便捷检测各项 网络指标;并提供丰富易用接口,便于快速集成。 点量网络性能检测库SDK开发...

    几种常用集成运算放大器的性能参数

    这类器件的主要特点是价格低廉、产品量大面广,其性能指标能适合于一般性使用。例 2.高阻型运算放大器 ,IIB为几皮安到几十皮安。实现这些指标的主要措施是利用场效应管高输入阻抗的特点,用场效应管组成运算放大器...

    《计算机应用基础》教材目录.doc

    微型计算机的性能指标 3. 认识微型计算机的常用硬件设备 项目二 Windows XP操作系统 任务一 定制个性化Windows XP工作环境 1. 熟悉Windows XP的基本元素 2. Windows XP设置 任务二 管理文件和文件夹 1. 文件、...

Global site tag (gtag.js) - Google Analytics