Ngrinder 制作脚本-(二)
接上一篇文章:了解了Ngrinder的介绍和工作原理之后,相信大家都想着怎么使用这款工具进行性能测试
一、Ngrinder-Controller 的安装
环境要求:
(1)jdk1.8以上
(2)Java运行环境:jre
(3)war包的默认部署中间tomcat
(4)操作系统:windows、linux、mac
(5)把ngrinder-controller.3.x.x.war放到机器的任何路径下都可以
(6)端口 16001、12000~12000+、13243(monitor)、8080(tomcat)
直接安装:https://github.com/naver/ngrinder/releases
从GitHub地址中下载 ngrinder-controller-x.x.x.war包
# linux系统centos
yum install -y java-1.8.e-openjdk
# 配置JAVA_HOME
which java
# ls -l 上面的结果
# ls -l 上面的路径直到找到最后的路径 vim /etc/profile
# export JAVA_HOME=上一步找到最后路径
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64
export JRE_HOME=$3AVA_HOME/jre
export CLASSPATH=$3AVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$3AVA_HOME/bin : $RE_HOME / bin : $PATH
启动微服务:
java -jar ngrinder-controller.3.x.x.war # 或者 java -XX:MaxPermSize=200m -jar ngrinder-controller-xx.war
访问地址:http://xxxx_ip:8080 admin / admin
进阶知识:进入用户根目录,有一个.ngrinder文件

二、安装Ngrinder-agent代理
ngrinder-agent 是 ngrinder 进行性能测试运行脚本的,所以不能安装在被测试服务器上。
登录 ngrinder-Controller的web管理台,在用户名下,点击"下载代理"

注意:
(1)下载时我们会看到,包文件后面自动跟上的IP地址,这个IP地址和controller的IP地址是同一个;
(2)我们可以把下载下来的代理包上传到和controller同一台机器上。解压agent的包,进入解压后的文件夹
ngrinder-agent的安装步骤:
(1) Controller的web管理台下载agent的包
> 用户名下面>下载代理
> 下载的包名称中,带有Controller的ip地址
> 已经自动修改了agent的配置文件中的Controller的ip
(2) agent是不能安装的被测服务器上
(3) 可以和Controller在同一台机器
(4) 解压:tar -xcvf ngrinder-agent-3.5.5-


执行run_agent_internal.sh文件,会把__agent.conf 配置文件,移动到NGRINDER_AGENT_HOME
在用户的根路径下有一个.ngringder_agent文件夹


(5) Agent.conf配置文件
agent.controller_host= controller的ip
agent.controller_port=16001 内部端口

(6) Controller的web管理用户名下面-->代理管理


三、创建脚本
> 点击顶部菜单--->脚本
创建脚本--->选择脚本名称--->被测URL地址--->看接口文档--->显示高级配置--->保存、关闭







1、创建性能测试:




2、用ngrinder生成脚本进行性能测试--->jython+负载场景性能测试


3、创建负载测试:想要进行负载测试,需要勾选 Ramp-Up可用 复选框,然后才能进行负载场景配置


