`

web test Grinder / nGrinder / ngrinder / gor / tcpcopy

 
阅读更多

s

https://github.com/naver/ngrinder/wiki/User-Guide

 

nGrinder安装指南

http://www.cnblogs.com/yzuzhang/p/5692771.html

https://my.oschina.net/u/939534/blog/102878

利用nGrinder进行性能测试操作指南

http://ju.outofmemory.cn/entry/197566

 

 

大促系统全流量压测及稳定性保证——京东交易架构分享(含PPT)

http://toutiao.com/i6301184939064820226/

 

终极 Web 应用性能和压力测试工具 Gor

http://sanyue.iteye.com/blog/2221036

Web 应用压力测试工具有很多,比如 Apache ab,node-ab,Apache JMeter, LoadRunner, httperf。但是这些工具都没能解决一个问题:

如何正确模拟生产环境的流量

如今 Web 应用的架构变得非常复杂,内部包含复杂的各种负载均衡、 服务和 RPC 调用关系,简单的发送 GET 请求到某些 URL 或者 API 接口完全无法模拟真实的流量。假如回放 HTTP 日志,操作又异常麻烦。Tcpcopy 虽然能够复制实时流量,但是操作也很复杂。之前的 亚马逊云平台的迁移 就用到了 Gor 这个工具。

http://www.oschina.net/p/tcpcopy

tcpcopy是一种应用请求复制(基于tcp的packets)工具,其应用领域较广,目前已经应用于国内各大互联网公司。

总体说来,tcpcopy主要有如下功能:

1)分布式压力测试工具,利用在线数据,可以测试系统能够承受的压力大小(远比ab压力测试工具真实地多),也可以提前发现一些bug

2)普通上线测试,可以发现新系统是否稳定,提前发现上线过程中会出现的诸多问题,让开发者有信心上线

3)对比试验,同样请求,针对不同或不同版本程序,可以做性能对比等试验

4)利用多种手段,构造无限在线压力,满足中小网站压力测试要求

5)实战演习(架构师必备)

tcpcopy可以用于实时和离线回放领域,并且tcpcopy支持mysql协议的复制,开源二年以来,功能上越来越完善。

 

如果你对上线没有信心,如果你的单元测试不够充分,如果你对新系统不够有把握,如果你对未来的请求压力无法预测,tcpcopy可以帮助你解决上述难题。

Gor 是 Web 应用压力测试的完美方案

我一直在找一个简单又方便的解决方案,直到找到了 Gor 。Gor 是用 Golang 写的一个 HTTP 实时流量复制工具。只需要在 LB 或者 Varnish 入口服务器上执行一个进程,就可以把生产环境的流量复制到任何地方,比如 Staging 环境、Dev 环境。完美解决了 HTTP 层实时流量复制和压力测试的问题。

Gor 的功能

Gor 支持流量的放大和缩小、频率限制,这样不需要搭建和生产环境一致的服务器集群也可以正确测试。Gor 还支持根据正则表达式过滤流量,这意味着可以单独测试某个 API 服务。还可以修改 HTTP 请求头,比如替换 User-Agent, 或者增加某些 HTTP Header 。

Gor 还可以把请求记录到文件,以备回放和分析。Gor 支持和 ElasticSearch 集成,将流量存入 ES 进行实时分析。

Gor 的常用命令

简单的 HTTP 流量复制:

gor –input-raw :80 –output-http “http://staging.com”

HTTP 流量复制频率控制:

gor –input-tcp :28020 –output-http “http://staging.com|10″

HTTP 流量复制缩小:

gor –input-raw :80 –output-tcp “replay.local:28020|10%”

HTTP 流量记录到本地文件:

gor –input-raw :80 –output-file requests.gor

HTTP 流量回放和压测:

gor –input-file “requests.gor|200%” –output-http “staging.com”

HTTP 流量过滤复制:

gor –input-raw :8080 –output-http staging.com –output-http-url-regexp ^www.

最后

这个 Golang 写的 Gor 是开源的,意味着可以方便的集成到自己的架构中,可以用在压力测试平台、实时流量分析、应用层防火墙等等方面。

 

有用的链接

https://github.com/buger/gor
https://github.com/doubaokun/node-ab
https://github.com/session-replay-tools/tcpcopy
https://github.com/httperf/httperf
https://github.com/buger/gor/blob/master/ELASTICSEARCH.md

 

 

 

ngrinder 

参照www.cubrid.org/wiki_ngrinder/entry/installation-guide

1、下载安装Controller,下载地址:sourceforge.net/projects/ngrinder/files

2、下载Agent;配置NGRINDER_AGENT_HOME,C:\DOCUME~1\ADMINI~1\.grinder_agent

3、安装monitor

 

http://www.iteye.com/topic/1127810

nGrinder是一个基于Grinder(http://grinder.sourceforge.net/)开发的一个非常易于管理和使用的,开源的性能测试系统。 

它是由一个controller和连接它的多个agent组成,用户可以通过web界面管理和控制测试,以及查看测试报告,controller会把测试分发到一个或多个agent去执行。用户可以设置使用多个进程和线程来并发的执行该脚本,而且在同一线程中,来重复不断的执行测试脚本,来模拟很多并发用户。 

nGrinder的测试是基于一个python的测试脚本,用户按照一定规则编写测试脚本以后,controller会将脚本以及需要的其他文件分发到agent,用Jython执行。并在执行过程中收集运行情况、响应时间、测试目标服务器的运行情况等。并保存这些数据生成运行报告,以供以后查看。 

nGrinder的一大特点就是非常容易使用,安装也非常容易,可以做到开箱即用,测试用户也可以很容易就开始测试任务。当然,如果想执行一些比较复杂场景的性能测试,就需要测试人员对python有一定认识。 

项目网址: 
http://www.nhnopensource.org/ngrinder/ 

index页面: 

 

test list页面 

 

test配置页面 

 


test执行页面 

 

test report页面 

 

script编辑页面 

 

 

end

分享到:
评论

相关推荐

    Docker部署nGrinder性能测试平台过程解析

    它是根据Apache许可版本2.0许可的,是基于Grinder的开源的web性能测试平台,由韩国最大互联网公司NHN公司的开发团队进行了重新设计和完善。 http://naver.github.io/ngrinder/ nGrinder由三个组件组成 controller:...

    ngrinder3.5.8资源集合

    ngrinder 3.5.8是一款高效且功能丰富的开源性能测试工具,尤其适合进行Web应用的压力测试。它以其简洁的界面和强大的监控功能,为开发者和运维人员提供了便捷的性能评估与优化手段。 首先,我们要理解ngrinder的...

    ngrinder性能测试培训ppt

    - **Grinder与nGrinder概述**: - **Grinder**:一个开源的压力测试工具,主要面向Java应用程序,通过Python脚本执行测试任务。该工具包含控制台端(采用Swing GUI)和代理端。 - **nGrinder**:基于Grinder进一步...

    ngrinder-recorder-1.0.zip

    ngrinder是一款开源的性能测试工具,主要应用于Web应用的负载和压力测试。其中,ngrinder-recorder是ngrinder的重要组件,它作为一个录制工具,能够帮助用户轻松地创建性能测试脚本。在本文中,我们将深入探讨...

    easyui三套精美皮肤

    EasyUI 是一个基于 ...总的来说,EasyUI 的三套精美皮肤为开发者提供了丰富的选择,使得创建美观且功能强大的 Web 应用程序变得更加简单。通过灵活应用和适当自定义,开发者可以打造出符合业务需求的独特用户界面。

    nGrinder Controller 3.3

    基于grinder的测试工具,相对于Grinder增加了很多图形化的操控

    grinder:简单的C ++事件循环库

    Grinder/Linux目录包含一些有用的特定于Linux的API(如timerfd和signalfd)的包装。 main.cpp文件包含一些测试/演示代码。 概念 主要组件是EventLoop ,它控制事件的处理。 这是系统的心脏。 EventSource子类提供...

    grinder安装使用说明文档

    Grinder广泛应用于Web应用、API服务、数据库服务器、分布式系统等多种场景的性能测试,尤其适合于需要快速验证系统在高并发情况下的稳定性和性能优化的工作。 总结,Grinder作为一款强大的负载测试工具,通过其简单...

    the grinder 3.0安装文件

    grinder.script=test_script.py grinder.numTestAgents=10 ``` **五、运行测试** 1. **启动服务器**:在命令行中,导航到 The Grinder 的安装目录,运行以下命令启动测试服务器: ``` java -jar lib/grinder....

    grinder.dart:Dart工作流程,自动化

    要创建一个简单的grinder脚本,请运行: pub run grinder:init 通常,grinder脚本如下所示: import 'package:grinder/grinder.dart' ;main (args) => grind (args);@DefaultTask ( 'Build the project.' )build ()...

    grinder的使用步骤和运行命令

    Grinder是一款强大的Java负载测试工具,它允许开发者和测试人员对Web应用程序进行性能测试。本文将详细解析Grinder的使用步骤和运行命令,帮助您快速掌握这款工具。 一、环境配置 1. Java环境:首先确保您的系统...

    The Grinder3.0

    Grinder是一款强大的Java负载测试工具,主要用于测试Web应用程序的性能和稳定性。标题中的"The Grinder3.0"表明我们将要探讨的是其第三个主要版本,这个版本引入了更多改进和功能,以帮助开发者更好地评估和优化他们...

    Water_Websites:Water_Websites

    要创建一个简单的grinder脚本,请运行: pub run grinder:init通常,grinder脚本如下所示: import 'package:grinder/grinder.dart' ;main (args) => grind (args);@DefaultTask ( 'Build the project.' )build () ...

    grinder-dcr-agent-3.9.1.jar

    grinder jar需要的jar包,使用ngrinder时用到的,有需要的可以使用

    grinder 3.2 + 源代码 + 入门指南

    《Grinder 3.2:性能测试利器与Python、Jython的融合》 Grinder,一个基于Java的强大性能测试工具,以其灵活性和易用性在IT行业中占据了一席之地。这款开源软件允许开发者进行各种类型的压力测试,包括但不限于软件...

    smalltalk-test-grinder

    "小谈话测试研磨机"(smalltalk-test-grinder)是一个专为Smalltalk编程语言设计的自动化测试框架。Smalltalk是一种动态类型、面向对象的语言,它在软件开发领域有着深厚的历史,尤其在早期的GUI和面向对象编程发展...

    Grinder-分布式测试负载

    1.grinder 是非常好用的性能测试软件,纯java 编写 可以通过编写phthon 脚本来测试软件性能,数据库性能 等等, 还可以调用java 的class 2.环境和测试脚本已打包,可直接拿来用。 3.附带一个Grinder的pdf使用指南。...

Global site tag (gtag.js) - Google Analytics