nGrinder是基于Grinder开源项目,但由NHN公司的nGrinder开发团队进行了重新设计和完善(所以叫做nGrinder)。

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

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


为什么选择nGrinder

JMeter

Tsung

Locust

Loadrunner

nGrinder

综上可以看出nGrindr还是有很多优势的。


总体架构

nGrinder 由两个主要的组件组成:

Controller:

提供性能测试的web接口。

Agent:

在代理服务器上加载运行测试进程和线程

当 agent 启动时,它们试图连接到 controller,然后他们都附属在 AgentControllerServer 组件上。AgentControllerServer (可以看做为一个 agent 的池)管理当前 agent 池。每当用户开始性能测试时,一个新的 console 被创建,同时由 AgentControllerServer 提供所需数量的 agent。 SingleConsole (不是 Grinder 中的 Console ) 发送测试脚本和测试源码到多个指定的 agent , 同时开始控制测试流,直到测试结束。当测试完成后,所使用的 agents 归还给 AgentControllerServer ,以便在以后的其他测试中使用。 同样,SingleConsole 也会归还给 ConsoleManager 。

nGrinder 和 Grinder 最大的区别在于 nGrinder 在 controller 中保持多个 console 实例 和 agent 。每个 console 都是独立的,所有 console 都可以同时运行。每当有需要时,许多 agent 可以提前被提前关联和分配。与 grinder 不同,nGrinder 最大化 agent 机器的利用率。


ngrinder中文社区

http://ngrinder.642.n7.nabble.com/ngrinder-user-cn-f114.html


nGrinder安装

3台linux服务器:

先决条件

nGrinder是一个web应用(Controller)和Java应用(Agent, Monitor)的组合,需要安装JDK 1.6或更高的版本。

nGrinder需要用到很多端口

Agent : Any ==> Controller : 16001

下载nGrinder

目前最新的版本是ngrinder3.4.1

启动nGrinder

建议使用tomcat,把war包放在tomcat的webapps文件夹下即可.

JAVA_OPTS=”-Xms600m -Xmx1024m -XX:MaxPermSize=200m”

启动后,打开浏览器访问http://localhost:8080/ngrinder-controller-X.X

我这里问:http://192.168.42.164:8080/ngrinder-controller-3.4.1/login,登录名/密码:admin/admin

安装agent

agent在controller页面中直接下载

因为使用的是admin帐号登录,下载的agents包中的配置可以分享给所有的用户使用。

下载后,把agent放在服务器上,解压

启动前检查 ulimt -a ,调整配置让其运行更多的线程,执行bash run_agent.sh 启动agent。

安装monitor

nGrinder的Monitor是agent的一个子集,用于收集系统相关数据(比如CPU, MEM and Network)

agent在controller页面中直接下载

下载后,把monitor放在服务器上,解压

执行bash run_monitor.sh启动monitor

安装完测试

nGrinder运行一个压力测试只需3步:

  1. 编写测试脚本

  2. 场景设计:配置并发用户数,执行时间,资源监控

  3. 场景执行,结束后自动生成报告

这里测试一个简单的get请求:http://192.168.42.32:82/sourcing/tradeservice/quotation-request.html

第一步,编写测试脚本

登录ngrinder,输入url,点击开始测试

第二步,场景设计

填写相应场景信息,如并发用户数,场景执行时间等

第三步,场景执行

点击保存并运行按钮,开始场景执行

原文链接:http://tonylit.me/2017/03/23/ngrinder介绍与安装/

nGrinder 介绍与安装的更多相关文章

  1. 从零自学Hadoop(19):HBase介绍及安装

    阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...

  2. 从零自学Hadoop(14):Hive介绍及安装

    阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 本系列已 ...

  3. Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)

    本节内容 1.数据库介绍 2.mysql管理 3.mysql数据类型 4.常用mysql命令 创建数据库 外键 增删改查表 5.事务 6.索引 7.python 操作mysql 8.ORM sqlac ...

  4. Bash on Windows 抢鲜测试 -- 介绍及安装

    前言 微软在上周的Windows BUILD大会上宣布,WIN10将引入原生Bash,并将很快在技术预览版中推出. 如此一来,windows的命令行工具就不再只有cmd和powershell了,我们可 ...

  5. Tyk API网关介绍及安装说明

    Tyk API网关介绍及安装说明 Tyk是一个开源的轻量级API网关程序. 什么是API网关 API网关是一个各类不同API的前置服务器.API网关封装了系统内部架构,对外提供统一服务.此外还可以实现 ...

  6. Python介绍、安装、使用

    Python介绍.安装.使用 搬运工:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Python语言介绍 说到Python语言,就不得不说一下它的创始人Guido van Rossu ...

  7. Redis介绍以及安装(Linux)

    Redis介绍以及安装(Linux) redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的 ...

  8. 自动化运维工具之 Ansible 介绍及安装使用

    一.初识Ansible 介绍: Absible 使用 模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.A ...

  9. 【兄弟连ThinkPHP】1、介绍和安装

    琢磨了好几天的ThinkPHP了,兄弟连的视频真心不错,下面是记得一些要点,只做备忘,有兴趣的朋友请去百度兄弟连. ## ThinkPHP 3 介绍及安装#讲师:赵桐正微博:http://weibo. ...

随机推荐

  1. 网页滚动条CSS样式

    滚动条样式主要涉及到如下CSS属性: overflow属性: 检索或设置当对象的内容超过其指定高度及宽度时如何显示内容 overflow: auto; 在需要时内容会自动添加滚动条overflow: ...

  2. webfrom 控件

    服务器基本控件: button: text属性 linkbutton:text属性,它是一个超链接模样的普通button hyperlink: navigateurl:链接地址,相当于<a> ...

  3. 云服务器上安装MSF环境

    在校园网内,禁止使用路由器之类的,所以就导致自己本地虚拟机环境出现各种各样的网络问题,解决起来过于繁琐,为此在服务器上安装MSF 0x00 安装MSF 使用Xshell等工具连上远程服务器后,首先确保 ...

  4. 设计函数f(f(n))== -n

    来源:厦门SEO 我上次面试时遇到的一个问题: 设计一个函数f ,使得: f(f(n)) == -n 其中n是一个32位有符号整数 ; 您不能使用复数算法. 如果您不能为整个数字范围设计这样的函数,请 ...

  5. Linux 使用rpm方式安装最新mysql(5.7)步骤以及常见问题解决

    第一步:下载rpm包 mysql官网下载:http://dev.mysql.com/downloads/mysql/ 但如果你的下载网速不好的话也可以点下面的链接下载自己想要的版本 http://mi ...

  6. memcached_高可用

    memcached高可用 一.magent 1.安装 cd /usr/local/mkdir ./magentcd ./magentwget -c http://memagent.googlecode ...

  7. 序列化模块Serializer

    序列化组件: 知识点:Serializer(偏底层).ModelSerializer(重点).ListModelSerializer(辅助群改) Serializer 序列化准备: 模型层:model ...

  8. iOS 一种很方便的构造TarBar

    直接在TarBarController中操作,代码如下: #import "DLTabBarController.h" #import "ViewController.h ...

  9. HDU-4553 约会安排(线段树维护连续区间)

    http://acm.hdu.edu.cn/showproblem.php?pid=4553 Problem Description 寒假来了,又到了小明和女神们约会的季节.  小明虽为屌丝级码农,但 ...

  10. moco jar包下载

    http://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0/ 选择moco-runner-0.11.0-standalo ...