常用指标:
- PV
- QPS/TPS
- Response Time
- LOAD
- CPU资源
- JVMGC
- FullGC
- 内存占用
- IO
PV
- Page View的缩写,用户访问应用,对应用服务器的每一次请求记为一个PV。
- 淘宝性能测试环境,将此概念做了延伸,系统真实处理的一个请求记为一个PV
- PV的概念也适用与接口
pv的统计可通过在应用中监控埋点或者统计访问日志来得出;
PeakPV:pv的特殊胡情况,指一天中pv数达到高峰PV值。
QPS/TPS
- 系统每秒钟处理的请求数量,是衡量应用系统性能的重要指标;
- QPS(TPS)= 并发数/平均响应时间
- QPS的统计可以通过访问日志统计对应时间的PV量除以对应时间求得。在性能测试中可以通过工具测试获得。
一般经常统计的是高峰期PV对应的QPS。
Response Time
- 响应时间,指客户端从发出一个请求开始计时,到客户端收到服务器端返回的响应结果结束所经历的时间;
- 响应时间由三部分组成:请求发送时间、网络传输时间、服务器处理时间
LOAD负载
- 系统平均负载,定义为在特定时间间隔内运行队列中的平均进程数。
如果一个进程满足以下条件,则其就会位于运行队列中:
它没有在等待IO操作的结果
它没有主动进入等待状态(也就是没有调用wait)
没有被停止(例如:等待终止)
- 这个负载值比较理想的指标值是cpu总核数*0.7,如果长期超过这个指标值就需要警惕了。
CPU资源
- cpu资源指的是应用服务器cpu资源占用率
- cpu资源是判断系统处理能力以及应用是否稳定的重要参数
JVMGC和FullGC
- java应用的性能指标必然不会少了jvmGC;
- 通常会避免使用FullGC,因为其会进行完全的垃圾清理,造成应用运行很慢,所以需要通过设置合适的jvm参数和GC策略来避免FGC。
- 通常的监控指标为GC次数和响应时间
其他
- 其他常用的性能指标:内存占用、磁盘io等一些指标,稍后补充
各指标之间的联系和区别
1.容量预测
系统上线以前,需要做压力测试,测试系统能承受用户多大的访问量。即希望评估当最大日PV到来时,系统是否能支撑。