jperf别只拿来跑带宽,一次家庭网络排障,让我重新认识性能测试

admin

jperf 这类工具最大的价值,不是让你截一张“带宽跑满”的图发朋友圈,而是帮你在“到底哪里卡”这件事上少吵架、少猜、少走弯路,很多人一听性能测试,就觉得那是运维和程序员的事,普通家庭用户用不上,但我这次真被它上了一课:家里网络卡,不一定怪运营商,也可能是你自己的内网先掉了链子。

事情发生在上周六晚上八点,这个时间点很要命:孩子在客厅上英语网课,老师画面卡成 PPT;我老婆刷短视频,一直转圈;我在书房开个线上会议,声音断断续续,全家第一反应出奇一致——运营商又拉胯了,我甚至已经把投诉电话翻出来了,后来想了想,先别急着甩锅,万一不是宽带的问题呢?

我家的情况是:千兆宽带,光猫在弱电箱,主路由在客厅,书房和主卧各有一个 Mesh 节点,平时手机测速看着挺漂亮,客厅能跑到五六百兆,所以一直觉得网络没毛病,但那天晚上多个设备一起用,问题就暴露了,我先做了个很朴素的排查:把笔记本用网线直接接到主路由上,测外网速度,正常;又用手机靠近主路由测 Wi-Fi,速度也还行,可一到书房,尤其隔着一堵墙,速度就忽高忽低,视频会议最明显。

这时候我想起了 jperf,它常被看作 iperf 的图形化前端,简单说就是用来在两台设备之间发起网络性能测试的工具,可以看吞吐、波动,也能做 TCP 或 UDP 的测试,它的界面不算新潮,甚至有点“工程味”,但胜在直观:一端开服务端,另一端当客户端,选好协议和测试时长,跑几十秒,数据就出来了,对我这种不想背一堆命令参数的人来说,jperf 至少让我愿意动手。

我把 NAS 放在客厅主路由旁边,用网线接上,打开 jperf 服务端;然后拿书房笔记本当客户端,先走有线测,再走 Wi-Fi 测,结果挺打脸:有线内网能跑到九百多兆,说明主路由和网线没大问题;书房 Wi-Fi 5G 在门开着的时候能到三四百兆,但一关门就掉到一百多兆,波动还特别大;主卧那个 Mesh 节点更离谱,因为用的是无线回程,实际内网吞吐只有两百兆左右,晚上设备一多,延迟和抖动就上来了,那一刻我才明白,孩子网课卡,不一定是因为“宽带只有一千兆却不够用”,而是因为家里某个节点把无线带宽吃掉了一大半。

后面处理也不复杂:我把主卧 Mesh 改成有线回程,把老网线换掉,又把路由信道调了调,顺便把一些长期挂着的智能设备分到 2.4G,再跑一轮 jperf,书房无线稳定多了,主卧也不再是“看着有信号、实际跑不动”,我不敢说一劳永逸,但至少那天晚上之后,网课没再卡成 PPT,我老婆也没再问我“你是不是又把网络搞坏了”。

这件事让我对 jperf 有了几个很具体的个人观点。

第一,工具的第一价值是减少扯皮,以前家里网络一卡,大家只能凭感觉说“你那边卡”“我这边还好”,最后变成互相怀疑,jperf 跑一轮,至少能知道问题是在外网、内网、无线覆盖,还是某个节点回程,数据不一定万能,但比“我感觉”靠谱。

第二,别迷信单次跑分,jperf 测出来一个漂亮数字,不代表真实体验一定好;测出来一个难看数字,也不一定就是工具不行,网络性能要看稳定性、延迟、抖动和丢包,尤其晚上多设备并发的时候,只看一次峰值,很容易自我安慰。

第三,普通人也需要一点性能思维,不是让大家都去学网络工程,而是遇到问题先分层:外网、路由、无线、终端,一层层排除,jperf 对我来说就像家庭网络的“体检仪”,不神化它,也别贬低它,它不能替代真实业务体验,但能帮你快速缩小问题范围。

如果你问我 jperf 值不值得用,我的答案是:如果你只想测个网速,手机测速软件就够了;但如果你想知道“为什么卡、卡在哪、换什么能改善”,jperf 这类工具值得花半小时试试,别把它只当跑分工具,它更像是一把把手电筒,照亮的不是数字,而是你一直忽略的那个角落。

目录[+]