speedtest:容器内网速测试

speedtest:容器内网速测试

speedtest Check internet bandwidth from a Docker container and save the results to an InfluxDB speedtest 项目地址: https://gitcode.com/gh_mirrors/speedtest/speedtest

项目介绍

speedtest 是一个基于 Docker 容器的网速测试工具,利用 Speedtest CLI 来检查互联网带宽。该项目允许用户配置工具以定期运行,并将测试结果存储到 InfluxDB 中,方便进行可视化展示或长期记录。

通过以下命令即可轻松运行 speedtest:

docker run --rm robinmanuelthiel/speedtest:latest

运行结果将显示您的下载速度、上传速度和ping值。

项目技术分析

speedtest 项目采用了 Docker 容器技术,这使得部署和运行测试变得极其简便。项目利用了 Speedtest CLI,这是一个由 Speedtest.net 提供的命令行工具,用于测量网络连接的速度。

项目配置通过环境变量实现,用户可以根据需要调整以下参数:

  • LOOP:是否循环运行 Speedtest。
  • LOOP_DELAY:循环运行时的延迟时间(秒)。
  • DB_SAVE:是否将结果保存到 InfluxDB。
  • DB_HOSTDB_NAMEDB_USERNAMEDB_PASSWORD:InfluxDB 的连接信息。
  • SPEEDTEST_SERVER_IDSPEEDTEST_HOSTNAME:指定 Speedtest 服务器。

这些环境变量的默认值使得项目开箱即用,但也可以根据具体需求进行调整。

项目及技术应用场景

speedtest 的主要应用场景包括:

  1. 自动化测试:在 CI/CD 流程中集成,自动检查部署环境的网络状况。
  2. 网络状态检查:周期性地运行测试,了解网络性能的变化。
  3. 数据分析:将测试结果存储到 InfluxDB,使用 Grafana 进行可视化分析。
  4. 性能优化:通过长期记录数据,分析网络瓶颈,进行性能优化。

项目特点

1. 易于部署

speedtest 使用 Docker 容器,这使得部署过程极为简单。用户不需要安装额外的软件,只需运行 Docker 命令即可开始测试。

2. 灵活配置

通过环境变量的方式,用户可以轻松配置项目的运行方式和数据存储位置。这使得项目能够适应多种不同的使用场景。

3. 可视化分析

结合 InfluxDB 和 Grafana,speedtest 能够提供强大的可视化功能。用户可以创建自定义仪表板,直观地查看网络性能数据。

4. 高度可扩展

项目支持循环测试和定时任务,可以轻松扩展为长期记录解决方案。

使用示例

以下是一个使用 Docker Compose 配置 speedtest 项目,并将其与 InfluxDB 和 Grafana 集成的示例:

version: "3"
services:
  grafana:
    image: grafana/grafana:7.5.2
    restart: always
    ports:
      - 3000:3000
    volumes:
      - grafana:/var/lib/grafana
    depends_on:
      - influxdb

  influxdb:
    image: influxdb:1.8.3
    restart: always
    volumes:
      - influxdb:/var/lib/influxdb
    ports:
      - 8083:8083
      - 8086:8086
    environment:
      - INFLUXDB_ADMIN_USER="admin"
      - INFLUXDB_ADMIN_PASSWORD="password"
      - INFLUXDB_DB="speedtest"

  speedtest:
    image: robinmanuelthiel/speedtest:latest
    restart: always
    environment:
      - LOOP=true
      - LOOP_DELAY=1800
      - DB_SAVE=true
      - DB_HOST=http://influxdb:8086
      - DB_NAME=speedtest
      - DB_USERNAME=admin
      - DB_PASSWORD=password
    privileged: true # Needed for 'sleep' in the loop
    depends_on:
      - influxdb

volumes:
  grafana:
  influxdb:

通过上述配置,用户可以轻松搭建一个完整的网络性能记录系统。

结语

speedtest 项目为容器化网速测试提供了一个高效、灵活的解决方案。通过易于部署的 Docker 容器,结合 InfluxDB 和 Grafana 的强大功能,用户可以轻松记录和分析网络性能,为网络优化提供数据支持。如果您需要一个简单且强大的网速测试工具,speedtest 可能是您的理想选择。

speedtest Check internet bandwidth from a Docker container and save the results to an InfluxDB speedtest 项目地址: https://gitcode.com/gh_mirrors/speedtest/speedtest

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孔岱怀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值