五分钟系列-网络性能测试工具iperf3

目录

一、iperf3 是什么?

二、为什么需要 iperf3?

三、iperf3 的主要测量指标

四、安装 iperf3

五、基础使用模式(命令行参数示例)

1. 启动 Server 端 (必须)

2. 启动 Client 端进行测试 (最常见)

基本 TCP 测试 (10秒)

基础参数

UDP 测试

绑定特定接口

设置 TOS/DSCP

六、解读报告输出

TCP 测试 (客户端输出示例)

UDP 测试 (客户端输出示例)

服务器端输出

七、常见问题 & 技巧

总结

这次来详细讲解一下 ​​iperf3​​ 这款强大的网络性能测量工具。

一、iperf3 是什么?

  • ​定位:​​ iperf3 是一个开源的跨平台的​​命令行工具​​,专门用于测量​​网络带宽​​、​​延迟抖动​​和​​数据包丢失​​等网络性能指标
  • ​核心功能:​​ 它通过在两个联网设备(通常称为​​客户端​​和​​服务器​​)之间创建大量的数据流(TCP或UDP),并对这些数据流的传输进行计时和统计,从而计算出可用的最大网络带宽、延迟变化(抖动)和数据包丢失率。
  • ​工作原理:​
    1. 在一台设备上运行 iperf3 -s 启动​​服务器端​​,监听特定端口(默认5201)。
    2. 在另一台设备上运行 iperf3 -c <服务器IP地址> 启动​​客户端​​,向服务器发起连接。
    3. 客户端默认发送 TCP 数据流到服务器(持续时间默认10秒),服务器接收并确认。
    4. 测试结束后,两端(尤其是客户端)会输出详细的性能报告,包括带宽、传输数据量、往返时间、抖动、丢包等。
  • ​与前代的关系:​​ iperf3 是 iperf(目前通常指 iperf2)的一个重写版本。它设计得更轻量、库化(libiperf),拥有更简洁的代码库和更少的历史包袱。虽然在基本功能上相似,但一些高级特性(如特定拥塞控制算法)和参数可能在不同版本间有所不同。

二、为什么需要 iperf3?

  • ​验证理论带宽:​​ 你的链路是 1Gbps 的?用 iperf3 测一下实际能达到多少,排除中间设备(交换机、防火墙、路由器)或配置瓶颈。
  • ​排查网络瓶颈:​​ 当网络感觉慢时,通过多点测试(如:客户端->核心交换机->目标服务器)定位瓶颈位置。
  • ​评估设备性能:​​ 测试路由器、防火墙、VPN 隧道或负载均衡器的吞吐量和延迟影响。
  • ​网络设备选型:​​ 购买新交换机或防火墙前,用 iperf3 测试其在不同负载下的表现。
  • ​应用性能调优:​​ 评估网络是否能满足特定应用(如视频会议、备份、数据库同步)的带宽和延迟要求。
  • ​有线 vs 无线:​​ 比较有线连接和 Wi-Fi 连接的实际性能差异。
  • ​云服务性能:​​ 测试云虚拟机之间、虚拟机到本地数据中心、或者不同云区域之间的网络性能。
  • ​拥塞控制算法测试:​​ 测试不同 TCP 拥塞控制算法(如 CUBIC, BBR)在实际网络环境下的表现。

