zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    x240 uefi ubuntu 12.04.4
    配置管理系统和总体变更系统有什么差别与联系
    C#-利用ZPL语言完毕条形码的生成和打印
    Java Web系统经常使用的第三方接口
    C++类型转换
    JAVA实现HTTPserver端
    Java 实现迭代器(Iterator)模式
    tomcat源代码Catalina
    【剑指offer】二叉搜索树转双向链表
    linux下C语言中的flock函数使用方法 .
  • 原文地址:https://www.cnblogs.com/lindows/p/14390221.html
Copyright © 2011-2022 走看看