背景说明转自 : http://www.infoq.com/cn/articles/new-generation-server-testing-tool-gatling/

以前Jmeter用的多,如文档中所说,实际使用后发现Jmeter多用户时很容易并发并发不均匀,导致一些数据统计不准确。

Jmeter & Gatling的QPS统计

因此我们选用gatling来进行http的压测

实践步骤:

http://gatling.io/docs/current/quickstart/

一  下载

wget  https://repo1.maven.org/maven2/io/gatling/highcharts/gatling-charts-highcharts-bundle/2.2.5/gatling-charts-highcharts-bundle-2.2.5-bundle.zip
unzip gatling-charts-highcharts-bundle-2.2.5-bundle.zip

1 注意尽量不要放在工程目录下,预防出现权限问题

2 注意java版本的匹配  java -version

3 gatling的默认编码方式为utf-8,若需更改,编译conf/gatling.conf文件

二 检查环境

cd bin && sudo sh gatling.sh

正确情况如下:

选取一个要跑的脚本需要,两次enter:

将提示的result目录下内容打开如下:

galing需要java环境,若无则需要配置;注意使用权限

三  应用

环境调通了,就开始写自己的scala脚本进行压测了,不熟悉scala的同学也没有关系,记住几个地方,抄一下就可以了~

1  单场景测试

较为简单的单场景demo:get请求百度,不同的参数

package computerdatabaseimport io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._class MyTestSimulation extends Simulation {val httpConf = http.baseURL("http://www.baidu.com") //① .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") .acceptLanguageHeader("en-US;q=0.5") .acceptEncodingHeader("gzip, deflate") .userAgentHeader("Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0") val feeder = csv("baidu_search.csv").random //② val scn = scenario("MyTestSimulation") .feed(feeder) //③ .exec(http("request_1") //④ .get("/s?${params}") //⑤ .check(status.is(200))) setUp(scn.inject(constantUsersPerSec(150) during (30 seconds) ).protocols(httpConf)) //⑥

准备csv数据在data目录下,文件名为baidu_search.csv,内容如下:

params
ie=utf-8&wd=1
ie=utf-8&wd=2 ie=utf-8&wd=3

注释:

class后面的名字会出现执行gatling后的可选列表里

① baseurl即域名

② 定义要读取的参数文件

③ 把指定读取参数文件定义的变量写进来

④ 这个名字会用在生成的报告里

⑤ 读取参数文件中的列

⑥设置每秒请求数qps和持续时间duringTime

啦啦啦,找到一个小抄,各种参数的含义解释,简直开挂,吓哭我了:

http://gatling.io/docs/current/cheat-sheet/

四  问题&解决

我第一次使用dev权限,该权限下java  javac命令均可正确使用,但是执行失败,更改为root可行,觉得可能是gatling要求的。

性能测试-Gatling(一)相关推荐

  1. gatling搭建与使用

    一.搭建环境与下载 gatling是基于scala环境,但是scala是基于java的,需要二种环境, 1.java环境 地址:https://www.runoob.com/java/java-env ...

  2. Rust/WinRT更名,全面支持Windows API

    击"开发者技术前线",选择"星标" 让一部分开发者看到未来 文 | 白开水 来自 | OSC开源社区 微软已宣布推出 Rust for Windows v0.9 ...

  3. JHipster中文文档(一)

    介绍 技术栈 客户端技术栈 服务端技术栈 微服务技术栈 生产环境支持 环境设置 安装JHipster 安装方式 使用Yarn进行本地安装 当使用Angular时的快速配置 当使用AngularJS 1 ...

  4. 性能测试工具Gatling

    blazemeter 基本上就是压测行业的领头羊,多去他家的网站看看没毛病. 本文参考自: https://gatling.io/docs/2.3/general/simulation_setup/ ...

  5. Gatling性能测试(一)

    Gatling是一款基于Scala 开发的高性能服务器性能测试工具,同时也是一款功能强大的负载测试工具,它为易于使用,高可维护性和高性能而设计.开箱即用,Gatling由于对HTTP协议的出色支持,使 ...

  6. 负载,性能测试工具-Gatling

    前言 Gatling Gatling是一款功能强大的负载测试工具,它为易于使用,高可维护性和高性能而设计. 开箱即用,Gatling由于对HTTP协议的出色支持,使其成为负载测试任何HTTP服务器的首 ...

  7. 性能测试工具 -- Gatling

    背景:近期调研和使用了一下Gatling,这款功能强大的性能测试工具,这里把学习到的一丢丢知识点做简单总结和整理 环境:gatling-charts-highcharts-bundle-3.31 目录 ...

  8. 使用 Gatling 进行分布式性能测试

    简介 在本教程中,我们将了解如何使用 Gatling 进行分布式性能测试.在此过程中,我们将创建一个简单的应用程序来使用 Gatling 进行测试,了解使用分布式性能测试的基本原理,最后了解 Gatl ...

  9. gatling 之性能测试

    欢迎关注[无量测试之道]公众号,回复[领取资源], Python编程学习资源干货. Python+Appium框架APP的UI自动化. Python+Selenium框架Web的UI自动化. Pyth ...

最新文章

  1. GCC 链接 xxx:No such file or directory 及运行可执行文件 error while loading shared libraries: xxx.so 解决方案
  2. 【转】Android Activity原理以及其子类描述,androidactivity
  3. ZOJ 1001 A + B Problem
  4. 关于Increased rates of convergence through learning rate adaptation一文的理解
  5. C语言简易行编辑器,简单的行编辑器C语言.doc
  6. 动态规划0—1背包问题
  7. 计算机组装没步的组件,计算机组装教案.doc
  8. 如何解决华为手机“杀后台”严重的情况呢?
  9. 2018-2019互联网大厂算法/深度学习/NLP面试笔记
  10. SRS RTC NACK源码分析—1
  11. python可以做什么灰产-广州市标书资料销毁详细流程
  12. vue富媒体编辑器组件:vue-wangeditor的使用
  13. ie检查服务器证书吊销,“检查服务器证书是否已吊销”的勾选去掉
  14. 【小强推歌】---Shania Twain 经典歌曲收藏
  15. 生活随记-交易难的原因
  16. 转:Emacs生存指南 (Emacs入门必读)
  17. 【Python第一课】课程介绍
  18. 概率论 思维导图复习提纲
  19. 莫烦Python--Tensorflow Day5
  20. shell 语句出错自动退出

热门文章

  1. 微前端之single-spa
  2. php str splice,php中array_replace、array_splice与str_replace函数的比较
  3. mybatis.mapper-locations 配置多个mapper路径
  4. 算法设计之—常用算法之-分支界定法
  5. Spark机器学习实战 (十二) - 推荐系统实战
  6. 春运首日武警广东总队护航
  7. python从2.6升到2.7后 桌面输入法图标不见
  8. Know more about commit
  9. 常见windows 2000系统进程描述
  10. Flink SQL Client中的session window图解