三、iperf3 的主要测量指标

  1. 带宽 (Bandwidth):​

    • 最核心的指标,指网络路径上数据传输的速率。
    • ​单位:​bits per second (bps), Gigabits per second (Gbps), Megabits per second (Mbps), Kilobits per second (Kbps)。iperf3 默认报告 bits per second
    • ​类型:​
      • ​单向带宽 (Sender to Receiver):​​ 客户端到服务器或服务器到客户端的传输速率(取决于测试模式)。
      • ​双向带宽 (Bi-directional):​​ 同时测量两个方向的总带宽(使用 -d-w 参数)。
    • ​报告形式:​发送端带宽 (客户端输出) 和 接收端带宽 (服务器输出)。对于理想 TCP 测试,两者应非常接近。UDP 测试中接收端带宽更关键(反映实际送达的速率)。
  2. ​​抖动 (Jitter):​

    • 指连续数据包到达时间间隔的变化程度。对于实时应用(如 VoIP, 视频会议)至关重要。
    • ​计算方式:​​ iperf3 计算包到达时间间隔与理论间隔的差值。
    • ​单位:​​ 毫秒 (ms)。值越低越好。
  3. 丢包率 (Packet Loss):​

    • 在传输过程中丢失的数据包占总发送包数的百分比。主要出现在 UDP 测试或拥塞严重的 TCP 测试中。TCP 本身会重传丢失包,但重传会显著降低有效带宽。
    • ​报告形式:​​ 对于 UDP 测试,在客户端和服务器报告中有 % Lost 的显示。对于 TCP,iperf3 的默认报告不直接显示丢包率,但可以通过重传次数(Retr)间接推断拥塞情况(-i 报告间隔显示更直观)。
  4. 往返时间 (RTT):​

    • 数据包从发送方发出到收到接收方确认的总时间。
    • ​在 iperf3 报告中的体现:​
      • ​TCP 测试:​​ iperf3 会报告一个加权平均值 RTT(在客户端报告的连接细节部分)。
      • ​UDP 测试:​​ 不会直接报告 RTT。
    • ​单位:​​ 毫秒 (ms)。
  5. ​​缓冲区大小/窗口大小 (Buffer/Window Size):​

    • 影响 TCP 吞吐量的关键参数。iperf3 客户端会报告测试中使用的 Receiver Window Size(由操作系统和可能的手动设置 -w 决定)。优化窗口大小对于长距离高带宽链路非常重要。

四、安装 iperf3

iperf3 在主流操作系统上安装都非常简单:

  • ​Linux (Debian/Ubuntu):​sudo apt-get install iperf3
  • ​Linux (RHEL/CentOS):​sudo yum install iperf3 (可能需要启用 EPEL 仓库) 或 sudo dnf install iperf3
  • ​macOS:​
    • 使用 Homebrew (推荐): brew install iperf3
    • 或从官网下载源代码编译。
  • ​Windows:​
    • 官方提供了预编译的二进制文件。从官网下载压缩包,解压后即可运行 iperf3.exe(通常在命令提示符或 PowerShell 中运行,注意路径)。
  • ​FreeBSD:​pkg install iperf3

五、基础使用模式(命令行参数示例)

1. 启动 Server 端 (必须)

iperf3 -s
  • -s: 以服务器模式运行。
  • 默认监听 TCP 端口 5201。使用 -p <端口号> 指定其他端口 (e.g., iperf3 -s -p 5202)。
  • ​重要:​​ 确保防火墙允许 iperf3 的流量通过 (TCP/UDP 的相应端口)。

2. 启动 Client 端进行测试 (最常见)

基本 TCP 测试 (10秒)
iperf3 -c <server_ip_address>
  • -c <server_ip_address>: 以客户端模式运行,连接到指定 IP 地址的服务器。
基础参数
  • -t <秒数>: 指定测试持续时间 (e.g., -t 30 运行30秒)。
  • -i <秒数>: 指定报告间隔 (e.g., -i 1 每秒输出一次进度报告)。
  • -P <线程数>: 使用并行流 (多个 TCP 连接)。这对充分利用高带宽链路或测试负载均衡很有用 (e.g., -P 4)。
  • -R: 反转模式。默认客户端发送数据到服务器。使用 -R 后,客户端变成接收者,服务器变成发送者。用于测试反向带宽。
  • -d: 同时进行双向 (duplex) 测试。客户端既发送也接收数据。
  • -w <size>[KM]: 设置 TCP 窗口大小/套接字缓冲区大小 (e.g., -w 256K, -w 2M)。对 WAN 优化很重要。
UDP 测试
iperf3 -c <server_ip> -u -b <bandwidth>
  • -u: 使用 UDP 而不是 TCP。
  • -b <bandwidth>[KM]: ​​必须​​为 UDP 测试指定目标带宽。如 -b 100M (100 Mbps), -b 1G (1 Gbps)。
  • UDP 测试的报告会包含 JitterLost/% Lost 信息。
绑定特定接口
iperf3 -c <server_ip> -B <local_interface_ip>
  • 当设备有多个网卡或 IP 地址时有用。
