• 使用jmeter做压力测试


    使用jmeter做压力测试

    1,打开jmeter

    2,在测试计划右键添加一个线程组

    它的作用其实是为了模拟用户,所以也叫Users。一个线程组模块可以包含多个线程,每个线程代表一个用户,这样可以模拟高并发下的请求,并根据网站的响应信息来判断网站的相关性能。

    线程组包含很多属性,目前我们只关注线程属性那一块。

    线程组属性的介绍:

    2.1 线程数代表访问的并发数,默认是1。

    2.2 Ramp-Up Period 表示多长时间内容启动所有线程,如果时间很短,会造成网站的瞬间高并发,默认值是1秒。

    2.3 循环次数是表示执行多少次,默认值为1,表示执行一次结束,这里可以勾选永远,让其一直运行下去。

    这些属性暂时不用动,因为还没有将工程配置好,测试工程配置的时候使用单次测试容易排查问题,以后压力测试直接修改该面板的值即可。

    3,在线程组右键创建一个http请求

    HTTP请求面板主要的目的是设置测试时候HTTP请求的相关信息,模拟浏览器访问或者其他程序访问后台的相关配置。

    对basic相关的参数进行说明;

    3.1 服务器IP

    3.2 端口

    3.3 方法,get还是post,还是其他

    3.4 协议,http协议

    3.5 路径,不要包含ip

    3.6 参数,请求的时候要携带什么参数

    4,在线程组添加监听器---添加结果树

    现在基本配置已经OK,但是这样执行后返回的结果却没有地方查看。为了方便查看结果,这里添加View Results Tree面板,有很多其它的结果查看面板,大家可以自己尝试一下。

    结果树主要是观察服务器响应信息,并支持将结果写入文件。

    5,在线程组添加断言--响应断言

    断言的种类非常丰富,这里使用最简单常用的响应断言。断言面板支持很多匹配规则,甚至支持正则表达式。这里只是简单的使用包括来进行校验。

    6,在线程组添加监听器---添加聚合报告

    就剩下最后一个问题了,如何查看所有请求的综合情况。最常用的就是聚合报告模块。

    该模块可以详细的展示所有请求的综合水平。包括请求个数,平均响应时间,最大响应时间、吞吐量等等。

    有很多的请求是需要登陆的,怎么处理这种情况?

    测试场景:确认平台登录后首页的并发能力

    问题:每次都登录的话会对响应时间造成一定影响:

    解决方案:登录平台后通过chrome插件获取cookie,通过jmeter的cookie管理器跳过登录步骤

    压测方案:本机项服务器发起不同并发数量,持续压测5分钟,根据聚合报告确认系统的qps,响应时间,对服务器内存及CPU的影响(如何通过插件监控服务器CPU后续会介绍)

    7,在线程组添加配置元件----http cookie管理器

     添加一个cookie管理器,什么都不用填

    把需要用到的请求放到登录后面。后面的请求就会跟上cookie

    把cookie管理器放到线程组里,可以单个线程共享。

    怎么跨线程共享cookie呢?

    也可以直接手动添加cookie到http cookie管理器

    8,在线程组添加配置元件--添加计数器

    另外,由于POST请求方式,如果不设置Headers的content-type,基本默认会以 application/x-www-form-urlencoded 方式提交数据。为了Post请求确保传的是json格式,还需要在请求头中声明一下请求参数的格式为json,具体操作如下:

    Thread Group右键Add》Config Element》HTTP Header Manager,打开HTTP信息头管理器,Add一个Name为Content-Type,Value为application/json,如下图,一个json格式的post请求完成了

    ####

  • 相关阅读:
    conan本地安装包
    Python PIL 怎么知道写入图片格式的kb大小
    怎么对C++枚举(不是类)里面的东西进行随机
    当双方Visual studio windows SDK不一样的时候的解决办法
    不小心使用vcpkg之后再使用conan,一直报链接错误
    关于obj文件的理解
    卸载VS2015之后,安装VS2017出错
    性状、生成器、闭包、OPcache【Modern PHP】
    docker容器修改hosts文件,重启失效问题解决
    微信公众号-模板消息通用接口封装
  • 原文地址:https://www.cnblogs.com/andy0816/p/13590467.html
Copyright © 2020-2023  润新知