✅什么是压测,怎么做压测?

典型回答

压测是一种非常常见的帮我们做性能评估的手段。通过模拟用户请求,帮助我们发现系统的瓶颈以及评估系统的整体水位。

以下是进行压测的一般步骤:

  1. 确定测试目标:明确进行压测的目标,具体是哪个接口,那个方法,哪种具体的case。以及这次压测我们要实现什么目的,是测试300QPS能不能扛得住,还是看看系统的整体水位咋样。

  2. 制定压测计划:确定压测的具体策略,包括测试的时间、持续多久、并发量要压到多少、是一次性压到指标还是脉冲式压上去、测试环境配置等。

  3. 创建环境并准备脚本:压测可以在测试环境也可以在生产环境,但是不管是硬件配置、部署架构还是代码,都需要和线上环境尽量保持一致。并且需要准备好压测数据及脚本,是不同的用户,还是相同的用户,是写数据还是读数据。都是不一样的。

  4. 执行压测:根据测试计划,执行压测并收集性能指标。可以逐步增加负载,观察系统的响应情况。

  5. 监控系统性能:施压不是目的,目的是在施压过程中,观察系统的整体情况。包括但不限于:

    1. RT、CPU利用率、Load、内存情况、GC次数、GC时长、网络IO情况、堆内存情况、线上报警情况等。
  6. 分析结果:对压测结果进行分析,确定系统的性能瓶颈和潜在问题,并采取相应的优化措施。

  7. 优化和再测试:根据分析结果,进行必要的优化和改进,并重新进行压测,直到系统能够满足预期的性能要求。

常用的压测工具包括JMeter、Apache Bench等,它们可以帮助自动化执行压测脚本,并提供详细的测试报告和性能分析。在进行压测时,需要特别注意对生产环境的影响,确保不会对实际用户造成不良影响。因此,在压测前务必仔细准备,并充分评估风险。

扩展知识

JMeter

JMeter是一个功能强大的开源性能测试工具,由Apache软件基金会开发和维护。它主要用于进行压力测试、负载测试和性能测试,以评估Web应用程序、Web服务、数据库和其他类型的服务在不同负载条件下的性能。

jmeter官网:https://jmeter.apache.org/

给大大家推荐一篇我同事写的jemer实践经验:https://www.talkwithtrend.com/Article/245389 ,想要了解这个工具怎么用的,可以看下这篇文章。

总之,这个是目前比较主流的压测工具。

全链路压测

✅什么是全链路压测?

原文: https://www.yuque.com/hollis666/xkm7k3/wrzi8qgk7ridgslp