docker 部署参数配置(Docker部署nGrinder性能测试平台过程解析)
docker 部署参数配置
Docker部署nGrinder性能测试平台过程解析什么是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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- shell监控docker各种状态(如何监控docker容器运行状态 shell 脚本)
- docker容器映射到宿主机器(在宿主机上执行docker容器内部的shell或程序方式)
- docker中如何使用nginx(docker nginx实现一个主机部署多个站点操作)
- docker只有localhost可用(浅谈Docker如何自定义host文件)
- docker容器启动后怎么进入(Docker 退出container后保持继续运行的操作)
- docker部署tomcat(Docker安装Tomcat、MySQL和Redis的步骤详解)
- docker 查看当前镜像(Docker 查看镜像信息的方法)
- docker 各种用法(详解Docker commit的使用)
- docker容器分配(Docker容器数据卷原理及使用方法解析)
- dockernextcloud优化(docker+nextcloud搭建个人云存储系统的实现)
- 部署docker需要什么配置(解决Docker必须使用sudo操作的问题)
- docker最新服务条款(解决Mac Docker x509证书的问题)
- docker安装openoffice镜像(docker安装部署 onlyoffice的详细过程)
- centos6.8安装docker(Linux Centos下使用脚本安装Docker的方法)
- docker容器内部怎么查看id(docker容器中无法获取宿主机hostname的解决方案)
- docker如何搭建gitlab(docker+gitlab+gitlab-runner部署详解)
- 涉及3条地铁线路 成都这4座轨道交通站点有新名字了(涉及3条地铁线路)
- 来了 成都轨道交通5条线路刷新 进度条(成都轨道交通5条线路刷新)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
- OPPO用户看过来 汇总几个春节实用技巧,轻松搞定多设备联动玩法(汇总几个春节实用技巧)
- 北京旅游攻略(北京旅游攻略5日游及其花费)
- 四川旅游攻略(四川旅游攻略自由行攻略)
热门推荐
- django开发平台运用的技术(django的ORM模型的实现原理)
- 如何查看sql语句执行时间
- mybatissql解析(mybatis动态sql常用场景总结)
- pythonai识别算法(Python3调用百度AI识别图片中的文字功能示例测试可用)
- css3中过渡动画的属性(css3 中实现炫酷的loading效果)
- 聊天室python小程序(用Python写一个模拟qq聊天小程序的代码实例)
- laravel授权怎么用(laravel 使用auth编写登录的方法)
- mysql大量数据怎么处理(MySQL删除和插入数据很慢的问题解决)
- Laravel 中创建 Zip 压缩文件并提供下载的实现方法(Laravel 中创建 Zip 压缩文件并提供下载的实现方法)
- HTTP请求中浏览器缓存
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9