13 常见的性能瓶颈有哪些?怎么判断瓶颈在哪一层?
2026/9/14...大约 2 分钟
13|常见的性能瓶颈有哪些?怎么判断瓶颈在哪一层?
开场按层报瓶颈清单——这题答得越具体,越说明真扛过线上性能问题。
回答思路
第一步:四层瓶颈清单
| 层 | 典型瓶颈 |
|---|---|
| 资源层 | CPU 满载(计算热点、频繁 GC)、内存不足(OOM、swap)、磁盘 IO 高(日志刷盘)、带宽跑满 |
| 应用层 | 线程池打满排队、连接池不够、锁竞争激烈、序列化开销、日志同步阻塞 |
| 中间件层 | 缓存命中率低或穿透、消息消费积压、连接数上限 |
| 数据库层 | 慢查询、缺索引、锁等待、连接数满 |
第二步:每层给一个典型特征判据(比清单值钱)
- CPU 高且 us 值高是应用计算问题;sy 高是上下文切换(线程太多)
- 内存平稳上涨不回落是泄漏
- RT 高但应用层耗时低,说明耗在下游或数据库——看 trace 的时间分布
第三步:讲两个高频陷阱
- 施压机先到瓶颈(假瓶颈,先排除)
- 监控采集本身拖垮系统(监控代理的坑)
先排假再定真,这个顺序意识是经验。
第四步:举一个完整定位案例收尾
某接口 RT 从 200ms 涨到 3 秒 → trace 显示时间在数据库层 → 慢查询日志发现一条没走索引的全表查 → 加索引后 RT 回落,优化后复压 TPS 翻倍——一个案例把 12 题的思路串成故事。
收尾:给沉淀意识
每次定位的瓶颈和特征记录成团队的瓶颈模式库,下次同类症状直接对号——分析能力要变成团队资产。
考察重点
| 维度 | 说明 |
|---|---|
| 企业动机 | 企业要的是「一看症状就有方向」的老中医,不是现查文档的新手 |
| 过线标准 | 四层瓶颈清单 + 每层至少一个判据 |
| 区分度 | 讲 us 和 sy 的区别、trace 时间分布归因、施压机假瓶颈的是深水区 |
| 加分项 | 完整定位案例带优化前后数据 |
| 减分项 | 只能说「加服务器」,把扩容当唯一手段暴露定位能力缺失 |
来源
整理自知识星球帖《面试情报 04|性能测试 20 题》,返回题库。