美文网首页
【Jmeter】性能测试细解(一):创建-执行

【Jmeter】性能测试细解(一):创建-执行

作者: Lottie2017 | 来源:发表于2020-07-02 17:52 被阅读0次

    一。新建测试计划,在其下新增线程组

    jmeter打开后会自动生成一个空的test plan,用户可以基于该test plan建立自己的test plan

    一个性能测试的负载必须有一个线程组完成,而一个测试计划必须有至少一个线程组。添加线程组操作:在测试计划处右键单击:添加→Threads(Users)→线程组。

    每个测试计划都必须包含至少一个线程组,当然,也可以包含多个,多个线程组的运行在jmeter中采用的是并行的方式,即:同时被初始化且同时执行其下的sampler

    线程组

    线程组主要包含三个参数:

    线程数:虚拟用户的数量,一个线程指一个线程或者进程

    Ramp—Up Period(in seconds):准备时长。设置的线程数需要多久全部启动,比如上图,线程数为100,启动时间为60,那么需要60S内启动100个线程;

    循环次数:每个线程发送请求的次数。如上图,100个线程,每个线程发送1次,如果勾选了永远,那么它将永远发送下去,直到停止脚本;

    设置合理的线程数对能否达到测试目标有决定性影响。另外,设置合理的循环次数也很重要,除了给定的设置循环次数和永远,还可以通过勾选调度器,设置开始和结束时间来控制。

    二。添加Sampler

    添加完线程组后,在线程组上右键单击:添加→Sampler→SOAP/XML-RPC Request(SOAP/XML-RPC:都是报文中不同的数据格式)

    取样器(Sampler)是与服务器进行交互的单元。一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录相应时间信息。

    三。添加监听器

    在线程组上右键单击,添加你需要的监听器,一般常用的就是结果树和聚合报告

    添加监听器

    添加后启动线程组进行测试,等线程执行完成后,根据结果树中的请求和响应结果(成功或者失败)就可以分析我们的测试是否成功,以及根据聚合报告结果来确认我们这次确认是否达成了预期结果。

    四。聚合报告简析

    聚合报告

    #Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

    #Samples(#样本):表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

    Average(平均值):平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

    Median(中位数):中位数,也就是 50% 用户的响应时间

    90% Line:90% 用户的响应时间

    Note:关于 50% 和 90% 并发用户数的含义,请参考下文

    http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

    Min:最小响应时间

    Max:最大响应时间

    Error%(异常%):本次测试中出现错误的请求的数量/请求的总数

    Throughput(吞吐量):吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似LoadRunner的 Transaction per Second 数

    KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

    五。Http请求

    Http请求

    关于http请求的的属性参数说明:

    1)名称:用于标识一个sample。建议使用一个有意义的名称

    2)注释:对于测试没任何影响,仅用来记录用户可读的注释信息

    3)服务器名称或IP:http请求发送的目标服务器名称或者IP地址,比如http://www.baidu.com

    4)端口号:目标服务器的端口号,默认值为80,可不填

    5)协议:向目标服务器发送http请求时的协议,http/https,大小写不敏感,默认http

    6)方法:发送http请求的方法(链接:http://www.cnblogs.com/imyalost/p/5630940.html)

    7)Content encoding:内容的编码方式(Content-Type=application/json;charset=utf-8)

    8)路径:目标的URL路径(不包括服务器地址和端口)

    9)自动重定向:如果选中该项,发出的http请求得到响应是301/302,jmeter会重定向到新的界面

    10)Use keep Alive:jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信(默认选中)

    11)Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用

    12)Parameters、Body Data以及Files Upload的区别:

       1. parameter是指函数定义中参数,而argument指的是函数调用时的实际参数

       2. 简略描述为:parameter=形参(formal parameter), argument=实参(actual parameter)

       3.在不很严格的情况下,现在二者可以混用,一般用argument,而parameter则比较少用

       While defining method, variables passed in the method are called parameters.

       当定义方法时,传递到方法中的变量称为参数.

       While using those methods, values passed to those variables are called arguments.

       当调用方法时,传给变量的值称为引数.(有时argument被翻译为“引数“)

       4、Body Data指的是实体数据,就是请求报文里面主体实体的内容,一般我们向服务器发送请求,携带的实体主体参数,可以写入这里

       5、Files Upload指的是:从HTML文件获取所有有内含的资源:被选中时,发出HTTP请求并获得响应的HTML文件内容后还对该HTML

    测试结束后,如果我们的请求成功发送给服务器,那么结果树里面的模拟请求会显示为绿色,可以通过取样器结果里面的响应状态码信息来判断

    也可以点击请求模块,查看我们发送的请求。

    转载自:https://www.cnblogs.com/imyalost/p/7062784.html

    相关文章

      网友评论

          本文标题:【Jmeter】性能测试细解(一):创建-执行

          本文链接:https://www.haomeiwen.com/subject/qgsrqktx.html