Tuning
Last updated
Was this helpful?
Last updated
Was this helpful?
Java 性能调优主要从 、多线程、JVM、设计模式、数据库等多个方面来介绍。
不过在调优之前先需要了解、、等,见下文。
CPU:计算型引用、FullGC、无限循环、多线程大量上下文切换都可能造成 CPU 繁忙。
内存:
磁盘 I/O:
异常:构建异常栈非常消耗资源。
数据库:
锁竞争:
响应时间:
数据库响应时间
服务端响应时间
网络响应时间
客户端响应时间
吞吐量
磁盘吞吐量
IOPS:随机读写,如 OLTP 数据库、小文件存储等。
吞吐量:顺序读写,如视频点播等。
网络吞吐量:涉及 CPU、网卡、宽带等。
计算机资源使用率
CPU 占用率
内存使用率
磁盘 I/O 使用率
网络 I/O 使用率
系统负载
微基准测试
宏基准测试
性能测试注意的问题:
热身
结果不稳定
代码
设计
算法
时间换空间
空间换时间
参数调优
限流
熔断
自动扩容
提前扩容
工具
适用场景
优点
缺点
ab
单个接口的性能测试
简单实用
不能对整个业务流程测试
JMeter
简单并发测试、整个业务流程测试、组合并发测试、csv 动态导入变量
功能全,可扩展性高
性能不稳定,高并发容易造成界面卡死
LoadRunner
包括JMeter 的常用功能,可以 IP 欺骗
专业、稳定、高效
价格高