iperf_网络性能工具
文章目录用途发展使用手册常用参数问题及相关分析control socket has closed unexpectedly / select failed: Bad file descriptor问题描述定量模式 VS 定时模式用途测试网络吞吐量性能的工具。发展iperf2和iperf3是完全独立的两个工具二者不兼容。iperf2iperf3来源原始iperf基础上的开源社区维护版ESNET团队的重写版维护SourceForgeGitHub协议支持TCP、UCP支持TCP、UCP、SCTP3.1新增安装包名iperf包名iperf3使用手册iperf3官网: http://software.es.net/iperf/变更参考https://iperf.fr/iperf-doc.php常用参数通用: -p, --port # 服务端监听的端口/客户端连接的端口默认是5201 -f, --format [kmgKMG] 打印吞吐量单位Kbits, Mbits, KBytes, MBytes -i, --interval # 周期吞吐量、抖动、丢包报告的间隔时间默认是1s -F, --file name 客户端传输/服务端接收指定本地文件 -B, --bind host 绑定特定端口 -V, --verbose 更详细的输出 -J, --json 以JSON格式输出 --logfile f 将输出内容发送到日志文件 -d, --debug 输出调试信息 -v, --version 显示版本信息并退出 -h, --help 显示本信息帮助手册并退出 服务端: -s, --server 以服务端运行 -D, --daemon 将服务端作为守护进程运行 -I, --pidfile file 写PID文件 -1, --one-off 处理一个客户端连接然后退出 客户端: -c, --client host 以客户端运行, 指定连接服务端的主机 -u, --udp 使用UDP协议 -b, --bandwidth #[KMG][/#] 目标带宽单位bits/s (0表示无限制) (UDP默认1 Mbit/s, TCP无限制) (突发模式时可在带宽后添加/和包数量将不间断发送指定数量的数据包即便超出了指定带宽限制) -t, --time # 传输所需时间 (默认10s) -n, --bytes #[KMG] 传输字节数量 (instead of -t) -k, --blockcount #[KMG] 传输数据块/包数量 (instead of -t or -n) -l, --len #[KMG] 缓冲区读写长度 (TCP默认128KBUDP默认8KB) --cport port 绑定指定的客户端端口 (TCP and UDP, 默认临时端口) -P, --parallel # 并行运行的客户端流数量 -R, --reverse 以反转模式运行 (服务端发送客户端接收) -w, --window #[KMG] 设置窗口大小/套接字缓冲区大小 -M, --set-mss # 设置TCP/SCTP最大分段大小 (MTU - 40 bytes) -N, --no-delay 设置TCP/SCTP无延迟禁用Nagle算法 -4, --version4 仅使用IPv4 -6, --version6 仅使用IPv6 -S, --tos N 设置IP服务类型 -Z, --zerocopy 使用“零拷贝”发送数据 -O, --omit N 省略前n秒 -T, --title str 在每个输出前加上的字符串 --get-server-output 从服务端获取结果 --udp-counters-64bit 在UDP测试数据包中使用64位计数器问题及相关分析control socket has closed unexpectedly / select failed: Bad file descriptor问题描述-n 1G定量传输频繁触发control socket has closed unexpectedly / select failed: Bad file descriptor换成-t 60就稳定不崩溃。定量模式 VS 定时模式-n 大小定量模式Number运行规则客户端强制传输指定总数据量如-n 1G 必须完整发送 1GB payload无论耗时多久凑够总量才会停止。1、发包逻辑链路正常时匀速发包一旦出现丢包、速率下跌iperf 会瞬时拉高发包速率疯狂重传补流量形成报文脉冲冲击2、重传逻辑丢包后无节流持续超额发包填补缺失的数据WiFi 驱动、SDIO 总线、系统 socket 队列极易瞬间打满溢出3、资源释放必须等全部数据传输完成后才一次性回收所有 FD、缓冲区、连接句柄单次会话内海量报文持续占用资源嵌入式精简 iperf极易出现内存 / 句柄泄漏4、控制通道补流量阶段 100% 带宽被数据报文占满iperf 用来同步状态的小 TCP 控制包会被系统丢弃两端心跳失联直接抛出control socket closed / Bad file descriptor。数据流特点总传输字节严格固定测试耗时随链路质量浮动链路越差测试持续时间越长、报文冲击越剧烈。-t 秒定时模式Time运行规则客户端持续发送流量严格跑满设定时长如-t 60 连续打流 60 秒到时间立刻主动停止发包完成一次测试会话。1、发包逻辑按-b设定带宽匀速平稳输出不会主动超额补包2、重传逻辑出现丢包只会在当前时间窗口内轻微补偿不会为了凑总量无限制猛发3、资源释放每一秒 iperf 都会执行一次套接字状态同步、缓冲区刷新、文件描述符回收资源周期性释放不会持续堆积4、控制通道每秒都有空闲时隙收发控制信令带宽同步、心跳报文TCP 控制 socket 不会被 UDP/TCP 数据洪流完全淹没。数据流特点时长固定传输总数据量随链路质量浮动链路差则总流量变少。| :—: | :— | :— |对比维度-t-n核心停止逻辑到达设定时长立刻停止发包总传输流量随链路质量浮动必须发完指定总字节才停止测试耗时随链路质量浮动发包速率策略严格按-b设定带宽匀速输出无超速补包行为链路出现丢包/速率下跌时自动瞬时拉高发包速度疯狂补发缺失流量形成脉冲洪流资源回收机制每秒执行一次缓冲区刷新、套接字状态同步、文件描述符周期性释放资源无长期堆积全程持续占用所有网络资源仅在全部数据传输完成后一次性回收嵌入式易发生FD/内存泄漏控制心跳可靠性高流量平稳队列不会持续满载每秒有空闲时隙收发心跳小包控制通道不易失联极低补流量阶段带宽被数据报文占满内核/无线驱动优先丢弃低优先级心跳小包极易心跳失联链路波动耐受能力强丢包仅减少该周期总传输量不会反向加重发包压力无恶性循环弱丢包→超速补发→队列溢出→更多丢包形成负载恶性循环嵌入式Linux兼容性极好长时间、多轮批量测试极少出现socket崩溃报错较差裁剪版iperf3长会话高频触发control socket closed/Bad file descriptor核心输出指标固定时间窗口内平均吞吐量、实时抖动、逐秒速率波动、丢包率固定数据量下完整传输耗时、全程平均吞吐量批量自动化测试适配完美适配搭配iperf3 -s -1可循环连续跑多轮无崩溃不适合自动化批量循环单次手动短流量测试尚可UDP大带宽压测适配稳定不会因丢包引发瞬时超大报文冲击风险高极易打满WiFi/SDIO驱动队列射频链路卡死典型适用场景1. WiFi长时间稳定性压力测试2. 多信道/多天线方案横向对比3. UDP实时业务音视频抖动测试4. 嵌入式自动化批量复测1. 模拟固定大小文件完整上传/下载耗时测试2. WiFi本地存储联动读写带宽测试3. 产品流量限额、计费逻辑验证明显缺陷无法精准控制总传输字节仅能控制测试时长1. 丢包会放大网络负载2. 长会话极易断控制心跳3. 嵌入式设备易进程卡死报错

