zoukankan      html  css  js  c++  java
  • gatling高性能测试工具

    使用mvn命令直接测试。  (loadrunner-----)

    1.新建maven工程

    2.在pom中导入依赖

        <dependencies>
            <dependency>
                <groupId>io.gatling.highcharts</groupId>
                <artifactId>gatling-charts-highcharts</artifactId>
                <version>2.3.0</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>io.gatling</groupId>
                    <artifactId>gatling-maven-plugin</artifactId>
                    <version>2.2.4</version>
                </plugin>
            </plugins>
        </build>

    3.在 src/test/java里新增测试类

     import io.gatling.core.scenario.Simulation
        import io.gatling.core.Predef._
        import io.gatling.http.Predef._
    
        import scala.concurrent.duration._
    
        class LoadSimulation extends Simulation {
    
          // 从系统变量读取 baseUrl、path和模拟的用户数
          val baseUrl = System.getProperty("base.url")
          val testPath = System.getProperty("test.path")
          val sim_users = System.getProperty("sim.users").toInt
    
          val httpConf = http.baseURL(baseUrl)
    
          // 定义模拟的请求,重复30次
          val helloRequest = repeat(30) {
            // 自定义测试名称
            exec(http("hello-with-latency")
              // 执行get请求
              .get(testPath))
              // 模拟用户思考时间,随机1~2秒钟
              .pause(1 second, 2 seconds)
          }
    
          // 定义模拟的场景
          val scn = scenario("hello")
            // 该场景执行上边定义的请求
            .exec(helloRequest)
    
          // 配置并发用户的数量在30秒内均匀提高至sim_users指定的数量
          setUp(scn.inject(rampUsers(sim_users).over(30 seconds)).protocols(httpConf))
        }

    4.编译完成后,直接开启压测,命令:mvn gatling:test -Dgatling.simulationClass=test.load.sims.LoadSimulation -Dbase.url=http://localhost:8091/ -Dtest.path=hello/100 -Dsim.users=300

    二、使用官方提供的包进行测试

    http://gatling.io/#/download   包下载地址。

  • 相关阅读:
    题解 CF36B【Fractal】
    21清北学堂腾飞营游记
    canvas小试牛刀
    ES度量聚合(ElasticSearch Metric Aggregations)总结
    Mybatis中设计模式的运用
    Mybatis源码-SqlSession(二)
    Mybatis源码-sqlSessionFactory(一)
    Redis6.0多线程模型总结
    RocketMQ中的CommitLog、ConsumeQueue、indexFile、offsetTable以及多种偏移量对比
    SpringBoot——自动配置原理
  • 原文地址:https://www.cnblogs.com/z-test/p/9456443.html
Copyright © 2011-2022 走看看