一、ngrinder介绍

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

nGrinder 是一款非常易用,有简洁友好的用户界面 和 controller-agent分布式结构的强大的压力测试工具,能够执行性能测试和监控目标服务器,并生成结果。

在ngrinder 3.x版本开始,支持多用户并发测试。目前是3.5.x版本。可以通过录制方式,生成jython和groovy语言的脚本。也可以,自己编写,导入进来

脚本语言:jpthon(python+java)  groovy(java衍生)

官方网站:https://naver.github.io/ngrinder/

最新发布版本:https://github.com/naver/ngrinder/releases

二、ngrinder特点

(1)一款非常易用

(2)web管理台界面

(3)controller-agent代理可以实现分布式结构

(4)ngrinder理论上,虚拟用户数是无限,官方说法,在4g内存时,可以支持 4k并发用户数

(5)执行性能测试+目标服务器监控

三、ngrinder 组成

ngrinder 主要由三部分组成:控制器Controller、代理agent、监听器monitor:

1、Controller控制器:

(1)提供web管理界面;

(2)让用户创建、修改脚本,

(3)维护性能测试场景,执行性能测试,

(4)整理和显示测试统计数据。

(5)管理Agent

(6)对外服务的端口:默认8080

(7)内部服务端口:默认为16001

(8)Controller的服务端口,要看具体启动方式,如果采用tomcat,则服务端口为8080。

(9)ControllerServer端口默认为16001,Agent代理启动时,会自动请求连接该端口。

2、Agent代理:

(1)代理==助攻机器==压力机

(2)agent是不能安装在被测服务器上

(3)服务端口:12000~12029

(4)使用进程或线程模式执行性能测试。

(5)在执行性能测试时,会开启12000~12029区间的端口。

3、监听器monitor:

(1)监视被测服务器资源使用情况

(2)需要安装在被测服务器上

(3)监视目标服务器资源使用情况,常被部署在目标服务器上。默认端口13243。

四、ngrinder工作原理

图中数字表示含义: 

  0:Controller控制器和Agent代理,启动后保持连接;

  1:用户在控制器中发起性能测试请求;

  2:Controller控制器就会去获取控制台信息;

  3:再去获取代理。服务信息;

  4:确定具体的代理服务器信息;

  5:然后控制台就会向代理服务分发性能脚本与场景,进行性能测试;

  6:向被测服务器发起请求,同时监听器监听被测服务器资源使用情况;

概述:

(1)它由 一个Controller 和 与它相连的 多个 Agent 组成。用户通过web界面管理和控制测试,以及查看测试报告。

(2)Controller 会把测试分发到 每个Agent上去执行,用户可以在web管理界面中,设置 多个使用 多个线程 或 进程来并发的执行脚本。

(3)nGrinder的脚本是python语言写的。Controller把这些脚本分发到各个Agent中,然后用Jython来执行。并在执行的过程中,收集运行情况、响应时间、测试目标服务器的运行情况等,并保存数据生成报告。

Ngrinder(性能测试工具)-(一)的更多相关文章

  1. 性能测试工具 nGrinder 项目剖析及二次开发

    转:https://testerhome.com/topics/4225 0.背景 组内需要一款轻量级的性能测试工具,之前考虑过LR(太笨重,单实例,当然它的地位是不容置疑的),阿里云的PTS(htt ...

  2. Web Service 性能测试工具比较

    背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力(请求数/秒).以微信服务器为例,每个用户用独立的登录token,做各种操作, ...

  3. 性能测试工具 Web Service 性能测试工具比较

    [转自]https://testerhome.com/topics/3003 背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力 ...

  4. 性能测试工具 wrk 安装与使用

    介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...

  5. 性能测试工具Locust

    An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...

  6. 给CentOS6.3 + PHP5.3 安装PHP性能测试工具 XHProf-0.9.2

    一.什么是XHProf XHProf官网:http://pecl.php.net/package/xhprof XHProf是一个分层PHP性能分析工具.它报告函数级别的请求次数和各种指标,包括 阻塞 ...

  7. Android性能测试工具APT使用指南

    腾讯的安卓平台高效的性能测试工具APT(Android Performance Testing Tools),适用于开发自测和定位性能瓶颈,帮助测试人员完成性能基准测试.竞品测试. APT提供了CPU ...

  8. 安卓性能测试工具-GT,安测试

    GT: 是腾讯出品的一款APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE,  Integrated  Debug&Test  Environment).利用GT,仅凭一部 ...

  9. TCP/UDP网络性能测试工具 - Netperf (zz) ..网络测试工具

    在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多. 除了netperf以外.       还有很多其它的网络性能测试工具.       如db, ...

  10. pylot是一款开源的web性能测试工具

    pylot是一款开源的web性能测试工具,http://www.pylot.org/ 参考文档:http://www.pylot.org/gettingstarted.html很容易上手 使用分为以下 ...

随机推荐

  1. vue+elementUI表格实现自定义右键菜单

    组件代码: <template> <div id="contextmenu" class="contextmenu open"> < ...

  2. call, apply,bind的区别与用法

     call, apply,bind的区别            相同点:都可以用来改变this指向           不同点:           call, apply:传参方式不同:       ...

  3. 虚拟机中 Linux 提示“设备上没有空间”,扩容磁盘

    查看一下磁盘空间使用情况 #df -hl 已使用100% ls /dev/sd*  先查看一下现有sd系统硬盘 关机,存个快照(存不存无所谓),然后在虚拟机设置里添加扩展磁盘容量,选择SCSI类型 重 ...

  4. 复习第二点-2.基于注解的helloworld

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...

  5. wps - Word文档打开后不能编辑

    Word文档打开后不能编辑 解决方式 [审阅]-[限制编辑]-[设置文档的保护方式]-[修订]-[启动保护]-[停止保护] Word文档打开后不能编辑,可以这样处理 打开Word文档后,发现无法输入内 ...

  6. OS-lab3

    OS-lab3 lab2之后,我们能够通过MMU访问内存了,不过操作系统最重要的是能够让进程运行. include env.h 定义了进程控制相关的变量,如进程数量NENV.进程状态ENV_FREE等 ...

  7. idea中怎么查找替换数据?

    快捷键全局查询所有:crtl+shift+F 快捷键全局替换所有:crtl+shift+R 1.crtl+f crtl+r 快捷键全局查询所有:crtl+shift+F 快捷键全局替换所有:crtl+ ...

  8. UCOS-III笔记

    1.单片机程序分类:轮询程序,前后台程序,多任务系统程序 2.多任务系统伪代码 1 int flag1 = 0; 2 int flag2 = 0; 3 int flag3 = 0; 4 5 int m ...

  9. 个人网盘搭建SeaFile

    资料参考: https://www.ittel.cn/archives/2904.html https://www.cnblogs.com/jiuyachun/p/10185111.html  恢复和 ...

  10. Array方法学习总结

    Array 对象支持在 单个变量名下存储多个元素. Array方法: 在遍历多个元素的方法中,下面的方法在访问索引之前执行in检查,并且不将空槽与undefined合并:concat() 返回一个新数 ...