背景说明转自 : 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 computerdatabase

import 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=

注释:

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

① baseurl即域名

② 定义要读取的参数文件

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

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

⑤ 读取参数文件中的列

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

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

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

四  问题&解决

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

性能测试-Gatling(一)的更多相关文章

  1. 微服务架构 技能图谱skill-map

    # 微服务架构 技能图谱 ## 理论基础### 概念#### 多微合适 - 非代码函数 - 非重写时间 - 适合团队最重要 - 独立业务属性 - 全功能团队 #### 进程隔离 - 服务运行在独立的进 ...

  2. 新一代服务器性能测试工具Gatling

    新一代服务器性能测试工具Gatlinghttp://automationqa.com/forum.php?mod=viewthread&tid=2898&fromuid=2

  3. 如何利用gatling创建一个性能测试例

    [原创博文,转载请声明出处] 基于上一篇博文介绍如何源码编译创建自己的gatling可执行工具,今天介绍一下如何基于gatling做性能测试! 由于gatling的测试例脚本是基于scala写的,所以 ...

  4. 性能测试工具之Gatling

    转载:http://ningandjiao.iteye.com/blog/2004579 Gatling一直是久闻其名但是未得机会运用,正好最近有需求做性能测试,于是趁此机会熟悉了一下,可以说,这是目 ...

  5. web性能测试的新利器 - Gatling 介绍

    转载:http://www.51testing.com/html/10/26810-852956.html 最近发现了一个新的性能测试工具Gatling,貌似比Jmeter还好玩.这几天就先简单介绍一 ...

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

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

  7. 一篇入门 — Gatling 性能测试手册

    介绍 本篇博客,旨在记录学习的要点,所以格式随意, 方便本人日后自考和回忆,有兴趣的朋友可以评论讨论. 原文地址:https://www.cnblogs.com/clockq/p/10539974.h ...

  8. Gatling新一代压力测试工具,新一代服务器性能测试工具Gatling

    Gatling新一代压力测试工具新一代服务器性能测试工具Gatlinghttp://www.infoq.com/cn/articles/new-generation-server-testing-to ...

  9. 应用性能测试神器 Gatling,你用过吗?

    在应用程序上线之前,有多少人做过性能测试? 估计大部分开发者更多地关注功能测试,并且会提供一些单元测试和集成测试的用例.然而,有时候性能漏洞导致的影响比未发现的业务漏洞更严重,因为性能漏洞影响的是整个 ...

随机推荐

  1. Python Tkinter基础控件入门实例

    分享一个Python Tkinter基础控件用法的入门例子,包括窗口的显示.显示内置图片.弹出窗口.菜单等. 例子,Python Tkinter基础控件的用法 # -*- coding: utf-8 ...

  2. TaskAsyncHelper

    public static class TaskAsyncHelper { /// <summary> /// 将一个方法function异步运行,在执行完毕时执行回调callback / ...

  3. markModified声明要修改的数组字段

    更新一个文档的字段的时候,如果该字段的类型是数组类型,则必须在更新保存前声明一下这个数组字段要被修改,否则这个数组字段的值不会被修改.如 article.markModified('categorys ...

  4. c#,asp.net 开发 app 学习资料整理

    VS2015 Apache Cordova第一个Android和IOS应用 http://www.cnblogs.com/aehyok/p/4116410.html PhoneGap:免费开源的 HT ...

  5. [Windows Azure] Windows Azure Storage & SQL Database

    http://channel9.msdn.com/Series/Windows-Azure-Storage-SQL-Database-Tutorials Windows Azure offers mu ...

  6. python(44):array和matrix的运算

    在NumPy中,array用于表示通用的N维数组,matrix则特定用于线性代数计算.array和matrix都可以用来表示矩阵,二者在进行乘法操作时,有一些不同之处. 使用array时,运算符 *  ...

  7. linux如何查看一个进程的堆栈

    转自:http://blog.csdn.net/nanjingligong/article/details/8624739 方法一:pstack pidNAME       pstack - prin ...

  8. 【嵌入式】FS2410非操作系统外围资源测试

    在刚接触FS2410时,其实这个测试也没有多大意义,但是对于以后来说,当一个产品做成功时,产品测试还是一个必须经过的一个阶段,所以这个流程还是有必要走一下! 在非操作系统下,主要进行RTC测试,按键测 ...

  9. LeetCode: Merge k Sorted Lists 解题报告

    Merge k Sorted Lists Merge k sorted linked lists and return it as one sorted list. Analyze and descr ...

  10. eclipse jetty 请求的操作无法在使用用户映射区域打开的文件上执行

    使用jetty  debug代码启动  在eclipse中进行运行调试,碰到无法编辑保存webapp下的文件 提示: 请求的操作无法在使用用户映射区域打开的文件上执行 解决方法: 从 jetty 7 ...