设置 TOS/DSCP
iperf3 -c <server_ip> -S 0x<hex_value>
  • 用于测试 QoS 策略效果。

六、解读报告输出

TCP 测试 (客户端输出示例)

Connecting to host 192.168.1.100, port 5201
[  5] local 192.168.1.50 port 56032 connected to 192.168.1.100 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   134 MBytes  1.12 Gbits/sec    0    747 KBytes
[  5]   1.00-2.00   sec   140 MBytes  1.17 Gbits/sec    0    908 KBytes
[  5]   2.00-3.00   sec   140 MBytes  1.17 Gbits/sec    0    937 KBytes
[  5]   3.00-4.00   sec   140 MBytes  1.17 Gbits/sec    0    937 KBytes
[  5]   4.00-5.00   sec   140 MBytes  1.17 Gbits/sec    0    937 KBytes
[  5]   5.00-6.00   sec   140 MBytes  1.17 Gbits/sec    0    937 KBytes
[  5]   6.00-7.00   sec   140 MBytes  1.17 Gbits/sec    0    937 KBytes
[  5]   7.00-8.00   sec   140 MBytes  1.17 Gbits/sec    0    937 KBytes
[  5]   8.00-9.00   sec   140 MBytes  1.17 Gbits/sec    0    937 KBytes
[  5]   9.00-10.00  sec   140 MBytes  1.17 Gbits/sec    0    937 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.37 GBytes  1.17 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  1.37 GBytes  1.17 Gbits/sec                  receiveriperf Done.
  • ​ID:​​ 连接/线程标识符。
  • ​Interval:​​ 报告的时间区间。
  • ​Transfer:​​ 该间隔内传输的数据量。
  • ​Bitrate:​​ 该间隔内的平均带宽速率 ([ ] 内是发送端速率)。
  • ​Retr:​​ 该间隔内发生的 TCP 重传次数。​​关键指标!​​ 多次重传 (>0) 通常表明存在拥塞、链路质量差、缓冲区不足或防火墙策略问题。是 TCP 吞吐量低于预期的首要排查点。
  • ​Cwnd:​​ 报告间隔结束时的拥塞窗口大小估计值 (单位通常是 KBytes)。
  • ​Sender Summary:​
    • Transfer: 发送端在​​整个测试期间​​发送的总数据量。
    • Bitrate: 发送端的​​平均发送速率​​。
    • Retr: ​​整个测试期间的总重传次数​​。这是判断测试过程中是否存在丢包(导致重传)的关键指标。
  • ​Receiver Summary:​
    • Transfer: 接收端确认收到的总数据量 (应与发送端的 Transfer 非常接近)。
    • Bitrate: ​​接收端的平均接收速率​​。这是测得的​​有效网络吞吐量​​ (Available Bandwidth)。它可能略低于发送端速率(协议开销、接收端处理能力)。

UDP 测试 (客户端输出示例)

Connecting to host 192.168.1.100, port 5201
[  5] local 192.168.1.50 port 52465 connected to 192.168.1.100 port 5201
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   2.00-3.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   3.00-4.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   4.00-5.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   5.00-6.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   6.00-7.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   7.00-8.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   8.00-9.00   sec   128 KBytes  1.05 Mbits/sec  91
[  5]   9.00-10.00  sec   128 KBytes  1.05 Mbits/sec  91
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec  0.000 ms  0/910 (0%)  sender
[  5]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec  0.027 ms  0/910 (0%)  receiver
  • ​ID, Interval, Transfer, Bitrate:​​ 含义与 TCP 类似,但 Bitrate 指的是客户端 UDP ​​发送​​的速率 (受 -b 参数控制)。
  • ​Total Datagrams:​​ 该间隔内发送的数据包数量。
  • ​Sender Summary:​
    • 报告发送的总数据量、发送端的平均发送速率 (Bitrate)、总发送的数据包数量 (Datagrams)。没有抖动和丢包统计 (发送端不知道接收情况)。
  • ​Receiver Summary (最关键):​
    • Transfer: 接收端​​实际收到​​的总数据量。
    • Bitrate: ​​接收端的平均有效接收速率​​ (实际可用带宽)。
    • Jitter: 整个测试期间的平均抖动 (ms)。
    • Lost/Total Datagrams: ​​总丢失的数据包数量 / 总预期收到的数据包数量​​ (来自 -b 参数的速率和间隔)。以及丢包百分比 (% Lost)。这是 UDP 测试的核心可靠性指标。

