性能测试-Gatling(一)
背景说明转自 : 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请求百度,不同的参数
![](/assets/blank.gif)
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)) //⑥
![](/assets/blank.gif)
准备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(一)相关推荐
- gatling搭建与使用
一.搭建环境与下载 gatling是基于scala环境,但是scala是基于java的,需要二种环境, 1.java环境 地址:https://www.runoob.com/java/java-env ...
- Rust/WinRT更名,全面支持Windows API
击"开发者技术前线",选择"星标" 让一部分开发者看到未来 文 | 白开水 来自 | OSC开源社区 微软已宣布推出 Rust for Windows v0.9 ...
- JHipster中文文档(一)
介绍 技术栈 客户端技术栈 服务端技术栈 微服务技术栈 生产环境支持 环境设置 安装JHipster 安装方式 使用Yarn进行本地安装 当使用Angular时的快速配置 当使用AngularJS 1 ...
- 性能测试工具Gatling
blazemeter 基本上就是压测行业的领头羊,多去他家的网站看看没毛病. 本文参考自: https://gatling.io/docs/2.3/general/simulation_setup/ ...
- Gatling性能测试(一)
Gatling是一款基于Scala 开发的高性能服务器性能测试工具,同时也是一款功能强大的负载测试工具,它为易于使用,高可维护性和高性能而设计.开箱即用,Gatling由于对HTTP协议的出色支持,使 ...
- 负载,性能测试工具-Gatling
前言 Gatling Gatling是一款功能强大的负载测试工具,它为易于使用,高可维护性和高性能而设计. 开箱即用,Gatling由于对HTTP协议的出色支持,使其成为负载测试任何HTTP服务器的首 ...
- 性能测试工具 -- Gatling
背景:近期调研和使用了一下Gatling,这款功能强大的性能测试工具,这里把学习到的一丢丢知识点做简单总结和整理 环境:gatling-charts-highcharts-bundle-3.31 目录 ...
- 使用 Gatling 进行分布式性能测试
简介 在本教程中,我们将了解如何使用 Gatling 进行分布式性能测试.在此过程中,我们将创建一个简单的应用程序来使用 Gatling 进行测试,了解使用分布式性能测试的基本原理,最后了解 Gatl ...
- gatling 之性能测试
欢迎关注[无量测试之道]公众号,回复[领取资源], Python编程学习资源干货. Python+Appium框架APP的UI自动化. Python+Selenium框架Web的UI自动化. Pyth ...
最新文章
- GCC 链接 xxx:No such file or directory 及运行可执行文件 error while loading shared libraries: xxx.so 解决方案
- 【转】Android Activity原理以及其子类描述,androidactivity
- ZOJ 1001 A + B Problem
- 关于Increased rates of convergence through learning rate adaptation一文的理解
- C语言简易行编辑器,简单的行编辑器C语言.doc
- 动态规划0—1背包问题
- 计算机组装没步的组件,计算机组装教案.doc
- 如何解决华为手机“杀后台”严重的情况呢?
- 2018-2019互联网大厂算法/深度学习/NLP面试笔记
- SRS RTC NACK源码分析—1
- python可以做什么灰产-广州市标书资料销毁详细流程
- vue富媒体编辑器组件:vue-wangeditor的使用
- ie检查服务器证书吊销,“检查服务器证书是否已吊销”的勾选去掉
- 【小强推歌】---Shania Twain 经典歌曲收藏
- 生活随记-交易难的原因
- 转:Emacs生存指南 (Emacs入门必读)
- 【Python第一课】课程介绍
- 概率论 思维导图复习提纲
- 莫烦Python--Tensorflow Day5
- shell 语句出错自动退出
热门文章
- 微前端之single-spa
- php str splice,php中array_replace、array_splice与str_replace函数的比较
- mybatis.mapper-locations 配置多个mapper路径
- 算法设计之—常用算法之-分支界定法
- Spark机器学习实战 (十二) - 推荐系统实战
- 春运首日武警广东总队护航
- python从2.6升到2.7后 桌面输入法图标不见
- Know more about commit
- 常见windows 2000系统进程描述
- Flink SQL Client中的session window图解