datocp
207 天前
用的 erx 256mb 内存 100mbps 带宽带了 280+终端。其实 mtk7620 的 y1s 也能胜任,还是觉得不如 mtk7621 呈现网页快。
路由常见的 cpu ,mtk7620 似乎关闭 wifi ,同一固件就能提高 50mbps 。所以小路由只干路由的事别把下载有的没的浪费 cpu 的功能也集成。
至于内存 linux 在带机数量有条换算公式。当然小内存机器也可应用内存释放方法。
在 100mps 带 280+的网络宁可要 qos 不要硬件加速
1.qos 给人的错觉很费 cpu
有些固件,估计写固件的人都只是套个模板进去。以前测试 ddwrt 的 imq 直接死机,asus 的也好不到哪去,都是应用于高耗 cpu 的接口,而不是应用于 pppor-wan br-lan br-wan
2.qos 不是限速
对 280+ip 进行限速,必然导致至少 280+的 iptables 遍历规则,影响 cpu 性能。后来改成 ip 范围限速。再后来只对目的端口优先级进行控制简化成了 11 条。
3.11 条神奇的 CONNMARK
SMQ 早期在吹牛的时候并未见有 CONNMARK 标记,实际测起来性能非常糟糕,依然是个高耗 cpu 的 QOS ,后期没测过。这种标记网络常见文档描述为包到连接的标记实现,是目前找到的最节省 cpu 遍历的方法,它还有个神奇的特性在使用 ifb 时,可以将上行标记应用于下行标记,这样在多 vlan 环境只针对一个下行的 ifb0 就可以控制。
4.TCPMSS pmtu
这个都增加下/上行 2 条规则,据说能极大的提高网络呑吐能力
总之是无关路由功能的消耗 cpu/内存的功能别集成到固件,尽可能的优化规则减少 cpu 占用包括遍历时间。
另外想玩得溜只有学习 openwrt ,才能根据别人的讨论自主裁减固件,ddwrt/tomato 之流很难深入。忘了说了 QOS 规则是从 tomato 中学来的,非常受用。这么多年不再寸进。