Docker部署nGrinder性能测试平台过程解析

 更新时间:2020年11月25日 09:40:34   作者:-零  
这篇文章主要介绍了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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • dockerfile部署前端vue打包的ist文件实战

    dockerfile部署前端vue打包的ist文件实战

    这篇文章主要为大家介绍了dockerfile部署前端vue打包的ist文件实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 在Docker中安装Oracle数据库超详细步骤

    在Docker中安装Oracle数据库超详细步骤

    oracle作为全球最强大的关系型数据库,应用在各行各业,下面这篇文章主要给大家介绍了关于在Docker中安装Oracle数据库的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Navicat 连接服务器端中的docker数据库的方法

    Navicat 连接服务器端中的docker数据库的方法

    这篇文章主要介绍了Navicat 连接服务器端中的docker数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 详解docker-compose安装minio

    详解docker-compose安装minio

    这篇文章主要介绍了docker-compose安装minio的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Docker 网络模式(四种)详细介绍

    Docker 网络模式(四种)详细介绍

    这篇文章主要介绍了Docker 网络模式详细介绍的相关资料,这里提供了四种网络模式的介绍,Docker 作为轻量级容器技术,很多比较不错的功能,网络不是多好,这里就整理下,需要的朋友可以参考下
    2016-11-11
  • 使用远程Docker进行集成测试的环境搭建过程

    使用远程Docker进行集成测试的环境搭建过程

    使用docker可以帮助我们快速的搭建项目依赖环境,但是本地化的docker依赖,依然让我们的代码在测试时,不够纯粹,对其各个运行环境,都有本地docker安装的要求
    2021-07-07
  • Docker构建python Flask+ nginx+uwsgi容器

    Docker构建python Flask+ nginx+uwsgi容器

    这篇文章主要介绍了Docker构建python Flask+ nginx+uwsgi容器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • docker引起服务器磁盘爆满的问题解决

    docker引起服务器磁盘爆满的问题解决

    本文主要介绍了docker引起服务器磁盘爆满的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • docker部署zabbix_agent的方法步骤

    docker部署zabbix_agent的方法步骤

    这篇文章主要介绍了docker部署zabbix_agent的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • docker中容器运行时如何将目录和宿主机进行挂载

    docker中容器运行时如何将目录和宿主机进行挂载

    对于一个已经运行的容器,如果后续需要新挂载一个目录怎么办?下面这篇文章主要给大家介绍了关于docker中容器运行时如何将目录和宿主机进行挂载的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05

最新评论