我已将 QNAP QNA-UC5G1T 5Gbe usb 网络适配器连接到运行 Ubuntu 服务器 20.04.5 LTS 的 Raspberry Pi。我还有一个 5Gig 光纤互联网连接和一个 10G 交换机和 10G 路由器,在 Ubuntu 桌面上下载和上传的速度通常约为 4Gbit/s。
我必须通过编辑 /etc/netplan/50-cloud-init.yaml 中的文件来启用此适配器作为 eth1 接口,例如通过添加 eth1 条目
sudo nano /etc/netplan/50-cloud-init.yaml
network:
ethernets:
eth0:
dhcp4: true
optional: true
eth1:
dhcp4: true
optional: true
version: 2
然后运行
sudo netplan apply
它仅允许低于 1GB/s 的下载速度,更像是 750Mbits/s,但在 eth1 上上传速度达到近 2GB/s。我正在使用 speedtest-cli 测试它以估算速度。
此外,当我跑步时
ip a show eth1
它输出 qlen 为 1000,但实际应该是 5000
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.XX.XXX/XX brd XXX.XXX.XX.XXX scope global dynamic eth1
valid_lft 85855sec preferred_lft 85855sec
inet6 xxxx::xxxx:xxxx:xxxx:xxxx/xx scope link
valid_lft forever preferred_lft forever
和ifconfig
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet XXX.XXX.XX.XXX netmask XXX.XXX.XXX.0 broadcast XXX.XXX.XX.XXX
inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link>
ether 00:11:22:33:44:55 txqueuelen 1000 (Ethernet)
RX packets 4195 bytes 992272 (992.2 KB)
RX errors 0 dropped 47 overruns 0 frame 0
TX packets 4107 bytes 595608 (595.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
这表明 txqueuelen 为 1000
但当我跑步时
ethtool eth1
它输出并清晰显示 5000baseT/Full 的链接模式和速度:5000Mb/s
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 100baseT/Full
1000baseT/Full
2500baseT/Full
5000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 100baseT/Full
1000baseT/Full
2500baseT/Full
5000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 5000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
当我跑步的时候sudo lshw -C network
我明白了
*-network:0
description: Ethernet interface
physical id: 2
logical name: eth0
serial: 55:44:33:22:11:00
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=bcmgenet driverversion=v2.0 link=no multicast=yes port=MII
*-network:1
description: Ethernet interface
physical id: 3
bus info: usb@2:2.1
logical name: eth1
serial: 00:11:22:33:44:55
capacity: 1Gbit/s
capabilities: ethernet physical tp 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=aqc111 driverversion=22-Aug-2005 duplex=full firmware=3.1.6 ip=XXX.XXX.XX.XXX link=yes multicast=yes port=twisted pair
我的网络:1 或 eth1 清楚显示容量限制为 1Gbit/s,并显示最大容量为 1000bt-fd。
我已经弄清楚了如何通过“在文件“/lib/udev/rules.d/70-persistent-net.rules”中配置 udev 规则”将 的 qlen 属性更新ip a show eth1
为 5000,并将 的 txqueuelen更新为以下内容:ifconfig eth1
SUBSYSTEM=="net", ACTION=="add|change", DRIVERS=="aqc111", ATTR{address}=="00:11:22:33:44:55", KERNEL=="eth*", NAME="eth1", ATTR{tx_queue_len}="5000"
上述说明来自此处的 suse 支持文档:https://www.suse.com/zh-cn/support/kb/doc/?id=000019932
现在重启后,ip a show eth1
和都ifconfig eth1
显示更新后的 5000 属性。但sudo lshw -C network
命令仍然显示容量为 1Gbit/s,最高容量仍为 1000bt-fd。
有没有办法更新 输出的这些值lshw -C network
,以便适配器可以下载超过 1Gbit/s 的速度?为什么上传速度在 2Gbit/s 左右,而不像下载速度那样受到 1Gbit/s 容量的限制?
我应该指出,Ubuntu 服务器和桌面版都包含此网络适配器的驱动程序。我还尝试安装 Marvell 网站上的最新驱动程序,但这没有任何变化。它们是 aqc111 驱动程序。
我也能够按预期在 Ubuntu 桌面上运行它,无需任何特殊配置,只需即插即用。我刚刚运行了速度测试,在 Ubuntu Desktop 20.04.5 上获得了大约 2.2Gbit/s 的下载速度和近 3.5Gbit/s 的上传速度。
但出于某种原因,我很难弄清楚是否有办法提高 Ubuntu 服务器的下载速度。
提前致谢
答案1
Raspberry PI 是你的限制因素。内部总线限制了 USB。Pi 在许多方面都很棒,但不适合高吞吐量网络,