当前位置: 首页 > news >正文

OpenWrt | 使用 Docker 运行 iperf3

文章目录

  • 一、问题背景
  • 二、安装方法

一、问题背景

iperf3 是一套测试网络性能的工具,其可以测试出在两个 IP 之间最大的带宽速率。其官网地址如下:https://software.es.net/iperf/。其可以被安装在 OpenWrt 的系统上,用来测试设备到路由器间内网的最大速率,可以测试 lan 口网络和 wifi 的极限速率以及各种性能,对于调试路由器和分析网络问题时起到极大的帮助,也能推测出通信的性能瓶颈是出自哪里。

iperf3 已经被预置在了 OpenWrt 的官方包中,在编译时可以选择 Network > iperf3,即可在 OpenWrt 运行 iperf3

在这里插入图片描述
iperf3 可能会占用太多的磁盘空间,对于空间小的路由器来说,可能使用 iperf3 会对空间造成压力。因此本文将介绍在 Docker 中运行 iperf3,实现快速复用和减少系统的占用。

不过使用 docker 运行 iperf3 会造成或多或少的内存损耗,对测试结果带来一定的不准确。如果

Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。可以实现快速部署大量的应用程序。

参考 OpenWrt 的 [OpenWrt as Docker container host[(https://openwrt.org/docs/guide-user/virtualization/docker_host) 官方教程,只要安装了 luci-app-dockerman luci包,即可在 OpenWrt 上运行 docker
在这里插入图片描述
luci-app-dockerman 包的位置位于:LuCI > 3. Applications > luci-app-dockerman,勾选编译即可。
在这里插入图片描述

由于 Docker 空间占用相对较大,因此需要提前挂载 USB 磁盘才能较好的体验 Docker,参考 OpenWrt 搭建 Samba 服务器的方法:https://openwrt.org/docs/guide-user/services/nas/cifs.server

二、安装方法

本文将使用 networkstatic/iperf3 镜像进行安装:https://hub.docker.com/r/networkstatic/iperf3

首先在 luci 管理界面,Docker > 镜像 > 拉取镜像,输入 networkstatic/iperf3,点击拉取,即可将 networkstatic/iperf3 镜像拉取到本地。

如果因为下载包较大导致下载镜像超时,可以用命令进行安装

docker pull networkstatic/iperf3

随后在 luci 管理界面,Docker > 新增,打开 新增 容器的界面
在这里插入图片描述
为了便于输入,可以使用命令行输入命令的方式,添加容器,参考官方的 Cli

docker run -it --rm --name=iperf3-server --net=host networkstatic/iperf3 -s

这里与官方介绍不一样的地方在于,我们使用了 host 的网络模式,而不是 bridge。因为使用 host 的网络模式可以消除网络隔离,容器与主机共享网络命名空间,此时会带来性能提升,对于 iperf3 性能测试工具来说,使用此模式才能真实反映出性能数据。

最后的 -s 传递的是 iperf3 的命令参数,可以依据官方文档传递相关参数,配置 iperf3 。此处仅传递 -s 表示启动服务端,其默认会占用 5201 端口,等待客户端连接并测试网络性能。

为了便于复用,可以编写 docker-composeyaml 文件,方便在多个设备进行部署:

---
services:iperf3-server:image: networkstatic/iperf3:latestcontainer_name: iperf3-serverhostname: iperf3-serverrestart: unless-stoppednetwork_mode: hostcommand: -s

保存在路由器合适的位置之后,在 OpenWrt 的终端运行如下命令:

docker-compose -f .yml文件 up -d

在添加完成之后,此时点击容器的运行,即可启动 iperf3 服务端。在终端设备中,输入 iperf -c 路由器IP 即可开始测试性能数据。
在这里插入图片描述

http://www.lqws.cn/news/581527.html

相关文章:

  • 2 大语言模型基础-2.2 生成式预训练语言模型GPT-2.2.2 有监督下游任务微调-Instruct-GPT强化学习奖励模型的结构改造与维度转换解析
  • AI行业深度观察:从资本竞逐到技术突破的全面解析
  • 38.docker启动python解释器,pycharm通过SSH服务直连
  • 物联网基础
  • 【Mars3d】支持的basemaps数组与layers数组的坐标系列举
  • 电脑开机加速工具,优化启动项管理
  • 感受新复古主义独特魅力,新大洲本田NS150LA上市
  • Docker从部署到实战
  • ADB 安装 APK 及处理安装弹窗的方法
  • 人工智能基石:SVM支持向量机全解析(附Python实战)
  • SpringBoot+ShardingSphere-分库分表教程(二)
  • 如何防止恶意软件感染服务器:防病毒与EDR方案
  • creo 2.0学习笔记
  • 云上攻防—Docker安全容器逃逸特权模式危险挂载
  • DORIS数据备份(HDFS)
  • 对称非对称加密,https和http,https通讯原理,Charles抓包原理
  • 非常详细版: dd.device.geolocation 钉钉微应用获取定位,移动端 PC端都操作,Vue实现钉钉微应用获取精准定位并渲染在地图组件上
  • GeoTools 结合 OpenLayers 实现属性查询(二)
  • Python UI自动化演进格局:从传统库到AI驱动的智能代理
  • (4)pytest-fixture
  • 04_MySQL 通过 Docker 在同一个服务器上搭建主从集群(一主一从)
  • MetaGPT: 多智能体框架(还没装好...)
  • 大数据系统架构实践(三):Hbase集群部署
  • 机器学习06 集成学习
  • R1-Searcher使用强化学习增强语言模型解决问题的搜索能力
  • 手机屏暗点缺陷修复及相关液晶线路激光修复原理
  • 超大js文件多层级引用缓存在网络较差的时候无法调用使用问题
  • 设计模式-单例模式
  • FPGA矩阵算法实现
  • PHP安装使用教程