V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
JuicyJ
V2EX  ›  问与答

千兆网卡一直跑不满千兆?

  •  
  •   JuicyJ · 2018-01-26 21:54:51 +08:00 · 9024 次点击
    这是一个创建于 2273 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚买的迷你主机,折腾了好几天千兆网卡一直跑不满。

    • iperf3 测试:发送最多 800 Mbps,接收最多 600Mbps。
    • Samba 复制:发送 100 MB/s、接收 70 MB/s,跟 iperf3 测试结果一致。
    • 尝试更换系统,Ubuntu / Windows Server 测试结果无差别。
    • 尝试更换驱动,测试结果无差别。
    • 控制变量法排除了线材(其实我用的超六类线( CAT6A ),跑千兆根本毫无压力)、路由器、其他机器网卡问题(其他机器可以跑到 950Mbps )。

    这机器网卡是 Realtek 的 RTL8168 千兆网卡,应该是属于比较次的,但是也不至于会是这种水平。

    1. 如果在给我一次机会我不会再买这种小厂家的产品,直接加钱 nuc 算了。机器是占美的,这厂家在本站口碑算是很不错的。奉劝想买同类产品的 V 友三思。
    2. 有解决思路的 V 友提供一下意见,非常感谢。
    31 条回复    2020-07-07 05:24:01 +08:00
    terrytw
        1
    terrytw  
       2018-01-26 22:09:06 +08:00
    你和卖家商量啊
    应该可以换一个的
    xenme
        2
    xenme  
       2018-01-26 22:12:50 +08:00 via iPhone
    CPU 满美满?
    盒子一般可能瓶颈在 CPU
    hugee
        3
    hugee  
       2018-01-26 22:17:57 +08:00 via Android
    占美口碑好?呵呵哒
    JuicyJ
        4
    JuicyJ  
    OP
       2018-01-26 22:38:09 +08:00
    @terrytw 说实话我并不相信这是个案...

    @xenme 看网卡设置,网卡 Offload 全打开情况下,CPU 50%左右,网卡 Offload 全部关闭,CPU 90+ %。但是这两种情况下网络性能基本一样。

    @hugee 我是屡次在 V 站看到有人推才买的。
    Earthman
        5
    Earthman  
       2018-01-26 23:40:46 +08:00
    试过直连没有? PC-PC 直连测试,还有驱动,这都有问题那应该是硬件的问题。

    当然一般人没法做硬件的 debug,需要至少 1G 带宽的示波器
    JuicyJ
        6
    JuicyJ  
    OP
       2018-01-27 00:07:22 +08:00 via iPhone
    @Earthman 也试了,CAT6A 直连,无济于事
    JuicyJ
        7
    JuicyJ  
    OP
       2018-01-27 00:10:25 +08:00 via iPhone
    @Earthman 驱动我试了官方最新驱动,Windows 自动装的,Ubuntu 自动装的,测试结果都一样
    gstqc
        8
    gstqc  
       2018-01-27 00:48:14 +08:00 via Android
    本机测试下,看是不是性能或者磁盘问题
    sky97
        9
    sky97  
       2018-01-27 00:51:57 +08:00 via Android
    外界个千兆网卡试试
    msg7086
        10
    msg7086  
       2018-01-27 04:44:47 +08:00
    两种可能:CPU 性能太低;网卡性能太低。
    虽然按理说网卡性能应该是没问题的,那就是 CPU 性能太低了?
    flyz
        11
    flyz  
       2018-01-27 08:32:05 +08:00 via Android
    为什么没有怀疑磁盘太低?
    ironx
        12
    ironx  
       2018-01-27 08:36:51 +08:00 via Android
    网卡芯片出厂之前,这种基本的测试还是会做的。把你的操作系统版本,网卡设置,测试包类型,长度,时间,都列出来看看。
    yingfengi
        13
    yingfengi  
       2018-01-27 09:38:05 +08:00 via Android
    网卡
    CPU
    硬盘
    ipwx
        14
    ipwx  
       2018-01-27 10:44:24 +08:00
    你们都怀疑 cpu 和网卡。但是我根据楼主的描述,怀疑主板的 IO 总线。
    - - - -

    @yingfengi @flyz 首先 iperf 的结果排除了硬盘问题。
    其次网卡的型号明朗,我觉得这么便宜的部件应该不会出问题。
    再次 cpu 在所有测试中都没满负载。
    那么只剩下主板的 IO 总线了。

    想当年我用树莓派,IO 总线太渣,无论接什么设备,都无法突破 4MB/s。
    JuicyJ
        15
    JuicyJ  
    OP
       2018-01-27 10:45:37 +08:00
    @gstqc 本机测试怎么个测法
    @flyz 磁盘三星的 SSD...稳得很
    @sky97 想过外接,看了 http://www.expreview.com/27105.html USB3.0 的千兆卡跑到 70MB/s 都敢说性能卓越不敢买了..你有推荐么,能跑满的那种
    @msg7086 测的时候 CPU 50%左右,会不会是 CPU 的锅
    JuicyJ
        16
    JuicyJ  
    OP
       2018-01-27 10:53:38 +08:00
    @ipwx 感觉眼前一亮...这让我想起来,我拆开后想自己装个网卡,发现它两个网口都是直接焊在主板上的...
    nevin47
        17
    nevin47  
       2018-01-27 11:08:40 +08:00 via Android
    @ipwx 正解正解,Cpu 没跑满优先排查磁盘 IO 是否阻塞,其次应该检查网卡是否收到主板 IO 总线的限制


    @JuicyJ LZ 可以先把磁盘跑个峰值,如果没问题的话就可以大概率怀疑主板的 IO 总线限制了
    JuicyJ
        18
    JuicyJ  
    OP
       2018-01-27 11:21:26 +08:00
    @ironx Windows Server 2016 Datacenter
    TCP 接收
    [ ID] Interval Transfer Bitrate
    [ 5] 0.00-10.00 sec 844 MBytes 708 Mbits/sec sender
    [ 5] 0.00-10.00 sec 844 MBytes 708 Mbits/sec receiver
    UDP 接收
    [ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
    [ 5] 0.00-10.00 sec 1.16 GBytes 1000 Mbits/sec 0.000 ms 0/863224 (0%) sender
    [ 5] 0.00-10.00 sec 151 MBytes 127 Mbits/sec 2.051 ms 727003/836301 (87%) receiver
    TCP 发送
    [ ID] Interval Transfer Bandwidth
    [ 4] 0.00-10.00 sec 997 MBytes 836 Mbits/sec sender
    [ 4] 0.00-10.00 sec 997 MBytes 836 Mbits/sec receiver
    UDP 发送
    [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
    [ 4] 0.00-10.00 sec 702 MBytes 589 Mbits/sec 0.174 ms 3/89897 (0.0033%) sender
    [ 5] 0.00-10.05 sec 702 MBytes 586 Mbits/sec 0.174 ms 3/89897 (0.0033%) receiver
    两个明显异常值:UDP 接收时,指定带宽 1000M,发送方 1.16GB 的流量,只接收了 182MB,丢包率 87%。UDP 发送时,我同样指定了 1000M 的带宽,但是设备只能达到 589Mbps。
    alcarl
        19
    alcarl  
       2018-01-27 11:42:37 +08:00 via Android
    什么 cpu 都不说下,传个文件 cpu 能到 90 %?
    JuicyJ
        20
    JuicyJ  
    OP
       2018-01-27 12:04:47 +08:00
    @alcarl N3150,是跑 iperf3 不是传文件。
    ChangeTheWorld
        21
    ChangeTheWorld  
       2018-01-27 13:14:20 +08:00
    别折腾了 RTL 的千兆网卡也就能跑个 600Mbps,要千兆请用 Intel 的卡
    YanwenSun
        22
    YanwenSun  
       2018-01-27 13:34:27 +08:00 via Android
    查查是不是中断太多了 限制中断数目或者开 MSI-X+RSS
    yingfengi
        23
    yingfengi  
       2018-01-27 15:04:57 +08:00 via Android
    @ipwx 这么说,我想起了当初的那台小主机,确实有可能是这个原因。
    ironx
        24
    ironx  
       2018-01-27 18:11:46 +08:00
    如果是网卡的问题,UDP 丢包那么多,那么 TCP 不可能到 708Mbps。网卡才不会区分是 TCP 还是 UDP。

    你试试把 UDP 缓存调大再测试。

    怀疑是其他部分,内存带宽 ?
    sky97
        25
    sky97  
       2018-01-27 22:39:14 +08:00 via Android
    @JuicyJ 这个没有,不过你主板有雷电 3 接口可以看看有没有雷电 3 接口的,应该比 USB3.0 的快很多
    flynaj
        26
    flynaj  
       2018-01-28 00:24:12 +08:00 via Android
    什么主板,什么接口,总线,800 估计总线就是 800 自然没有办法突破
    innoink
        27
    innoink  
       2018-01-28 01:25:35 +08:00 via Android
    跑 dpdk 啊
    mingl0280
        28
    mingl0280  
       2018-01-28 03:22:24 +08:00
    @JuicyJ N3150 的跑千兆没问题(正在用着),怀疑是干扰或数据包大小设置问题,以及内存是不是爆了?
    mingl0280
        29
    mingl0280  
       2018-01-28 03:38:27 +08:00
    另外我现在 NAS 服务器就是用的 RTL8168,跑千兆完全没问题。

    Test Complete. Summary Results:
    [ ID] Interval Transfer Bandwidth
    [ 4] 0.00-10.00 sec 1.09 GBytes 940 Mbits/sec sender
    [ 4] 0.00-10.00 sec 1.09 GBytes 940 Mbits/sec receiver
    CPU Utilization: local/sender 8.2% (1.5%u/6.7%s), remote/receiver 0.4% (0.1%u/0.3%s)

    能不能在本地跑一下 IO 测试?看下磁盘 IO 和内存 IO 是不是有问题?
    chenlu
        30
    chenlu  
       2018-01-28 08:49:09 +08:00 via Android
    是不是背板速率的问题
    littlesubgirl
        31
    littlesubgirl  
       2020-07-07 05:24:01 +08:00 via Android
    我用 nuc 3050 (双核)和技嘉 3150 ( 4 核)也遇到 samba 跑不满千兆的问题,双机直连都不行。但用 fastcopy 通过 samba 读写文件可以跑满千兆。按道理来讲这 cpu 和网卡跑满千兆都是无压力的,fastcopy 的复制速度也证明了是可以跑满千兆的(网卡速度达到了 970mbs ),所以我怀疑是 cpu 调度有什么策略限制了速度。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4260 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 05:25 · PVG 13:25 · LAX 22:25 · JFK 01:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.