【DockerCE】使用Docker安装运行性能测试工具-RunnerGo

这篇具有很好参考价值的文章主要介绍了【DockerCE】使用Docker安装运行性能测试工具-RunnerGo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装环境

CentOS-7.9 / Docker-CE-23.0.1 / Docker-compose-2.17.2

二、资源配置

4核8G(官方建议8核16GB)

三、安装运行

从Github下载安装所需的文件包(版本1.0.3),这里选择的是tar.gz包

【DockerCE】使用Docker安装运行性能测试工具-RunnerGo

 将压缩包里面的runnergo目录上传到本地虚拟机/data目录下,目录结构如下所示:

# tree -L 2
.
├── config.env
├── mongo
│   └── init-mongo.sh
├── mysql
│   ├── mysql.cnf
│   └── mysql.sql
└── runnergo.yaml

2 directories, 5 files

备注:runnergo.yaml是我这边重命名后的,压缩包里面的源文件名为docker-compose.yaml

核心配置文件-config.env,官方文档说一般无需修改,但是里面涉及到的密码存在弱密码,在生产环境运行,这个配置肯定是要修改的。

下面是我本地修改 config.env 的配置:

# 数据库root 密码
MYSQL_ROOT_PASSWORD=3******M

# runnergo 使用的数据库名
MYSQL_DATABASE=runnergo

# redis 初始话
REDIS_PASSWD=3******M

# Mongo 数据管理员的用户名
MONGO_INITDB_ROOT_USERNAME=root

# Mongo 数据库管理员的账号
MONGO_INITDB_ROOT_PASSWORD=3******M

# runnergo  Mongo使用的数据库名
MONGO_INITDB_DATABASE=runnergo

# runnergo Mongo库的用户名
MONGO_INITDB_USERNAME=runnergo

# runnergo Mongo库的密码
MONGO_INITDB_PASSWORD=3******M

# 最大并发数
MAX_RUNNER_CONCURRENCY=1000

# 上传文件端口号(非必要不要改,这是容器里的)
FILE_SERVER_PORT=80

# Runnergo 应用mongo 配置
RG_MONGO_DSN=mongodb://runnergo:3******M@mongo-db:27017/runnergo
RG_MONGO_DATABASE=runnergo
RG_REDIS_ADDRESS=redis-db:6379
RG_REDIS_PASSWORD=3******M
RG_REDIS_DB=0

# kafka Topic
RG_KAFKA_TOPIC=report
RG_KAFKA_ADDRESS=kafka:9092
RG_KAFKA_PORT=9092

# kafka 分区数,(同时并行跑多少任务)
RG_KAFKA_NUM=2

# engine 日志路径
RG_ENGINE_LOG_PATH=/dev/stdout

# collector 日志路径
RG_COLLECTOR_LOG_PATH=/dev/stdout

# 内部互通参数(不要更改)
RG_MANAGEMENT_NOTIFY_STOP_STRESS=http://manage:30000/management/api/v1/plan/notify_stop_stress
RG_MANAGEMENT_NOTIFY_RUN_FINISH=http://manage:30000/management/api/v1/auto_plan/notify_run_finish
RG_DOMAIN=
RG_MYSQL_HOST=mysql-db
RG_MYSQL_USERNAME=root
RG_MYSQL_PASSWORD=3******M
RG_MYSQL_DBNAME=runnergo

# JWT
RG_JWT_ISSUER=asfdasfasdfasfd
RG_JWT_SECRET=sdfaswerwrwerwerwer

# MONG
RG_MONGO_PASSWORD=3******M

#  内部互通参数(不要更改)
RG_CLIENTS_ENGINE_RUN_API=http://engine:30000/runner/run_api
RG_CLIENTS_ENGINE_RUN_SCENE=http://engine:30000/runner/run_scene
RG_CLIENTS_ENGINE_STOP_SCENE=http://engine:30000/runner/stop_scene
RG_CLIENTS_ENGINE_RUN_PLAN=http://engine:30000/runner/run_plan
RG_CLIENTS_ENGINE_STOP_PLAN=http://engine:30000/runner/stop
RG_REDIS_REPORT_ADDRESS=redis-db:6379

# #初始化压力机可使用分区
RG_CAN_USE_PARTITION_TOTAL_NUM=2

## KAFKA 配置
KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181/kafka
KAFKA_LISTENERS=PLAINTEXT://:9092
KAFKA_BROKER_ID=0
KAFKA_CREATE_TOPICS=report:2:1

runnergo.yaml(注意redis-server启动密码的修改)