服务器端输出

服务器端通常也会输出报告(在测试结束后或使用 --logfile 参数时保存),内容与客户端接收方报告类似(显示接收了哪些数据)。

七、常见问题 & 技巧

  1. ​连接失败 (Connection refused):​

    • 服务器未运行:检查服务器端 iperf3 -s 是否已启动。
    • 端口错误:检查 -p 参数是否在两端指定且一致。
    • ​防火墙阻止:最常见原因!​​ 检查服务器端和沿途设备的防火墙规则,确保允许流量通过 iperf3 使用的端口 (TCP 5201 或自定义的,UDP 测试也需对应规则)。
    • 服务器地址错误。
  2. ​带宽低于预期 (TCP):​

    • ​重传 (Retr > 0):​​ 排查拥塞(使用 -t 延长测试时间观察)、物理链路问题(光纤/网线/SFP模块)、设备(交换机/防火墙/路由器)性能瓶颈(CPU、队列、ACL)、缓冲区过小(尝试增大 -w-w 2M,尤其是在长距离高带宽链路)。
    • 拥塞窗口限制:对于长距离(高延迟)链路,默认 TCP 窗口可能太小(参考 Cwnd 值)。使用 -w 增大窗口大小(需要同时调大操作系统 TCP 缓冲区 net.core.rmem_max/wmem_max)。
    • 拥塞控制算法:尝试不同的算法 -C bbr (需内核支持)。
    • CPU 瓶颈:检查客户端或服务器端 CPU 是否满载(使用 top, htop 等工具)。
    • 路径中间设备限制:防火墙策略、QoS 限速、较低端交换机的背板带宽限制。
    • 网卡协商速率:检查 ethtool <接口> 确认协商速率是期望值 (1Gbps/10Gbps)。
    • 跨物理设备/交换机测试性能:不同端口速率、交换机交换能力、VLAN 配置都可能有影响。
    • 并行流:尝试使用 -P 4-P 8 启动多个并发流。
  3. ​带宽低于预期 (UDP):​

    • 查看​​接收端报告​​的丢包率和带宽。
    • 如果丢包率高 (% Lost),说明网络无法承载 -b 指定的发送速率。降低 -b 值。
    • 同样排查网络拥塞、设备性能、CPU 瓶颈。
  4. ​Windows 防火墙:​​ Windows 防火墙默认阻止入站 iperf3。运行服务器端时需添加入站规则允许 iperf3.exe 或指定端口。

  5. ​连接重置 (Connection reset by peer):​​ 服务器或中间设备(如防火墙)提前关闭了连接。尝试使用 -t 缩短测试时间,检查防火墙超时设置。

  6. ​获取服务器报告:​​ 客户端测试完成后,服务器会输出报告。若想让服务器将报告保存到文件,使用 --logfile <filename> 参数启动服务器 (iperf3 -s --logfile ~/iperf.log)。

  7. ​使用 JSON 输出:​​ 使用 -J 参数可以让客户端输出 JSON 格式报告,便于其他程序解析和可视化 (iperf3 -c <server> -J > result.json)。

  8. ​可视化工具:​​ iperf3 本身是命令行工具。第三方工具如 jperf (图形前端), gperftools (可配合图形化), Flent (更复杂的网络测试套件,集成 iperf3) 可以帮助可视化结果和运行自动化测试。

  9. ​测试双向带宽:​​ 使用 -d (双向同时) 或 -R (先测一个方向,再自动反转测试另一个方向)。

  10. ​避免对生产网络的冲击:​​ iperf3 设计用于压测,会占满带宽。务必在维护窗口或非关键业务网络中进行测试。UDP 测试尤其要注意,无节制的发送可能导致网络拥塞。

总结

iperf3 是网络工程师和系统管理员必备的、轻量而强大的网络性能诊断工具。通过理解其核心概念、正确安装使用(尤其注意防火墙)、仔细解读报告(特别是带宽、重传、抖动、丢包等指标),并掌握基本的故障排查技巧,你可以有效地利用 iperf3 来测量带宽潜力、定位瓶颈、验证配置和评估网络基础设施的性能,为网络优化和问题解决提供坚实的数据支撑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/89684.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/89684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LiFePO4电池的安全详解

