|
本帖最后由 rx_78gp02a 于 2024-10-11 13:30 编辑
摘要:通过对HAP AC2进行小包测试,探究FastPath、FastTrack之间的差异
贫穷的我买不起什么高端路由,只能对手上的HAP AC2做个简单测试,先放官方数据。Routing(FastPath )为1488Kpps,Routing(25 IP Filter)为242.9Kpps
01
Trex UDP单向均能跑满1.47Mpps,和官方数据一致,但是双向必须限制单向发包速率低于750Kpps合计1.47Mpps,否则速率下降只有834Kpps
02
03
04
增加一条NAT规则以关闭FastPath
add action=masquerade chain=srcnat disabled=yes out-interface=ether2
Trex UDP单向145Kpps/150Kpps,双向71.5 Kpps +71.6 Kpps =143Kpps,双向必须限制单向发包速率低于100Kpps合计200Kpps,否则速率下降只有120Kpps
05
06
07
增加FastTrack规则,并打开所谓的“硬件加速”
/ip firewall filter
add action=fasttrack-connection chain=forward connection-state=\
established,related hw-offload=yes
add action=accept chain=forward connection-state=established,related
Trex UDP 单向128.79Mbps / 512Mbps * 1Mpps=251Kpps FastTrack Packets显示为0,表明UDP没有进入加速状态。
更正说明,单向UDP包无法进入FastTrack加速,数据必须通过原端口返回才行。
08
Trex TCP UDP双向515.9Kpps,FastTrack Packets 有数据,CPU单核满载,总占用73%
更正说明,这里用的UDP发包,为了探究为何UDP无法加速写了几个模板,和/avl/oracle.pcap混淆了,oracle.pcap走的TCP但是速率不够高
09
关闭所谓的“硬件加速”
/ip firewall filter
add action=fasttrack-connection chain=forward connection-state=\
established,related hw-offload=no
Trex TCPUDP 双向512.8Kpps,FastTrack Packets 有数据,CPU单核满载,总占用67%,你就说这hw-offload有木有卵用?
10
关闭FastPath/FastTrack,Trex TCP UDP双向254Kpps,CPU单核满载,总占用94%。接近官方Routing(25 IP Filter)
11
打开FastPath,Trex TCPUDP 双向663Kpps,CPU单核满载,总占用62%。单核满载直接影响TCP性能,FastPath对TCP收益不远比不上UDP。
12
建立一条simple queue规则,自动关闭FastPath/FastTrack
/queue simple
add disabled=yes dst=ether2 max-limit=1G/1G name=queue1 target=""
Trex TCPUDP 双向217Kpps,CPU单核满载,总占用90%。
Trex TCPUDP 双向233Kpps,CPU满载导致WINBOX退出。
13
14
附带一张UDP可进入FastTrack加速的测试结果
关于发包速率过快导致转发降速问题,包进入路由产生中断消耗大量CPU资源,从端口状态看到RX明显比TX高,因为RouterBoard没有RPS功能,核心提前满载导致发包速率降低。
UDP小包可测出官方性能,但CPU最高只用到两个核心。
一条simple queue即可把性能打回内核转发,尝试很多方法,无法得到官方25 simple queue的数据。官方亦未公布配置说明。simple queue + FastTrack可以得到500Kpps左右的转发速率,但是进入simple queue的包很少,官方测试作弊?
任何方式进行UDP测试均无法获得FastTrack加速,尝试单独设置一条规则单独指向UDP:
/ip firewall filter
add action=fasttrack-connection chain=forward connection-state="" hw-offload=\
yes protocol=udp
add action=accept chain=forward connection-state=established,related
测试时有数据记录,但是ip settings的fasttrack packets无新增,证明实际未被加速。
更正:单向UDP流无法进入FastTrack加速,能加速的是reply流
总结:
RouterBoard吃单核性能,负荷无法均分。
因为吃单核,FastPath对TCP收益不高。
FastTrack性能远比不上官方标注的FastPath(UDP)指标,并且无参考依据。
FastTrack 对UDP加速无效,至少大部分情况下应该是无效的,模拟过DNS请求,也无效。
FastTrack 对hw-offload=yes 设置无效。
无法获取官方25 simple queue的性能指标,多种模板均无法实现接近的结果。
|
|