• 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架构

    clipboard.png

    工作原理

    • 由一个控制端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

  • 相关阅读:
    POJ 1201 Intervals 差分约束
    netframework2.0,asp.net2.0,vs.net 2005
    学习.net第一天
    VS.NET 2003 控件命名规范
    .Net生成共享程序集
    汉字的编码
    [转]用C#实现连接池
    SQL表自连接用法
    一道很好玩的OOP面试题,今天比较有空,所有做了一下
    C#编程规范(2008年4月新版)
  • 原文地址:https://www.cnblogs.com/-wenli/p/14017188.html
Copyright © 2020-2023  润新知