gatling:一个开源的性能测试工具,可以用于测试系统负载、高并发等情况。
一、安装步骤
我的安装版本:jdk1.8,idea community edition,gatling:3.3.1,sbt:1.3.3
- 安装jdk1.8
- 安装idea
- idea中安装scala插件(如果下载失败,换个网络或是在低峰时段重试)
- idea中安装scala sdk
- 安装gatling和sbt
二、使用方法
运行命令
mvn gatling:execute
三、配置
gatling默认的配置可以在/path/to/gatling-charts-highcharts-bundle/conf/gatling.conf中查看,都是注释状态,时间单位秒。在这里修改参数并取消注释,并不会生效。修改参数需要在pom.xml中。
gatling默认请求超时时间60s。如果请求中携带文件过大,那么容易超时导致失败。修改超时时间需要在pom.xml文件中修改,这里时间单位是秒。
<build>
<plugins>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>${gatling-plugin.version}</version>
<configuration>
<!-- 测试脚本 -->
<simulationClass>com.me.ApiGatlingSimulationTest</simulationClass>
<!-- 结果输出地址 -->
<resultsFolder>/path/to/gatling</resultsFolder>
</configuration>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<jvmArgs>
<jvmArg>-Dgatling.http.ahc.connectTimeout=6000000</jvmArg>
<jvmArg>-Dgatling.http.ahc.requestTimeout=1200000</jvmArg>
<jvmArg>-Dgatling.http.ahc.sslSessionTimeout=6000000</jvmArg>
<jvmArg>-Dgatling.http.ahc.pooledConnectionIdleTimeout=6000000</jvmArg>
<jvmArg>-Dgatling.http.ahc.readTimeout=6000000</jvmArg>
</jvmArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
修改后运行命令是(第一次mvn test也可以,但是后面不clean的话,mvn test会报错)
mvn clean test