压力测试工具gatling安装和介绍

Gatling主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等。
1 优点:
1.gatling和其他压力工具相比有个好处是放在同一内网环境下linux服务器上,这样避免其他压力使用办公机使用共有网络,网络情况对压力测试的影响。
2 生成比较详细的压力测试报告。
3 能够更灵活的编写压力脚本。
4 可以jenkins集合,将压力测试整合自动化持续集成中。
2 安装:
下载地址: http://gatling.io/#/download
bin目录下有2个脚本,gatling和recorder, gatling用来运行测试, recorder用来启动录制脚本的UI的(不推荐使用)。
conf目录是关于Gatling自身的一些配置。
lib目录是Gatling自身依赖的库文件。
results目录用来存放测试报告的。
user-files目录是用来存放测试脚本的。

3 压力脚本介绍:

package computerdatabase  import io.gatling.core.Predef._  
import io.gatling.http.Predef._  
import scala.concurrent.duration._  class BasicSimulation extends Simulation {  val httpConf = http  .baseURL("http://computer-database.gatling.io") // 设置请求的Host  .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") // 设置请求header  .doNotTrackHeader("1")  .acceptLanguageHeader("en-US,en;q=0.5")  .acceptEncodingHeader("gzip, deflate")  .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")  val headers_10 = Map("Content-Type" -> "application/x-www-form-urlencoded") // Note the headers specific to a given request  val scn = scenario("Scenario Name") // A scenario is a chain of requests and pauses  .exec(http("request_2")  .get("/computers?f=macbook"))  .pause(2)  .exec(http("request_3")  .get("/computers/6"))  .exec(http("request_9")  .get("/computers/new"))  .pause(1)  .exec(http("request_10")   .post("/computers")  .headers(headers_10)  .formParam("name", "Beautiful Computer")   .formParam("introduced", "2012-05-30"  )  .formParam("discontinued", "")   .formParam("company", "37"))//请求格式  setUp(scn.inject(atOnceUsers(1)).protocols(httpConf))  

4 运行:

[html] view plain copy
cd bin
sh gatling.sh

5 生成报告:
results在目录下生成报告:
以下是报告中的两个图表,其他图就不贴了
压力测试工具gatling安装和介绍

转载于:https://blog.51cto.com/tenderrain/2130512

Published by

风君子

独自遨游何稽首 揭天掀地慰生平