zoukankan      html  css  js  c++  java
  • jmeter的jp@gc

     

    首先,我们来了解几个jmeter中的概念

     我们在添加一个线程组时通常都要配置这几个属性

    线程数:即并发用户数

    ramp-up时间(秒):持续时间,加速时间

    比如,并发数是1000个,持续时间设置为10,表示跑完1000个线程,我要花费10s,那每秒钟就要发送100个线程

              并发数是1000个,持续时间是50s,表示50s要跑到1000个线程,那每秒钟就是1000/50=20,每秒钟发送20个请求

              并发数1000个,持续时间1000s,那每秒就是1s个线程。

    一、准备工作

    首先,我们需要安装jp@gc - Ultimate Thread Group插件,这个不再详述

    二、配置jmeter

    测试计划-》添加-》线程(用户)-》jp@gc - Ultimate Thread Group,配置后,如下:

    在这个线程组下面,我们再配置测试的http请求,添加一个监听器jp@gc - Active Threads Over Time,即可查看线程运行情况

    http请求的配置这里不再详述,我们主要研究下jp@gc - Ultimate Thread Group  这个小可爱

    创建线性负载:

    如下图,我这里创建的就是一个线性负载,我的测试场景是60s内启动100个线程,持续运行60s,花10s的时间结束:

    这个场景就比如说,高考成绩公布,这个时候系统60s内涌入了100个用户并发,他们访问系统持续时间60s,10s钟都退出了系统

    运行后,查看监听器jp@gc - Active Threads Over Time,

    把鼠标点击到监听器的图上,显示横坐标,纵坐标。从这个监听器的图就可以得知,1分钟的时候,线程总数100个,持续运行1分钟,又花了10s停止线程,因此总共耗时了2分10s。

     查看聚合报告;

     目的:

    这里的持续时间,就是要看看系统达到这些负载后,能不能稳定运行,性能会不会恶化?但是这样的话,我们不确定这个负载量是多少,我们不确定服务器能处理的负载量是多少,哪些负载不能处理?

    所以,我们要按步骤增加负载,慢慢加上去,这就是我们的步进负载

    创建步进负载:

    场景:

    想看系统的负载量是多少,最大负载多少,是否可以平稳运行

    这里我们就要用到多个线程组,在线性基础上增加多个线程组。比如我想每分钟增加25个线程,这25个线程启动耗时话费15s,设置如下:

     通过以上配置,观察日志和监听器,就可以知道系统在哪个负载下面平稳运行,能承担多大的负载。

    监听结果

     

    创建波浪形测试负载:

    场景:

    比如12306抢票的时候,每次开放抢票时,有大量用户涌入,等到下次开放时,又有大量用户涌入,这个时候,就像波浪一样,不断敲击服务器,考验服务器的性能

    这里,我们就用到jp@gc - Ultimate Thread Group

     配置说明:

    第一个阶段,花20s的时间,启动25个线程,持续运行60s,用5s的时间停止掉

    第二个阶段,第一阶段的线程都停止后,再开始启动第二个阶段的线程,花20s的时间再启动25个线程,再持续60s,用5s停掉

    第三个阶段,等第二个线程都结束后,再花20s的时间启动25个线程,持续60s,再停掉

    这样像波浪一样拍打服务器,观察服务器的性能,看系统是否能平稳运行。

    如有疑问,欢迎指正,欢迎评论!

    每天进步一点点 分享快乐
  • 相关阅读:
    理解 Go interface 的 5 个关键点
    volcano networkpolicy
    通过 iptables log 日志追踪 Kubernetes 网络
    Network Policy Enforcement
    calico 容器编排之Kubernetes多租户网络隔离
    Kubernetes的原生多租户解决方案
    第四章 计算机基础知识详解
    vue兄弟组件通信
    vue父子组件通信
    Safari浏览器css兼容
  • 原文地址:https://www.cnblogs.com/zhangyqn/p/11812368.html
Copyright © 2011-2022 走看看