一、电池的制作过程 锂离子电池的五大核心组成部分:正极、负极、电解液、隔膜和外壳。 正极:把正极材料(如LiFePO₄)+ 导电剂(如炭黑)+ 粘结剂(如PVDF)混合成浆料,涂覆在铝箔上,然后烘干、辊压。 负极:把负极材料(如石墨)+ 导电剂 + 粘结剂混合成浆料,涂覆在铜…

S7-200 SMART PLC: SMART 200 CPU 密码设置及权限设置方式

在工业自动化控制中&#xff0c;SMART 200 CPU 的安全稳定运行直接关系到整个系统的可靠运作&#xff0c;而组态系统安全则是保障 SMART 200 CPU 安全的核心环节。通过合理设置密码及相关安全参数&#xff0c;能为 SMART 200 CPU 构建一道坚固的防护屏障&#xff0c;有效保护用…

Datawhale AI数据分析 作业

一、 贷款批准预测数据集1. 数据探索与理解prompt 1:这是训练数据&#xff0c;目的是贷款批准预测数据集上训练的深度学习模型生成的数据&#xff0c;旨在使用借款人信息预测贷款批准结果&#xff0c;它通过模拟真实贷款审批场景&#xff0c;帮助金融机构评估借款人风险。 请展…

100条常用SQL语句

一、基本查询语句 查询所有数据&#xff1a; SELECT * FROM 表名; 查询特定列&#xff1a; SELECT 列名1, 列名2 FROM 表名; 条件查询&#xff1a; SELECT * FROM 表名 WHERE 条件; 模糊查询&#xff1a; SELECT * FROM 表名 WHERE 列名 LIKE ‘模式%’; 排序查询&#xff1a; …

Visual Studio编译WPF项目生成的文件介绍

文章目录一、Summarize主要输出文件1. **可执行文件 (.exe)**2. **程序集文件 (.dll)**3. **PDB 文件 (.pdb)**资源与配置文件1. **XAML 编译文件 (.baml)**2. **资源文件 (.resources)**3. **应用程序配置文件 (.config)**依赖文件1. **引用的 NuGet 包**2. **引用的框架程序集…

「Chrome 开发环境快速屏蔽 CORS 跨域限制详细教程」*

Chrome 开发环境快速屏蔽 CORS 跨域限制【超详细教程】 &#x1f4e2; 为什么需要临时屏蔽 CORS&#xff1f; 在日常前后端开发中&#xff0c;我们经常会遇到这样的报错&#xff1a; Access to fetch at https://api.example.com from origin http://localhost:3000 has been …

Linux命令大全-df命令

一、简介df&#xff08;英文全拼&#xff1a;display free disk space&#xff09; 命令用于显示或查看文件系统&#xff08;或磁盘&#xff09;的空间使用情况&#xff0c;包括总容量、已用空间、可用空间、使用率和挂载点等信息。二、语法df [选项]... [文件]...参数参数说明…

《程序员修炼之道》第一二章读书笔记

最近在看《程序员修炼之道&#xff1a;通向务实的最高境界》这一本书&#xff0c;记录一下看书时的一点浅薄感悟。务实程序员不仅是一种技能水平的体现&#xff0c;更是一种持续修炼、不断反思并主动承担责任的过程。对自己的行为负责是务实哲学的基石之一。在重构CRM时面对文档…

ArcGISPro应用指南:使用ArcGIS Pro创建与优化H3六边形网格

H3 是由 Uber 开发的一个开源地理空间分析框架&#xff0c;旨在通过将地球表面划分为等面积的六边形网格来支持各种地理空间数据分析任务。每个六边形单元在 H3 系统中都有一个独一无二的标识符&#xff0c;即 H3 指数。这种网格系统不仅能够覆盖全球&#xff0c;而且适用于任何…

xss-dom漏洞

目录 靶场搭建 第一关 第二关 第三关 第四关 第五关 第六关 第七关 第八关 靶场下载地址&#xff1a;https://github.com/PwnFunction/xss.pwnfunction.com 靶场搭建 将文件用clone 下载到ubuntu&#xff0c; 然后进入 cd xss.pwnfunction.com/hugo/ 这个目录下 hu…

