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