扩展知识:
# Ⅰ、8080端口可能备用,可以指定其他端口
java -XX:MaxPermSize=200m -jar ngrinder-controller-xx.war --port 指定端口号 # Ⅱ、想要后台运行
nohup java -XX:MaxPermSize=200m -jar ngrinder-controller-xx.war --port 指定端口号 & # Ⅲ、想要用docker方式部署
$ docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller --name controller -p 80:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller $ docker pull ngrinder/agent
docker run -d --name agent --link controller:controller ngrinder/agent
想要知道更多关于 ngrinder 的技能 关注下一篇文章
Ngrinder 制作脚本-(二)的更多相关文章
- 使用bison和yacc制作脚本语言(1)
使用bison和yacc制作脚本语言(1) 环境: 环境 windows 10 Cygwin64 语言 C 工具 mingw bison flex 主要是使用bison和flex这两个软件,编译器无所 ...
- 使用Python的selenium库制作脚本,支持后台运行
本文介绍如何使用Python的selenium库制作脚本.概念: Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome.Firefox.Safari等主流界面 ...
- Unity3D热更新全书-脚本(二) 两级分化
上篇明确了我们探讨的脚本是什么:是写在文本文件里面的代码,可以作为资源加载,取得字符串再执行. 可是为什么世界上会有那么多的脚本?而其使用方法完全看起来不一样呢?这是因为每种脚本都有自己的定位,在不同 ...
- shell脚本二
在shell脚本一 中,我讨论了shell脚本的语法规范,shell脚本的变量,以及shell脚本的测试语句. 仅仅懂得这些只能写简单的脚本,在简单的脚本中各条语句按顺序执行,从而实现自动化的管理,顺 ...
- Unity3D--学习太空射击游戏制作(二)
步骤三:创建主角 游戏的主角是一艘太空飞船,我们将使用一个飞船模型作为游戏的主角,并赋予他一个脚本,控制他的运动,游戏体的组件必须依赖于脚本才能运行. 01:在Project窗口找到Player.fb ...
- 手机端仿ios的1-n级联动脚本二
一,图片 二,代码 2.1,html脚本 var weekdayArr=['周日','周一','周二','周三','周四','周五','周六'];var timeArr = ['08:30','09: ...
- appium-desktop录制脚本二次开发,生成我司自动化脚本
目的 通过对appium-desktop脚本录制功能进行二次开发,使录制的java脚本符合我司自动化框架要求. 实现步骤 1.增加元素名称的输入框 由于ATK(我司自动化测试框架)脚本中元素是以“ap ...
- django项目中使用项目环境制作脚本 通过终端命令运行脚本文件
在实际的django项目开发中,有时候需要制作一些脚本文件对项目数据进行处理,然后通过终端命令运行脚本. 完整的实现流程如下: 1.在一个应用目录下(app, 必须是在应用目录下,可以专门创建一个应用 ...
- 使用bison和yacc制作脚本语言(2)
我们先来想一下语法 一般脚本语言不需要定义类型直接在赋值的时候确定 我们主要考虑一下变量的类型 a = 1; b = 1.1; c = "str"; 一般来讲,我们使用这三种类型, ...
- Android测试提升效率批处理脚本(二)
前言: 前面放出过一次批处理,本次再放出一些比较有用的批处理(获得当前包名.查看APP签名信息等),好长时没来写博客了,简单化,请看正文,更多脚本尽请期待~~~(不定期) 目录 1.[手机录屏(安卓4 ...
随机推荐
- Linux磁盘与文件系统
Linux磁盘与文件系统 我们使用过windows,相信大家对磁盘的概念都有所了解,像c盘d盘e盘,对吧,磁盘的作用是什么呢,作为整个系统的载体,磁盘承担了对系统中所有数据和文件存储的任务,并且可以保 ...
- linux查看java堆栈信息_linux进程堆栈大小
1.查看JAVA进程JVM参数 jinfo -flags pid(进程号) -XX:CICompilerCount=2 最大的并行编译数 -XX:InitialHeapSize=16777216 JV ...
- Kubernetes 安装网络插件(calico)
简介 Calico是Kubernetes生态系统中另一种流行的网络选择.虽然Flannel被公认为是最简单的选择,但Calico以其性能.灵活性而闻名.Calico的功能更为全面,不仅提供主机和pod ...
- Vue2.0 双向绑定的原理与缺陷?
原理 Object.defineProperty.getter.setter 标准回答 Vue响应式指的是:组件的data发生变化,立刻触发试图的更新 原理:Vue采用数据劫持结合发布者-订阅者模式的 ...
- Dilworth
Dilworth 定理 偏序集能划分成的最少的全序集个数等于最大反链的大小. 名词解释 偏序 在集合 \(S\) 中定义的二元关系 \(\le\),如果它满足以下三个性质: 自反性:\(\forall ...
- iOS 导航栏消失
iOS15 导航栏在静止时,设置的图片会透明,以及消失. 解决如下 if (@available(iOS 13.0, *)) { UINavigationBarAppearance *appearan ...
- VM虚拟机15安装Kali Linux2020版详细教程
下载kali镜像 kali Linux官网地址https://www.kali.org/downloads/下载相对应的电脑版本 打开Vmware虚拟机 安装虚拟机看物理机配置,尽量不要太折腾电脑(虚 ...
- KingbaseES V8R3集群运维案例之---kingbase_monitor.sh启动”two master“案例
案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...
- rxswift自定义扩展UI组件
扩展UI组件时常用到的一些发布者与订阅者如下: 发布者: ControlEvent(专门用于描述 UI 控件所产生的事件) 订阅者(观察者): Binder(专门用于绑定UI状态的,如:当某个状态改变 ...
- SQL Server修改表的时候出现错误:未更新任何行,未删除任何行
无论点击什么,一直报错:未更新任何行,未删除任何行,就差点砸电脑啦. 参考这个大神才解决的问题: https://blog.csdn.net/weixin_44690047/article/detai ...