• JMeter进行一次简单的压力测试


    测试目的:10个用户并发打开百度首页(https://www.baidu.com/),百度能否正常响应。

    操作步骤

    一、打开JMeter

    打开后的界面如下:

    二、右击“测试计划”,添加线程组

    三、设置线程组的线程数

     

    JMeter中的线程组,类似于LoadRunner中的虚拟用户组,因为我们要测试10个用户并发的情况,所以这里的线程数,要设置为10

    Ramp-Up Period(in seconds)”的含义是达到最大线程数(这里设置的是10)所需要的时间(单位是秒)。

    如果我们把Ramp-Up Period设置为100秒,那么JMeter就会在100秒内启动所有10个线程,并让它们运转起来,每隔10秒启动一个新线程。这里我们把Ramp-Up Period设置为1秒。

    四、右击“线程组”,添加“HTTP请求”

     

    五、设置“HTTP请求”

     

    服务器名称或IP:www.baidu.com

    • 协议:https

    • 方法:GET

    • 路径:/

    六、添加“察看结果树”

    “察看结果树”是用来看测试结果的。

    至此,测试脚本已经设置完了,我们可以执行一下了,看看当有10个用户并发访问百度首页时,百度能否正常响应。

    点击“启动”,执行测试脚本,如下:

    执行完毕后,在“察看结果树”里面会出现结果,如下:

    在这里面,我们可以看到每个请求的请求数据和响应数据。

    每个请求都有正确的响应,如下:

    说明,在10个用户在1秒内并发访问的情况下,百度首页仍然能正确响应。

    但是在这里,我们会发现,每个请求的响应数据是乱码的,如下:

    这里,我们可以这么设置,如下:

    右击刚添加的“HTTP请求”,添加后置处理器

    在脚本里面输入:

    prev.setDataEncoding("UTF-8");如下

    再次执行脚本,响应数据就不会乱码了,如下:

    对于需要登录才能使用的接口,有两种方法可以测试:

    1. 静态token:通过抓捕工具fiddler或者其它工具,登录用户获取token值,添加http信息头管理器,添加参数:名称(token名称),值(获取到的token值);

    2.添加Http Cookie管理器,参数填写登录信息里的sessionID的key和key值,[域]/[路径]这两项可填可不填,如果填写则填写登录的域和路径。

    第二种方法也可以什么参数都不填,但在线程组加上登录请求,并且post请求勾选跟随重定向,其他请求不勾选。

    关于JMeter学习,这里给大家推荐一本书《零成本实现Web性能测试:基于Apache JMeter和Gatling》,大家看一下JMeter的那部分就可以了,需要电子版的可以留言邮箱

  • 相关阅读:
    LINQ 详解
    oracle下查询的sql已经超出IIS响应时间
    IOC应用之 Ninject
    JSONP ---------跨域
    国内各大互联网公司相关技术站点2.0版 (集合腾讯、阿里、百度、搜狐、新浪、360等共49个)
    IO多路复用,以socket为例
    socket机制下实现的多用户与服务器交互
    在一个进程中定义多个线程
    基于tcp的socketserver,即tcp的多线程
    基于upd的socketserver,即udp的多线程
  • 原文地址:https://www.cnblogs.com/camilla/p/7272005.html
Copyright © 2020-2023  润新知