Java性能权威指南-性能测试的方法和工具


Java性能权威指南-性能测试的方法和工具

简介

记录在阅读《Java性能权威指南》过程中的一些笔记和感悟,主要会分为一下几个部分:性能测试方式方法、影响性能的原因、如何进行调优;下面第一部分就是对性能测试方式方法进行分析

性能测试的四项原则

当一个应用出现性能瓶颈或者性能方面的问题时,往往不能一眼发现问题的根源,会从多个方向去猜测原因,毫无头绪,因此对应用进行性能测试是了解当前阀值的一个好方法;

性能测试时有几项原则,可以更好的帮助我们进行分析

  1. 测试真实的应用

在真实的应用上进行性能测试,因为如果你的测试目标和真实的应用不是同一个时,很多影响性能的因素会导致判断错误;

  1. 理解批处理流逝时间、吞吐量和响应时间
  • 批处理流逝时间指的是一个批处理作业从开始运行到结束的时间间隔
  • 吞吐量指的是单位时间内完成的工作量,常见的指标有:TPS(事务数/1s)、RPS(请求数/1s)、OPS(操作数/1s)
  1. 用统计方法应对性能的变化
    在小样本的数据下结果会存在较大的差异,因此要采用大量的数据集来消除这种差异;

  2. 尽早的开始测试
    这一点对于性能测试来说个人不太认同,尽早的开始测试应该是对应用代码进行测试,来保证业务上的正确性;

性能测试的种类:

  1. 微基准测试

用来测量微小代码单元的性能
主要是用于测试代码片段的性能,有两个问题:测试代码复杂/对于性能准确性会因为偏差造成不准

  1. 宏基准测试

宏基准测试是以真实世界中的业务为测试目标来进行测试的一种方法,是用于评估系统的整体性能;

  1. 介基准测试

介基准测试是微基准测试和宏基准测试之间的测试方法,是用于评估组成真实业务规则中的一系列子方法;


  TOC