version: "3"
services:
  mysql-db:
    image: registry.cn-beijing.aliyuncs.com/runnergo/mysql:5.7.40.v1
    env_file:
      - ./config.env
    volumes:
      - ./mysql/mysql.sql:/docker-entrypoint-initdb.d/mysql.sql:ro
      - ./mysql/data:/var/lib/mysql
    restart: always
    networks:
      - apipost_net
  redis-db:
    image: registry.cn-beijing.aliyuncs.com/runnergo/redis:6.2.7
    volumes:
      - ./redis/data:/data
    command:  redis-server --requirepass 3******M
    restart: always
    networks:
      - apipost_net
  mongo-db:
    image: registry.cn-beijing.aliyuncs.com/runnergo/mongo:4.4
    env_file:
      - ./config.env
    volumes:
      - ./mongo/data:/data/db
      - ./mongo/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh
    restart: always
    networks:
      - apipost_net
  manage:
    image: registry.cn-beijing.aliyuncs.com/runnergo/manage:releases-v1.0.4
    restart: always
    env_file:
      - ./config.env
    networks:
      - apipost_net
    ports:
      - "58889:30000"
    depends_on:
      - mysql-db
  web-ui:
    image: registry.cn-beijing.aliyuncs.com/runnergo/web-ui:releases-v1.0.5
    restart: always
    ports:
      - "9999:81"
      - "58888:82"
    networks:
      - apipost_net
  engine:
    image: registry.cn-beijing.aliyuncs.com/runnergo/engine:releases-v1.0.3
    restart: always
    env_file:
      - ./config.env
    networks:
      - apipost_net
  file-server:
    image: registry.cn-beijing.aliyuncs.com/runnergo/file-server:v2.2
    restart: always
    env_file:
      - ./config.env
    volumes:
      - ./file-server/data:/app/file-server/file
    networks:
      - apipost_net
  zookeeper:
      image: registry.cn-beijing.aliyuncs.com/runnergo/zookeeper:latest 
      restart: always
      networks:
        - apipost_net
  kafka:
    image: registry.cn-beijing.aliyuncs.com/runnergo/kafka:2.13-3.2.1 
    restart: always
    depends_on:
        - zookeeper
    env_file:
        - ./config.env
    networks:
      - apipost_net
  collector:
      image: registry.cn-beijing.aliyuncs.com/runnergo/collector:master
      restart: always
      env_file:
        - ./config.env
      networks:
        - apipost_net
      depends_on:
        - kafka
networks:
  apipost_net:
    driver: bridge

启动runnergo

# cd runnergo
# docker-compose -f runnergo.yaml up -d
[+] Running 11/11
 ✔ Network runnergo_apipost_net      Created                                                                                                                                         0.1s 
 ✔ Container runnergo-file-server-1  Started                                                                                                                                         1.9s 
 ✔ Container runnergo-zookeeper-1    Started                                                                                                                                         1.9s 
 ✔ Container runnergo-redis-db-1     Started                                                                                                                                         1.6s 
 ✔ Container runnergo-mongo-db-1     Started                                                                                                                                         1.8s 
 ✔ Container runnergo-mysql-db-1     Started                                                                                                                                         1.8s 
 ✔ Container runnergo-web-ui-1       Started                                                                                                                                         2.1s 
 ✔ Container runnergo-engine-1       Started                                                                                                                                         1.3s 
 ✔ Container runnergo-manage-1       Started                                                                                                                                         2.3s 
 ✔ Container runnergo-kafka-1        Started                                                                                                                                         2.5s 
 ✔ Container runnergo-collector-1    Started 