BPE(字节对编码)和WordPiece 是什么

BPE(字节对编码)和WordPiece 是什么 BPE(字节对编码)和WordPiece 是自然语言处理中常用的子词分词算法,它们通过将文本拆分为更小的语义单元来平衡词汇表大小和表达能力。 BPE(Byte Pair Encoding,字节对编码) 原理 初始化:将文本按字符(或Unicode字节)拆分为最小…

Java行为型模式---状态模式

状态模式基础概念状态模式&#xff08;State Pattern&#xff09;是一种行为型设计模式&#xff0c;其核心思想是允许对象在内部状态发生改变时改变它的行为&#xff0c;对象看起来好像修改了它的类。状态模式将状态相关的行为封装在独立的状态类中&#xff0c;并将状态转换逻辑…

重学Framework Input模块:如何实现按键一键启动Activity-学员作业

需求背景&#xff1a; 近来vip群里学员朋友有问道一个需求&#xff0c;大概需求就是他们做TV的Framework开发&#xff0c;想要遥控器有一个新定义的儿童节目按键&#xff0c;想要实现这个按键按下后就跳转到儿童节目的Activity。需求拆解及作业要求&#xff1a; 针对上面需求&a…

bmp图像操作:bmp图像保存及raw与bmp转换

1. 保存bmp图像&保存一张正弦图像到D:\1.bmp /********************************************** * fileName bmpinc.h * brief 对bmp文件的操作&#xff0c;包括&#xff1a; * - saveBmp&#xff1a;保存bmp文件 * - Save…

SpringAI——提示词(Prompt)、提示词模板(PromptTemplate)

Prompt 是引导 AI 模型生成特定输出的输入格式&#xff0c;Prompt 的设计和措辞会显著影响模型的响应。最开始Prompt只是单纯的文本文字&#xff0c;后面可以包含占位符&#xff0c;可以识别消息的角色。比如包含占位符的Prompt,也就是我们讲的消息模板(PromptTemplate)&#x…

【深度学习笔记 Ⅰ】5 参数和超参数

在深度学习中&#xff0c;参数&#xff08;Parameters&#xff09; 和 超参数&#xff08;Hyperparameters&#xff09; 是模型训练中两个核心概念&#xff0c;它们共同决定了模型的性能&#xff0c;但作用方式和优化方法截然不同。以下是详细对比与解析&#xff1a;1. 参数&am…

Linux 阻塞等待框架

在 Linux 设备驱动开发中&#xff0c;阻塞机制 是处理资源暂时不可用&#xff08;如设备未准备好数据、缓冲区满等&#xff09;的核心手段。驱动程序可以将被阻塞的进程设置成休眠状态&#xff0c;然后&#xff0c;在资源可用后&#xff0c;再将该进程唤醒。 在 Linux 驱动开发…

PCIe RAS学习专题(3):AER内核处理流程梳理

目录 一、AER内核处理整体流程梳理 二、AER代码重要部分梳理 1、AER初始化阶段 2、中断上半部 aer_irq 3、中断下半部 aer_isr 3.1、aer_isr_one_error 3.2、find_source_device 3.3、aer_process_err_devices 3.4、handle_error_source 3.5、pcie_do_recovery 整体逻…

​HAProxy负载均衡集群概述

前言&#xff1a; 在现代分布式系统中&#xff0c;负载均衡和高可用性是保障服务稳定性和性能的关键技术。HAProxy 作为一款高性能的 TCP/HTTP 负载均衡器&#xff0c;凭借其轻量级、高并发处理能力和灵活的配置机制&#xff0c;成为构建高可用架构的核心组件之一。通过智能的流…

ELN:生物医药科研的数字化引擎——衍因科技引领高效创新

在生物医药研究领域&#xff0c;实验数据的准确记录与管理是科研成败的关键。想象一个场景&#xff1a;某顶尖医学院实验室&#xff0c;研究员小张正为一项抗癌药物实验焦头烂额。纸质记录本中&#xff0c;数据混乱、协作困难&#xff0c;导致实验重复率高达20%。引入衍因科技的…