相关新闻

Path of Building:流放之路离线Build规划终极指南

Path of Building:流放之路离线Build规划终极指南

Path of Building:流放之路离线Build规划终极指南 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 想要在《流放之路》中打造完美角色却总是被复杂的数值计算困…

2026/7/23 21:55:01 阅读更多 →
DataEase交互式仪表板设计:3个关键技巧突破静态报表局限

DataEase交互式仪表板设计:3个关键技巧突破静态报表局限

DataEase交互式仪表板设计:3个关键技巧突破静态报表局限 【免费下载链接】dataease 🔥 人人可用的开源 BI 工具,数据可视化神器。An open-source BI tool alternative to Tableau. 项目地址: https://gitcode.com/GitHub_Trending/da/datae…

2026/7/23 6:37:36 阅读更多 →
Path of Building PoE2:流放之路2角色构建模拟器的完整指南

Path of Building PoE2:流放之路2角色构建模拟器的完整指南

Path of Building PoE2:流放之路2角色构建模拟器的完整指南 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 还在为《流放之路2》复杂的天赋系统和装备搭配而烦恼吗?🤔…

2026/7/26 0:38:21 阅读更多 →

最新新闻

Go 1.25 vs 1.24 版本差异与最佳实践:一个真实项目的降级实践

Go 1.25 vs 1.24 版本差异与最佳实践:一个真实项目的降级实践

2025年8月,Go 1.25 正式发布,带来了一系列令人兴奋的新特性。然而,对于许多企业和开发者来说,升级到新版本并非一蹴而就的事情。本文将以 Templ 项目(一个流行的 Go HTML 模板引擎)的真实降级实践为案例&am…

2026/7/26 6:03:35 阅读更多 →
C语言中的流程控制1(分支结构)

C语言中的流程控制1(分支结构)

昨天我们了解了常用的输入输出函数,今天我们来了解C语言中的流程控制。 程序默认都是顺序结构,从上到下一行一行执行。但现实里很多场景需要做判断,这时就要用到分支结构。 先说说关系运算符和逻辑运算符,这是所有判断的基础。>…

2026/7/26 6:03:35 阅读更多 →
字节跳动高级Android面经:Handler同步屏障、Binder一次拷贝,底层机制你扛得住吗

字节跳动高级Android面经:Handler同步屏障、Binder一次拷贝,底层机制你扛得住吗

中级那篇发出去之后评论区炸了,有人说"源码读过了,底层机制心里没底"。高级岗面试确实不一样——面试官不关心你会不会用API,关心你理不理解Android系统怎么跑起来的。 今天这6道题全是字节高级岗的硬核题,每道都能深聊20分钟以上,面试官会从你的回答判断你的技…

2026/7/26 6:03:35 阅读更多 →
TPS80032中断与USB OTG实战:电源管理芯片的事件处理与连接检测

TPS80032中断与USB OTG实战:电源管理芯片的事件处理与连接检测

1. 项目概述与核心价值在移动设备与嵌入式系统的电源管理单元设计中,如何高效、可靠地处理来自电源、电池和外部接口的异步事件,是决定系统稳定性和用户体验的关键。这不仅仅是写几行中断服务程序那么简单,它涉及到对硬件中断架构的深刻理解、…

2026/7/26 6:03:35 阅读更多 →
git高阶知识: --rebase,变基的理解以及注意事项

git高阶知识: --rebase,变基的理解以及注意事项

变基(–rebase)介绍 有时候你使用 git push origin main:mainGit 拒绝你的推送,正是因为远端仓库(origin/main)包含了你本地没有的新提交(可能是你自己在另一台电脑提交的,也可能是你的同事推送到远端的)。…

2026/7/26 6:03:35 阅读更多 →
视频字幕提取终极指南:3分钟学会本地OCR字幕生成SRT文件

视频字幕提取终极指南:3分钟学会本地OCR字幕生成SRT文件

视频字幕提取终极指南:3分钟学会本地OCR字幕生成SRT文件 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内…

2026/7/26 6:02:34 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