在(虚拟)接口之间路由流量时优比快 EdgeRouter Lite它正在达到某种极限。我想获得一些帮助来确定这是什么类型的限制以及如何解决它。这是在家庭网络上。
EdgeRouter Lite 是双核路由器,配备 500MHz 的 Cavium CPU。它当前运行的是 OpenBSD 6.9,使用GENERIC.MP
内核(奥克特恩建筑学)。
路由器的一个端口上连接着一个千兆位 Netgear GS108Ev3 交换机。交换机配置了多个 VLAN。交换机使用中继端口连接到路由器。当使用 rsync 通过 SSH 传输数据时,将数据从一个 VLAN 中的 Mac mini(带有内置 SSD 的 Intel Core-i5)主机上传到另一个 VLAN 中的 Raspberry 4(2 GB RAM,通过 USB-3 连接的 WD USB 4TB 磁盘),这会对同样通过路由器的不同 VLAN 上的流量产生负面影响(例如,通过路由器连接到互联网的 WiFI VLAN 客户端),例如当所述 rsync 传输处于活动状态时,DNS 查找延迟会显著增加,有时会导致智能手机断开与 WiFi 的连接(WiFI AP 是同一交换机上的另一个 VLAN),认为 WiFi 网络无法处理流量。rsync 运行时,mac mini 上的上传流量约为 11 MB/s。Mac mini 和 Raspberry Pi 都报告以太网速度为 1 Gbit。
使用 来查看路由器上的 CPU 利用率top
,情况有所不同。有时sys
负载分布在 2 个 CPU 核心上,有时仅加载 1 个 CPU 核心(sys
利用率为 92%)。
路由器有一组 PF 规则。有一个 Grafana 仪表板从路由器收集指标,“PF 操作”面板报告每秒发生约 19 K 规则搜索操作(平均超过 5 分钟),状态插入/删除的速率可以忽略不计。当 rsync 运行时,图表的顶部为 19K。当我停止 rsync 时,速度会下降到数百个状态搜索。此外,路由器上的 SSH CLI 处理也再次变得更加灵敏。
我浏览了 OpenBSD 7.0 和 7.1 的变更日志,没有注意到任何与 MP 相关的改进,这些改进似乎可以提供帮助。
对于从 Mac mini 到 Raspberry Pi 的每个 SSH 连接,路由器上有 2 个 PF 状态(每个方向一个),对应于以下规则:
# allow internal net to connect anywhere
pass in quick on $InnerIF from $Internal_net to any
# allow internal net to access TCP services on the Raspberry Pi host
pass out quick on $CLDIF inet proto tcp \
from $Internal_net to $docker \
keep state
规则中的接口就是vlanXY
接口。
检查 的输出pfctl -si
,我没有看到任何内存太低或类似的提示。top
报告大约 80 MB 的可用 RAM。
我可以做一些调整吗?或者是购买新路由器的情况吗?更高性能的CPU(例如边缘路由器4具有 1 GHz 四核 CPU)是否合适?