Docker部署nGrinder性能测试平台过程解析
作者:-零 发布时间:2021-02-15 15:52:24
什么是nGrinder?
nGrinder是用于压力测试的平台,使您可以同时执行脚本创建,测试执行,监视和结果报告生成器。开源nGrinder通过消除不便并提供集成环境,提供了进行压力测试的简便方法。它是根据Apache许可版本2.0许可的,是基于Grinder的开源的web性能测试平台,由韩国最大互联网公司NHN公司的开发团队进行了重新设计和完善。
http://naver.github.io/ngrinder/
nGrinder由三个组件组成
controller:一个Web应用程序,使性能测试人员可以创建测试脚本并配置测试相关参数,自动分发测试脚本到agent。
agent:在代理服务器上加载运行测试进程和线程,建议不要部署在被测试的服务器上。
Monitor:用于监控被测服务器的系统性能(例如:CPU/MEMORY),必须部署在被测试服务器上。
nGrinder架构
工作原理
由一个控制端controller和多个代理端agent组成,通过控制端(浏览器访问)建立测试场景,然后分发到代理端进行压力测试。
用户按照一定规范编写测试脚本,controller会将脚本以及需要的资源分发到agent,用jython执行。
在脚本执行的过程中收集运行情况、相应时间、测试目标服务器的运行情况等。并且保存这些数据生成测试报告,通过动态图和数据表的形式展示出来。用户可以方便的看到TPS、被测服务器的CPU和内存等情况。
部署方式
1、单Controller多agent
2、多Controller和多agent
Docker上运行nGrinder
运行controller
docker pull ngrinder/controller
docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller --name controller -p 80:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller
控制器在/ opt / ngrinder-controller下创建一个数据文件夹,以维护测试历史记录和配置数据。为了持久地保留数据,您应该将容器上的文件夹/ opt / ngrinder-controller映射到主机上的文件夹。
端口信息:
80:默认控制器Web UI端口。
9010-9019:代理通过这些端口连接到控制器集群。
12000-12029:控制器通过这些端口分配压力测试。
运行agent
docker pull ngrinder/agent
docker run -d --name agent --link controller:controller ngrinder/agent
docker-compose快速部署
使用docker-compose服务编排装一个Controller和两个agent:
编写yml
vim docker-compose.yml
ngrinder-controller-1:
image: ngrinder/controller
container_name: ngrinder-controller-1
hostname: ngrinder-controller-1
ports:
- 8087:80
- 16001:16001
- 12000-12009:12000-12009
volumes:
- /data/ngrinder/controller-1:/opt/ngrinder-controller
ngrinder-agent-1:
image: ngrinder/agent
container_name: ngrinder-agent-1
hostname: ngrinder-agent-1
volumes:
- /data/ngrinder/agent-1:/opt/ngrinder-agent
command:
- 10.255.254.25:8087
ngrinder-agent-2:
image: ngrinder/agent
container_name: ngrinder-agent-2
hostname: ngrinder-agent-2
volumes:
- /data/ngrinder/agent-2:/opt/ngrinder-agent
command:
- 10.255.254.25:8087
启动
docker-compose -f docker-compose.yml -d up
来源:https://www.cnblogs.com/-wenli/p/14017188.html


猜你喜欢
- 应部分GoDaddy用户要求,整理了解决GoDaddyLinux空间Java和Jsp常见的一些问题及解答,希望可以给GoDaddy用户带来更
- 启用并配置文件服务Windows Server 2003的管理工具中有一项功能叫做“管理您的服务器”,启动该工具之后,可以看到当前服务器上启
- WordPress是使用PHP语言和MySQL数据库开发的一个极为流行的Blog(博客、网志)系统,功能非常强大,插件和模板众多,易于扩充功
- 有很多发布商给我们来信询问当月会不会向他付款。我们知道我们的付款流程比较复杂,很多发布商还不太了解。所以今天我们就对我们的付款流程做一个直观
- Linux使用 iftop 实时监控网卡的流量,,具体内容如下所示:iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示
- 前言最近在笔记本装了一个centos,想要让别人也可以登录访问,用自己的账号确实不太好,于是准备新建一个用户给他。发现网站这方便的资料比较少
- 据悉,随着两岸“大三通”的逐步深化,除了大陆地区大力加强两岸交流之外,台湾经济部门也于2008年12
- 其实万物想通,并不因为我们是做IT的,玩的是互联网,我们就不需要从基础层面考虑营销问题。互联网发展到今天,一切逐渐回归到理性,大家都开始揭开
- 1,下载 VMware Workstation 14 Pro官网:https://www.vmware.com/cn.html需要注册一下才
- 每个站长的背后都有一个故事,现在我就来讲述我自己的故事。 做起建站,我觉得女生搞网络要比
- 既然是公网FTP服务器,就难免会遭遇一些恶意攻击,轻则丢失文件,重则造成FTP服务器甚至整个系统崩溃。怎样才能最大限度地保证它的安全性呢?一
- 什么样的站点会受到百度欢迎?站点应该是面向用户的,而不是面向搜索引擎的。一个受到用户欢迎的站点,最终也会受到搜索引擎欢迎;反过来,如果您的站
- VMware Server提供了一个免费的并且比较容易进入的服务器虚拟化方法,不过部署它的几个方面——尤其是配置,可能很棘手。即使
- 1。首先下载安装vmware 12 pro ,将VT打开(虚拟功能,以前安装过虚拟机点的同学可忽略)。2。下载mac ox 10.12正式版
- IPSec简介IPSec(Internet Protocol Security):是一组基于网络层的,应用密码学的安全通信协议族。IPSec
- 技巧一:挂聊天室挂聊天室的方法已经不是什么新鲜的了,但是真正掌握关键技术的还是少数人,这点就非常符合市场规则。什么是关键?永远都是细节。网络
- 很多电影网站,论坛或其它机构为了方便会员或成员上传电影或者交流文件,都允许用户的上传权限,因为只有允许这个权限,用户才可以上传文件,但这个权
- Nginx发音为“ engine x”,是一种开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。它可用作H
- 1. 首页在哪里?你要确保在博客页面的顶部位置有一个明显的“首页”链接。2. 将你的logo链向你的
- 一个论坛社区如果要发展壮大,一个必要条件就是要有人气,形成自己独特的、有别于其他社区的特色或者文化,并有对新人产生潜移默化的影响。Discu