# docker-compose -f runnergo.yaml ps
NAME                     IMAGE                                                              COMMAND                  SERVICE             CREATED             STATUS              PORTS
runnergo-collector-1     registry.cn-beijing.aliyuncs.com/runnergo/collector:master         "/data/collector/col…"   collector           31 seconds ago      Up 27 seconds       
runnergo-engine-1        registry.cn-beijing.aliyuncs.com/runnergo/engine:releases-v1.0.3   "/data/engine/engine…"   engine              31 seconds ago      Up 28 seconds       
runnergo-file-server-1   registry.cn-beijing.aliyuncs.com/runnergo/file-server:v2.2         "docker-entrypoint.s…"   file-server         31 seconds ago      Up 29 seconds       
runnergo-kafka-1         registry.cn-beijing.aliyuncs.com/runnergo/kafka:2.13-3.2.1         "start-kafka.sh"         kafka               31 seconds ago      Up 28 seconds       
runnergo-manage-1        registry.cn-beijing.aliyuncs.com/runnergo/manage:releases-v1.0.3   "/data/manage/manage…"   manage              31 seconds ago      Up 27 seconds       0.0.0.0:58889->30000/tcp, :::58889->30000/tcp
runnergo-mongo-db-1      registry.cn-beijing.aliyuncs.com/runnergo/mongo:4.4                "docker-entrypoint.s…"   mongo-db            31 seconds ago      Up 29 seconds       27017/tcp
runnergo-mysql-db-1      registry.cn-beijing.aliyuncs.com/runnergo/mysql:5.7.40.v1          "docker-entrypoint.s…"   mysql-db            31 seconds ago      Up 29 seconds       3306/tcp, 33060/tcp
runnergo-redis-db-1      registry.cn-beijing.aliyuncs.com/runnergo/redis:6.2.7              "docker-entrypoint.s…"   redis-db            31 seconds ago      Up 29 seconds       6379/tcp
runnergo-web-ui-1        registry.cn-beijing.aliyuncs.com/runnergo/web-ui:releases-v1.0.5   "/bin/entrypoint.sh …"   web-ui              31 seconds ago      Up 28 seconds       80/tcp, 0.0.0.0:9999->81/tcp, :::9999->81/tcp, 0.0.0.0:58888->82/tcp, :::58888->82/tcp
runnergo-zookeeper-1     registry.cn-beijing.aliyuncs.com/runnergo/zookeeper:latest         "/bin/sh -c '/usr/sb…"   zookeeper           31 seconds ago      Up 29 seconds       22/tcp, 2181/tcp, 2888/tcp, 3888/tcp

这个工具的部分组件很耗CPU

top - 09:34:54 up 36 min,  1 user,  load average: 2.88, 1.47, 1.62
Tasks: 184 total,   2 running, 181 sleeping,   0 stopped,   1 zombie
%Cpu(s): 42.2 us,  8.5 sy,  0.0 ni, 40.5 id,  0.0 wa,  0.0 hi,  8.8 si,  0.0 st
KiB Mem :  8154932 total,  4989536 free,  2124808 used,  1040588 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used.  5773104 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                             
  5871 root      20   0 1310548  14176   5304 S 115.6  0.2   0:34.18 collector                                                                                                           
  5957 root      20   0 1935544 664364  11560 R 100.3  8.1   1:42.42 manage                                                                                                              
  4713 polkitd   20   0 1722784 208744   9872 S  85.7  2.6   1:35.88 mysqld                                                                                                              
  5445 root      20   0 4760496 358064  19576 S  19.6  4.4   0:12.71 java                                                                                                                
     9 root      20   0       0      0      0 S  10.3  0.0   1:09.08 rcu_sched                                                                                                           
   434 root      20   0       0      0      0 S   6.0  0.0   0:22.82 xfsaild/dm-0                                                                                                        
  4873 polkitd   20   0 1521764  89352  19104 S   6.0  1.1   0:03.57 mongod                                                                                                              
   735 root      20   0  273196   4892   3732 S   5.6  0.1   0:45.31 vmtoolsd                                                                                                            
  1411 root      20   0 1051588  45376  14688 S   4.3  0.6   0:42.49 containerd                                                                                                          
  4665 polkitd   20   0   52884  11616   2964 S   3.3  0.1   0:01.37 redis-server                                                                                                        
  1060 root      20   0  222740   7364   3872 S   3.0  0.1   0:05.24 rsyslogd                                                                                                            
  1427 root      20   0 1776960  76976  24448 S   2.7  0.9   0:42.81 dockerd                                                                                                             
  5246 root      20   0 3752456  93412  11644 S   2.3  1.1   0:01.92 java                  

四、界面展示

在登录页面注册个用户,然后直接登录即可。

【DockerCE】使用Docker安装运行性能测试工具-RunnerGo

五、组件及其开放端口

【DockerCE】使用Docker安装运行性能测试工具-RunnerGo

启动脚本分享

# run.sh

PS3='Please enter your choice: '
options=("START" "STOP" "STOP-and-REMOVE-CONTAINERS" "RESTART" "Quit")
select opt in "${options[@]}"
do
    case $opt in
        "START")
            echo "-----------Start runnergo containers-----------"
            docker-compose -f ./runnergo.yaml up -d
            break
            ;;
        "STOP")
            echo "-----------Stop runnergo containers-----------"
            docker-compose -f ./runnergo.yaml stop
            break
            ;;
        "STOP-and-REMOVE-CONTAINERS")
            echo "-----------Stop and remove runnergo containers-----------"
            docker-compose -f ./runnergo.yaml down
            break
            ;;
        "RESTART")
            echo "-----------Restart runnergo containers-----------"
            docker-compose -f ./runnergo.yaml restart
            break
            ;;
        "Quit")
            echo "-----------Quit!-----------"
            break
            ;;
        *) echo invalid option;;
    esac
