1. 性能测试面试到底问什么
性能测试面试最容易被误解。很多同学以为面试官问性能测试,就是问你会不会用 JMeter、会不会加线程组、会不会看聚合报告。实际上,工具只是入门。真正的性能测试面试,重点看你是否理解性能目标、场景建模、指标含义、压测执行、监控分析、瓶颈定位和报告表达。
面试官真正想确认的是:你能不能从业务角度设计压测场景,能不能解释并发用户数、TPS、响应时间、错误率,能不能根据 CPU、内存、数据库、网络、线程池、连接池等指标判断瓶颈,能不能把测试结论讲清楚,而不是只会点按钮跑脚本。
一、性能测试面试的核心问题
性能测试面试通常围绕六个问题展开:
- 为什么要做性能测试?
- 压测目标是什么?
- 压测场景怎么设计?
- 脚本怎么准备?
- 执行过程中看哪些指标?
- 发现瓶颈后怎么分析?
如果你能按这个链路回答,面试基本不会太散。
二、性能测试关注哪些指标
常见指标包括:
- 并发用户数;
- TPS/QPS;
- 响应时间;
- 平均响应时间;
- 90 线、95 线、99 线;
- 错误率;
- CPU 使用率;
- 内存使用率;
- 磁盘 IO;
- 网络 IO;
- 数据库连接数;
- 慢 SQL;
- GC;
- 线程池;
- 连接池。
面试中不要只说“看响应时间”,要把业务指标和资源指标结合起来。
三、并发用户数问什么
并发用户数不是注册用户数,也不是在线用户数。它更接近同一时间正在对系统发起请求或保持操作压力的用户数。
面试官可能问:
- 并发用户数怎么估算?
- 1000 用户在线等于 1000 并发吗?
- JMeter 线程数是不是并发用户数?
- 并发用户数和 TPS 有什么关系?
回答重点:并发用户数要结合业务访问量、活跃比例、操作频率和场景模型估算。
四、TPS/QPS 问什么
TPS 是每秒事务数,QPS 是每秒请求数。
如果一个业务事务包含多个接口,那么 TPS 和 QPS 不一定相等。
例如下单事务包含创建订单、计算优惠、提交订单三个接口,那么一个下单 TPS 可能对应多个接口请求。
面试中要说明你关注的是业务吞吐量,而不是只看工具里的请求数。
五、响应时间问什么
响应时间常看:
- 平均响应时间;
- 最大响应时间;
- 最小响应时间;
- 90 线;
- 95 线;
- 99 线。
平均值可能掩盖长尾问题,所以性能分析中经常关注 95 线或 99 线。
例如:平均响应时间 200ms,但 99 线达到 5 秒,说明少部分用户体验很差。
六、错误率问什么
错误率反映请求失败比例。
错误可能来自:
- HTTP 500;
- HTTP 502/503/504;
- 连接超时;
- 业务错误码;
- 断言失败;
- 数据冲突;
- 限流;
- 依赖服务异常。
压测时不能只看请求是否返回,还要看业务是否成功。
七、场景设计问什么
性能测试不是随便开 1000 线程压接口。
要先明确:
- 压测目标;
- 业务场景;
- 用户比例;
- 请求频率;
- 数据准备;
- 压测时长;
- 预热时间;
- 稳定运行时间;
- 退出标准。
比如电商系统中,浏览商品、搜索、加购、下单、支付的比例不一样,不能平均分配压力。
八、瓶颈定位问什么
性能瓶颈可能出现在:
- 应用服务器 CPU;
- JVM GC;
- 数据库慢 SQL;
- 数据库连接池;
- Redis 热 key;
- MQ 积压;
- 网络带宽;
- 线程池耗尽;
- 第三方接口;
- Nginx 或网关限流。
面试中要体现定位链路:先看现象,再看资源指标,再结合日志和链路分析。
九、工具只是载体
常见性能工具:
- JMeter;
- LoadRunner;
- Locust;
- Gatling;
- nmon;
- top;
- vmstat;
- iostat;
- Grafana;
- Prometheus;
- SkyWalking;
- Arthas。
会工具很重要,但面试更看重你是否能解释压测结果。
十、面试回答模板
如果面试官问“性能测试面试到底问什么”,可以这样回答:
性能测试面试重点不是会不会点 JMeter,而是能不能完整说明性能测试流程。我一般从目标、场景、脚本、执行、监控、分析六步讲。首先明确压测目标,比如系统要支持多少 TPS、响应时间 95 线控制在多少、错误率不能超过多少;然后根据真实业务比例设计场景,比如登录、查询、下单、支付的比例;接着准备脚本、参数化和关联数据;执行时观察 TPS、响应时间、错误率,同时监控 CPU、内存、磁盘 IO、网络、数据库、连接池、线程池和 GC;如果出现响应时间升高或错误率上升,再结合日志、慢 SQL、链路追踪定位瓶颈,最后输出报告和优化建议。
十一、常见追问
追问:性能测试和压力测试区别?
性能测试关注系统在预期负载下是否满足指标;压力测试关注不断加压直到系统瓶颈或崩溃点。
追问:TPS 上不去可能是什么原因?
可能是应用 CPU、线程池、数据库慢 SQL、连接池、锁竞争、网络、限流或依赖服务瓶颈。
追问:只会 JMeter 算会性能测试吗?
不算完整。JMeter 是工具,性能测试还要懂场景、指标、监控、分析和报告。
十二、练习清单
- 解释并发用户数;
- 解释 TPS/QPS;
- 解释响应时间 95 线;
- 解释错误率;
- 设计登录压测场景;
- 设计下单压测场景;
- 用 JMeter 写脚本;
- 看 CPU 和内存;
- 分析慢 SQL;
- 写性能测试报告。
性能测试面试的核心是分析能力。工具会用只是开始,能设计场景、解释指标、定位瓶颈,才是真正的性能测试能力。
配套刷题:

