19 性能调优有哪些常见手段?测试在调优里扮演什么角色?
2026/9/14...大约 2 分钟
19|性能调优有哪些常见手段?测试在调优里扮演什么角色?
开场调优手段按层报,然后重点讲测试的角色——这才是本题的题眼。
回答思路
第一步:调优手段按层报
| 层 | 手段 |
|---|---|
| 代码层 | 算法优化、减少序列化、异步化、批量化 |
| SQL 和存储层 | 索引、SQL 改写、读写分离、分库分表、冷热分离 |
| 缓存层 | 多级缓存、预热、防穿透(空值缓存、布隆过滤器) |
| 架构层 | 削峰填谷(消息队列)、服务拆分、无状态化扩容 |
| 资源层 | 加机器、升配置、JVM 参数调优 |
每层举一个典型例子:缓存层举热点数据预热解决首刷打爆、异步层举日志从同步刷盘改异步队列、SQL 层举分页深翻页改游标——例子比名词值钱。
第二步:讲测试的角色(题眼)
测试不是调优的旁观者,是验证器和导航仪:
- 优化前提供基线数据
- 优化后复压验证效果
- 多次调优间做对比归因
- 防止「优化引入新问题」(比如缓存改了出现脏读)
测试守住调优的闭环。
第三步:讲防劣化机制
性能基线进 CI——核心接口的性能回归每次发布自动跑,RT 超过基线阈值告警。性能问题和功能 bug 一样有门禁,这个「性能回归自动化」的意识是大厂标配但中小团队普遍缺失。
收尾:给务实观点
调优先做便宜的(索引、配置参数)再做贵的(架构改造)——用数据决定优先级而不是拍脑袋,测试提供的数据就是决策依据。
考察重点
| 维度 | 说明 |
|---|---|
| 企业动机 | 企业怕两种人:觉得调优是开发的事测试只要跑数的(没有协作价值),和越俎代庖大谈自己怎么改代码的(角色错位)——答对角色定位的人协作成本低 |
| 过线标准 | 手段分层报全 + 测试是验证器和导航仪的定位 |
| 区分度 | 讲性能基线进 CI、防劣化门禁的是有体系化思维的 |
| 加分项 | 优化引入新问题的防护意识 |
| 减分项 | 全程只聊开发怎么调代码(测试角色缺位),或干脆说「调优和我无关」 |
来源
整理自知识星球帖《面试情报 04|性能测试 20 题》,返回题库。