衡量指标的分类
性能指标
分布式的高并发应用并不能把单次请求作为判断依据,它往往是一个统计结果。
其中最常用的衡量指标就是吞吐量和响应速度。
吞吐量和响应速度
响应速度是串行执行的优化,通过优化执行步骤解决问题。
吞吐量是并行执行的优化,通过合理利用计算资源达到目标。
响应速度的衡量方法
平均响应时间:最常用的指标,指标能够体现服务接口的平均处理能力。它的本质是把所有请求耗时加起来,然后除以请求的次数。
百分位数
在这些高稳定性系统中,目标就是要干掉严重影响系统的长尾请求。
这部分接口性能数据的收集,采用更加详细的日志记录方式,而不仅仅靠指标。
比如,将某个接口,耗时超过1s的入参及执行步骤,详细地输出在日志系统中。
并发量
并发量是指系统同时能处理的请求数量,这个指标反应了系统的负载能力。
在高并发应用中,仅仅高吞吐是不够的,它还必须同时能为多个用户提供服务。并发高时,会导致很严重的共享资源争用问题,需要减少资源冲突,以及长时间占用资源的行为。
针对于响应时间进行设计,一般来说是万能的。
因为响应时间减少,同一时间能够处理的请求必然会增加。
秒开率
正确性
在压测的时候,接口直接超过了服务能力。
性能优化的理论方法
木桶理论
基准测试
并不是简单的性能测试,是用来测试某个程序的最佳性能。
应用接口往往在刚启动后都有短暂的超时。
在测试之前,需要对应用进行预热,消除JIT编译器等因素的影响。
在Java里就有一个组件,即JMH,就可以消除这些差异。
注意点
参考资料:性能优化的衡量指标