nGrinder 简易使用教程
背景
性能压测工具之前使用的是jmeter,这次说的是nGrinder,先直接搬运两者之间的比较
| 比较点 | JMeter | nGrinder | 结果 |
|---|---|---|---|
| 实现语言 | Java | Java | = |
| License | Apache v2 | Apache v2 | = |
| 使用方式 | C/S或Command | B/S | < |
| 支持分布式 | master/slave | controller/agent | = |
| 资源监控 | monitor/plugin,如果二开,需要查找plugin的源码 | monitor方式,有直接可用的源码 | < |
| 社区活跃度 | 有N个群,文档完善 | 群只有一个,有中文社区 | > |
| 是否需要编码 | 基本不需要 | 需要,Jython/Groovy | > |
| 脚本的维护 | 本地 | 内置SVN | < |
| 脚本录制 | 可使用BadBoy进行录制 | 可通过PTS插件进行录制 | = |
| 可扩展性 | 可增加plugin,输出结果可以再加工 | 可增加plugin | = |
| 压测平台编码量 | 大 | 小 | < |
这里还有一个详细的对比: http://qa.blog.163.com/blog/static/19014700220125264628978/
nGrinder采用的controler-agent模式,需要安装controler和agent
安装搭建
官网:https://github.com/naver/ngrinder/releases 下载nGrinder-controler,war格式;
1. 直接使用命令行模式启动(不推荐,有一些问题通过nohup无法启动)
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war --port
本来想着方便,使用
nohup java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war --port &
但启动报错,暂时没有解决
2. 使用tomcat
就是把war放在 $TOMCAT_HOME/webapps下,启动tomcat就行
访问地址为:localhost:port/war包名字

小tips,使用ln -s 修改war名字

3. 安装agent
进去到刚刚安装好的ngrinder-controler页面,账号密码使用admin/admin进去,点击下载代理

拿到agent包后,去到agent机器,解压zip,运行run_agent_bg.sh就可以的

4. 安装monitor
像安装agent一样,下载monitor的zip,然后放在想要监控的机器上,解压运行即可
压测demo
1. 新建脚本

2. 设计压测场景

目标主机就是需要监控的机器,点击添加输入ip即可
nGrinder 简易使用教程的更多相关文章
- 【转】nGrinder 简易使用教程
https://www.cnblogs.com/jwentest/p/7136727.html 背景 性能压测工具之前使用的是jmeter,这次说的是nGrinder,先直接搬运两者之间的比较 比较点 ...
- Git GUI简易使用教程
Git GUI简易使用教程:先上图~~~~~ 一. 先从添加文件开始讲(先上图): 1.选中要添加的文件,点击菜单栏的“提交”,选中“缓存为提交”,
- Android简易实战教程--第五十一话《使用Handler实现增加、减少、暂停计数》
转载博客请注明出处:道龙的博客 之前,写过一篇使用异步任务AysncTask实现倒计时的小案例,喜欢的话可以参考博客:Android简易实战教程--第三十三话< AsyncTask异步倒计时&g ...
- Android简易实战教程--第五十话《动画扫描》
祝新年快乐!2017(一起)前行. 转载博客请注明出处:道龙的博客 本篇简答的小案例,使用动画知识,完成一个类似雷达扫描效果,并且加入自定义进度条.对于自定义进度条前面有很详细的解析和案例了,本篇就结 ...
- Android简易实战教程--第十六话《SharedPreferences保存用户名和密码》
之前在Android简易实战教程--第七话<在内存中存储用户名和密码> 那里是把用户名和密码保存到了内存中,这一篇把用户名和密码保存至SharedPreferences文件.为了引起误导, ...
- Web压力测试工具 LoadRunner12.x简易入门教程--(一)回放与录制
LoadRunner12.x简易入门教程--(一)回放与录制 今天在这里分享一下LoadRunner12.x版本的入门使用方法,希望对刚接触LoadRunner的童鞋有所帮助. LoadRun ...
- Qt QBarSeries简易柱状图教程
博客园最强Qt QBarSeries简易柱状图教程 前情提要 每个人的绘图需求不同,此篇教程也是根据需求来改的.我的需求大概如下所示. 通过信号槽的方式接收signals来刷新柱状图,所以每次触发信号 ...
- Webpack简易入门教程
<!-- 其实网上关于webpack的教程已经很多了,但是本人在学习过程中发现很多教程有错误,或者写的很不全面,结果做的过程出现各种各样的问题,对新手不但不友好还会让人浪费很多不必要的时间.所以 ...
- Lua简易入门教程
环境:lua for windows (lfW)主页:http://luaforwindows.luaforge.net/https://code.google.com/p/luaforwindows ...
随机推荐
- codeforces 129B students and shoes
https://vjudge.net/problem/CodeForces-129B 题意: 有n个学生,他们之间被鞋带缠住了.现在,老师首先把所有只与一个学生直接相连的学生找出来,让他们聚集到一起, ...
- hdu_4717: The Moving Points 【三分】
题目链接 第一次写三分 三分的基本模板 int SanFen(int l,int r) //找凸点 { ) { //mid为中点,midmid为四等分点 ; ; if( f(mid) > f(m ...
- vue.js使用props在父子组件之间传参
本篇文章是我参考官方文档整理的,供大家参考,高手勿喷! prop 组件实例的作用域是孤立的.这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据.要让子组件使用父组件的数据,我们需要通过子 ...
- MySQL_第三方数据库引擎_tokudb
前阵子迁移zabbix到tokudb,整理部分操作笔记到这篇博文. 如果转载,请注明博文来源: www.cnblogs.com/xinysu/ ,版权归 博客园 苏家小萝卜 所有.望各 ...
- H5微信通过百度地图API实现导航方式二
要有服务器才行哦 <!DOCTYPE html><html><head> <meta http-equiv="Content-Type&quo ...
- c3p0数据库连接池+mysql数据库基本使用方法
一般我们在项目中操作数据库时,都是每次需要操作数据库就建立一个连接,操作完成后释放连接.因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒), 连接就会被自动释放掉. ...
- 用SSH解决大局域网反向端口转发问题
本文作者Tony Lee,转载自FreeBuf.COM 自从家里换了联通光纤后,联通就在我家宽带出口前搭了一个路由器,我家也彻底沦为192.168.1.0/24段的局域网了,带来的问题就是在外网无 ...
- linux下删除文件及文件夹命令
一.删除空文件与文件夹 rm或rmdir 文件/文件夹 二.删除非空文件与文件夹 rm -rf 文件/文件夹
- 在Mac OS 下 build Tesseract4.0 源码并在命令行中使用
作者电脑:Mac Mini 系统信息:OS X EI Capitan 10.11.6 Tesseract4.0github地址:https://github.com/tesseract-ocr/tes ...
- ReactiveSwift源码解析(十) Lifetime代码实现
为了之后博客的进行,本篇博客我们就来聊一下ReactiveSwift框架中的Lifetime类的具体实现.从Lifetime这个名字中我们就这道,就是生命周期.在ReactiveSwift中使用Lif ...