性能测试-性能测试中的经典面试题一
一、核心概念与流程类
性能测试的核心类型与区别
负载测试:逐步加压,探测系统阈值(如最大TPS/响应时间)。
压力测试:超越阈值施压,验证系统崩溃点及恢复能力。
稳定性测试:80%~90%峰值压力持续运行(如24小时),检测内存泄漏/资源累积问题。
关键性能指标解析
TPS:服务端每秒处理事务数(核心能力指标)
响应时间:用户感知总时长 = 网络传输 + 服务处理 + 渲染时间(需 ≤ 2秒为优)。
错误率:>1%即预示系统异常。
资源利用率:CPU >80%、内存 >90% 为瓶颈信号。
性能测试标准化流程
需求分析(明确指标如“100 TPS响应≤3秒”)
场景设计(混合接口/梯度加压/数据模型)
脚本开发(参数化、关联、断言)
环境搭建(独立网络/近生产配置)
执行监控(TPS趋势、资源消耗、日志链)
瓶颈定位 → 调优 → 回归验证。
二、工具技术与监控类
主流工具核心用途
JMeter:开源,基于线程模拟,适合HTTP/API压测。
LoadRunner:企业级,支持复杂协议,集成分析模块(成本较高)。
监控工具链搭配
基础设施:Prometheus + Grafana(实时看板)
JVM层:Arthas/jstack(线程堆栈分析)
全链路:SkyWalking(追踪慢调用链)。
脚本开发关键技术
参数化:模拟多样用户数据(如账号池)
关联:动态提取SessionID/token(正则/JSON提取器)
集合点:模拟秒杀场景瞬时并发(
synchronized timer
)。