24|性能压测:压测不完善,效果减一半
徐长龙
该思维导图由 AI 生成,仅供参考
你好,我是徐长龙。
之前我们讨论了很多高并发改造思路和设计。
高并发的系统很复杂,所以对这样的系统做并发优化也相当有挑战。很多服务的局部优化,不见得能真正优化整体系统的服务效果,甚至有的尝试还会适得其反,让服务变得不稳定。
在这种情况下,压测就显得更加重要了。通常来说,通过压测可以帮我们做很多事儿,比如确认单个接口、单台服务器、单组服务集群甚至是整个机房整体的性能,方便我们判断服务系统的瓶颈在哪里。而且根据压测得出的结果,也能让我们更清晰地了解系统能够承受多少用户同时访问,为限流设置提供决策依据。
这节课,我们就专门聊聊性能压测里,需要考虑哪些关键因素。
压测与架构息息相关
在压测方面,我们很容易踩的一个坑就是盲目相信 QPS 结果,误以为“接口并发高就等同于系统稳定”,但却忽视了系统业务架构的形态。
所以在讲压测之前,我们需要先了解一些关于性能与业务架构的相关知识,这能让我们在压测中更清醒。
并行优化
前面我说过,不能盲目相信 QPS 结果,优化的时候要综合分析。为了让你理解这一点,我们结合一个例子来看看。
我们常见的业务会请求多个依赖的服务处理数据,这些都是串行阻塞等待的。当一个服务请求过多其他服务时,接口的响应速度和 QPS 就会变得很差。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了性能压测的关键因素和注意事项,强调了性能与业务架构的密切关系。作者指出了盲目相信QPS结果可能导致系统稳定性问题,提出了针对不同架构情况的压测思路和优化建议。此外,文章还强调了数据量对接口性能的影响,以及在压测环境准备和搭建中需要注意的细节。作者建议在压测前后保持环境一致,避免缓存干扰,并确保数据状态一致。最后,文章强调了在Linux环境配置中的重要性,提出了一些常用的内核优化配置选项。总的来说,本文通过深入的案例分析和技术建议,为读者提供了全面的性能压测指南,有助于读者更好地理解和应用性能压测的关键技术。文章还介绍了线上压测及影子库、全链路压测以及流量回放测试等更综合的压测方式,为读者提供了更多压测方法的思路和建议。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《高并发系统实战课》,新⼈⾸单¥59
《高并发系统实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- 黄堃健老师, 在k8s,对流量打标志,然后不同的流量对应不同的服务
作者回复: 你好,这个方式很好,缺点是需要我们所有项目框架或者代码上支持这个方式~因为被请求的服务请求其他依赖服务时需要透传带上这个标志
2024-02-29归属地:广东2 - 若水清菡如何保证上线前的单元测试里,测试生产的数据不会污染线上环境? 1.上线前的单元测试环境不允许连接线上环境,只允许连接测试环境 2.单元测试从配置中心读取测试配置,线上环境从配置中心读取线上配置 3.单元测试中做特别的header标记,在网关这边识别来着单元测试的请求并将请求转发到测试环境中
作者回复: 你好,若水清菡,这个思路很好,很全面,甚至单元测试环境单独起个临时的数据库用于测试
2023-01-26归属地:北京 - LecKey在代码中对“单元测试里”做个标识,是单元测试的数据进入单独 “影子库”中。
作者回复: 你好,LecKey,确实是个好方法~
2022-12-23归属地:北京3
收起评论