应用系统常用性能指标

最近应用出现了一系列的性能问题,之前对性能不太关注,现在得恶补下基本知识了。先从常用的一些性能指标开始了解。

PV 
PV是 Page View的缩写。用户通过浏览器访问页面,对应用服务器产生的每一次请求,记为一个 PV。PV的统计一般可以通过监控埋点或者统计访问日志统计得出,通过一些监控系统,也可以直观看到统计数据。

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

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

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

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

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

Concurrency并发
并发分为狭义和广义两类。
狭义的并发,即所有的用户在同一时刻做同一件事情或操作,这种操作一般针对同一类型的业务;或者所有用户进行完全一样的操作,目的是测试数据库和程序对并发操作的处理。
广义的并发,即多个用户对系统发出了请求或者进行了操作,但是这些请求或操作可以是不同的。对整个系统而言,仍然有很多用户同时进行操作。
狭义并发强调对系统的请求操作是完全相同的,多适用于性能测试、负载测试、压力测试、稳定性测试场景;广义并发不限制对系统的请求操作,多适用于混合场景、稳定性测试场景。

 

 

性能监控
性能测试需要使用不同的工具,结合系统日志,监控服务器、应用等方面的多项指标。以下阐述监控指标、监控工具和监控步骤。
监控指标
性能测试通常需要监控的指标包括:
1.服务器 Linux(包括CPU、Memory、Load、I/O)。
2.数据库:1.Mysql 2.Oracle(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数)。
3.中间件:1.Jboss 2. Apache(包括线程数、连接数、日志)。

4.网络: 吞吐量、吞吐率。
5.应用: jvm内存、日志、Full GC频率。
6.监控工具(LoadRunner):用户执行情况、场景状态、事务响应时间、TPS等。
7.测试机资源:CPU、Memory、网络、磁盘空间。

参考文档:

淘宝性能测试白皮书 

系统评估方案

理解 LINUX 的处理器负载均值

原文地址:https://www.cnblogs.com/iusmile/p/2753555.html