done

参考:

https://www.runnergo.com/

https://github.com/Runner-Go-Team/RunnerGo/releases文章来源地址https://www.toymoban.com/news/detail-421883.html

到了这里,关于【DockerCE】使用Docker安装运行性能测试工具-RunnerGo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【性能测试】性能数据采集工具nmon安装使用及报告参数含义详解

    目录 nmon nmon下载 解压安装 启动 数据采集配置 生成图形结果 nmon报告中的参数含义  资料获取方法 nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产

    2024年02月13日
    浏览(53)
  • 性能测试工具 Locust + Boomer In Docker

    目录 前言: 背景 启动 Locust-master Boomer 调试模式启动 boomer locust worker 模式启动 get 请求 post 请求 指定请求头 直接使用 curl 命令 动态读取 csv --json-value-type 说明 Locust 是一种开源的性能测试工具,可以帮助我们快速地进行网站、应用程序等的性能测试和压力测试。Boomer 是一种

    2024年02月15日
    浏览(44)
  • jmeter 性能测试工具的使用(Web性能测试)

    1、下载 该软件不用安装,直接解压打开即可使用。 2、使用 这里就在win下进行,图形界面较为方便 在目录apache-jmeter-2.13bin 下可以见到一个jmeter.bat文件,双击此文件,即看到JMeter控制面板。主界面如下: 3、创建线程组 测试计划--右键——》添加——》hreads——》线程组 设

    2024年02月10日
    浏览(65)
  • 1-Locust性能测试工具介绍与安装

    locust是一个开源的压测工具,其官网地址是Locust - A modern load testing framework,通过编写Python代码,可以轻松实现百万级的并发,相对于我们熟悉的Jmeter来说,其对压测机的要求更低,而且使用locust和Python协程可以在一个User中实现多个api同时请求,更真实地模拟用户在前端页面

    2024年02月15日
    浏览(43)
  • 记录自己安装文件系统性能测试工具——IOZone过程

    测试环境: 安装IOZone环境 源码编译安装 ​ 下载源码: ​ 解压编译: 添加环境变量(可选) 执行如下命令,查看IOZone版本 ​ 返回内容如下所示,表示安装已经完成: 运行 ​ 参数说明: 1)自动测试示例 ​ 返回结果: ​ 其中IOZone输出的第一组包含标题信息,其中显示有

    2024年01月19日
    浏览(49)
  • Linux环境安装iperf3(网络性能测试工具)

    iperf官网地址: iPerf - The TCP, UDP and SCTP network bandwidth measurement tool   iperf特性: 测量带宽 报告MSS/MTU大小和观察到的读数大小。 通过套接字缓冲区支持TCP窗口大小。 UDP 客户端可以创建指定带宽的UDP流。 测量数据包丢失 测量延迟抖动 支持多播 跨平台:Windows、Linux、Android、

    2024年02月03日
    浏览(42)
  • pgbench 性能测试工具的使用

    简介   pgbench是一种在PostgreSQL上运行基准测试的简单程序, 它是pg自带的工具;pgbench是一种在PostgreSQL上运行基准测试的简单程序。它可能在并发的数据库会话中一遍一遍地运行相同序列的 SQL 命令,并且计算平均事务率(每秒的事务数)。默认情况下,pgbench会测试一种基于

    2024年02月02日
    浏览(34)
  • 前端性能测试工具 LightHouse (灯塔)使用

    Lighthouse是什么? —— 一种工具 Lighthouse 是一个开源的自动化工具,用来测试页面性能。 为什么要用Lighthouse? —— 提升用户体验 Web性能可以直接影响业务指标,例如转化率和用户满意度 分析收集各种应用页面性能指标,并进行评估,以此我们可以根据评估结果进行针对性

    2024年04月12日
    浏览(42)
  • 性能测试工具Jmeter学习和使用

    摘要 : 在日常的开发中,软件测试人员能够对程序进行功能上的测试以确保用户的正常使用,但对于一个需要发布在服务器上供多用户同时使用的软件而言,还需要模拟多用户同时使用的场景,对站点进行性能测试。但安排100个人同时访问测试站点显然是不可行的,此时就

    2024年01月18日
    浏览(54)
  • 性能测试工具 ab(Apache Bench)使用详解

    Apache Bench (ab) 是一个由 Apache 提供的非常流行的、简单的性能测试工具,用于对 HTTP 服务器进行压力测试。下面是 ab 工具的一些基本使用方法。 安装 在大多数 Unix 系统中,ab 通常作为 Apache HTTP 服务器的一部分预装在系统中。你可以通过在终端中运行 ab -V 来检查 ab 的版本,

    2024年04月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包