面试问性能这块还有人在说jmeter怎么使用,loadrunner怎么使用。
工具使用本身没任何难度,随便看篇文章半个钟就能上手,在csdn都成堆的文档。
性能测试真正具备差异化的点,是性能瓶颈分析问题定位能力,不是掌握场景模拟手段,什么流量回放、压力测试,没有分析能力即使存在问题你可能也忽略过去。
性能瓶颈的分析核心还是围绕性能指标展开~
资源相关的:cpu使用率、内存使用率、网络、io,事务相关的:平均响应时间、吞吐量、失败率,
数据库相关的:连接数、慢sql。 而瓶颈和问题就是你方案所定义的期望值,只要不满足期望或者达到风险值,比方说内存使用率>80%,即存在内存泄漏的风险。 要想精准定位问题原因,往往需要开发配合,比方说打印对应事物所有节点的debug日志,分析瓶颈区间的日志数据和正常区间的指标对比,比方说响应时间的占比,如果是数据库时间占比呈递增的状态,通常只需要解决数据库的问题。
性能调优部分虽然是开发的职责,但测试段素养需要完整闭环问题,了解解决方案,之后遇到相似场景🎬可直接提出优化建议。