性能测试的4项原则
1测试真实应用
微基准测试:用来测量微小代码单元的性能,包括调用同步方法的用时和非同步方法的用时比较,创建线程的代价与使用线程池的代价,执行某种算法的耗时与其替代实现的耗时,等等
- 必须使用被测的结果(否则会带编译器优化)
- 不要包括无关的操作(否则用时不准确)
- 必须输入合理的参数
微基准测试难于编写,真管用的又很有限。所以,应该了解相关的隐患后再做出决定,是微基准测试合情合理值得做,还是关注宏观测试更好。
宏基准测试:衡量应用性能最好的事物就是应用自身,以及它所用到的外部资源。不进行整体应用的测试,就不可能知道哪部分的优化会产生回报。
介基准测试:介于微基准测试和宏基准测试之间
2理解批处理流逝时间、吞吐量和响应时间
批处理流逝时间
吞吐量测试:基于一段时间内所能完成的工作量。
3用统计方法应对性能的变化
性能测试的结果会随时间而变。几遍程序每次处理的数据集都想通,产生的结果也仍然会有差别。因为有很多因素会影响程序的运行,如机器上的后台进程,网络时不时的拥堵等。