什么是压力测试?

        压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,以及系统可以承受的压力情况。然后做针对性的测试与分析,找到影响系统性能的瓶颈,评估系统在实际使用环境下的效率情况,评价系统性能以及判断是否需要对应用系统进行优化处理或结构调整。并对系统资源进行优化。

       软件系统的负载压力是指系统在某种指定软件、硬件及网络环境下承受的流量,例如并发用户数、持续运行时间、数据量等。其中并发用户数是负载压力的重要指标。

  • 负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。其中还有一种特定类型的负载测试,它是通过逐步增加软件系统的负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统提供的最大服务级别;
  • 并发性能测试通过逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的状态,综合分析交易执行指标、资源监控指标等来确定系统并发性能的过程。并发性能测试是负载压力测试的重要内容;
  • 疲劳强度测试是指构建系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,使其在持续一段时间内执行业务,保证到达系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统在处理业务上的最大工作强度的过程。大数据量测试包括针对系统存储、传输、统计、查询等业务进行的独立数据量测试,以及结合压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试;

软件性能评判标准

软件的性能可以通过响应时间、并发用户数、吞吐量、资源利用率等性能指标来衡量。

  1. 响应时间:是指用户从客户端发出请求到接收完服务器返回结果的整个过程所需花费的时间,包含网络传输时间以及服务器处理时间。从用户角度来看,响应时间应该从客户端计算机处理用户操作并发出请求到客户端程序收到服务器端返回结果并显示出来的时间;
  2. 并发用户数:是指在一定时间内,某一时刻同时与服务器进行会话操作的用户数,并发用户数的类型包括:系统用户数、同时在线用户数,业务并发用户数;
  3. 吞吐量:是指单位时间内,系统处理用户的请求数或页面数量,可以直接反映出软件的承载能力。一般来说,利用每秒钟的请求数或页面数量衡量吞吐量;从业务的角度来看,也可以用每天的访问人数或每小时处理的业务数来衡量;
  4. 资源利用率:是指系统资源(CPU、内存)的利用率,通常用资源的实际使用量与总的资源可用量比值来衡量,包括网络、操作系统、数据库等方面。

        以上四种性能指标主要可分为系统资源利用率和系统行为(响应时间、吞吐量等)两个方面。它们之间存在一定的相关性,共同反映出性能的不同方面。比如,响应时间、最大并发用户数、吞吐量和资源利用率可以分别用来衡量软件的及时性、扩充能力和容量、处理能力、运行状态。响应时间越短、承受的并发数越多、吞吐量越大、占用的资源越少,表明系统性能越好,反之性能越差。

使用步骤

  1. 文件->新建,之后左侧列表会出现一个“测试计划”栏;
  2. 右击测试计划->添加->线程->线程组,然后会出现如下一个tab;

Jmeter之简单接口压力测试实现

3. 按照如图所示新建HTTP请求默认设置:

Jmeter之简单接口压力测试实现

4. 具体设置如下图所示,这样做的好处是请求前面的IP和端口可以统一修改(主要是方便);

Jmeter之简单接口压力测试实现

5. 为请求设置请求头信息:

Jmeter之简单接口压力测试实现

6. 通过添加->配置元件->CVS数据文件设置,可以指定执行文件内的数据:

Jmeter之简单接口压力测试实现   Jmeter之简单接口压力测试实现

7. 通过查看结果树来查看每次执行的结果:

Jmeter之简单接口压力测试实现  Jmeter之简单接口压力测试实现

8.通过聚合报告,可以查看执行完成的结果的聚合最终结果集用于分析

Jmeter之简单接口压力测试实现Jmeter之简单接口压力测试实现

根据压测的结果,异常和吞吐量衡量一个中间值。

如有披露或问题欢迎留言或者入群探讨

Jmeter之简单接口压力测试实现

相关文章: