阿里郎 AP8220 小包简测
本帖最后由 rx_78gp02a 于 2024-10-9 12:33 编辑江湖一直存在NSS的传说,今天它来了。
机器:阿里云 AP8220 CPU: IPQ8071A RAM: 1GB
固件版本:QWRT R24.3.3 (QSDK 12.1) / main (git-24.054.43072-eede07c)
根据大雕的说法,QSDK 12有bug导致8系列NSS工作在700Mhz的摸鱼频率,满载是1.49Ghz,测试结果仅供参考。
使用命令查看NSS状态只显示一个核心,并且最高占用不超过50%
结论:因为R86S羸弱的CPU以及I225垃圾的驱动导致Trex的发包极限在3Mpps左右,无法测试低流数情况下的转发性能,因此只能摸一摸它的并发情况。
测试方法1:多流转发,无新增Flow,UDP单向发包。
3K流,单向1.8Mpps,NSS占用26%
4K流,单向1.54Mpps,NSS占用33%
5K流,单向0.98Mpps,NSS占用55%
6K流,单向0.77Mpps,NSS占用56%
8K流,单向0.57Mpps,NSS占用49%
10K流,单向0.45Mpps,NSS占用48%
12K流,单向0.24Mpps,NSS占用49%
小结:
2K流可以跑满2.5G线速(估计),未知原因NSS占用不会超过50%,可能和频率有关;NSS满载后CPU最高占用25%,其它情况均为0
测试方法2:新建NAT能力测试,仅供参考
每秒3.37K 新增连接,1W6流,活动连接超过7000开始丢包。
小结:
未测出新增瓶颈,活动连接超过7000开始丢包,这个应该是固件的限制或bug。
测试方法3:
多流转发,无新增Flow,UDP单向发包,测传输延迟。
2K流,单向2Mpps无丢包,平均延迟197/215us,最大延迟410/416us,抖动72/73us
4K流,单向1.46Mpps有丢包,平均延迟2622/2680us,最大延迟3191/3266us,抖动104/76us
6K流,单向0.777Mpps有丢包,平均延迟3566/3400us,最大延迟5780/5550us,抖动681/607us
12K流,单向0.37Mpps有丢包,平均延迟5275/5654us,最大延迟7257/6950us,抖动819/773us
因为丢包,统一换算标准Total-RX / 512Mbps * 1Mpps = 转发速率,比如3K流 926Mbps / 512Mbps * 1Mpps=1.808Mpps
3K流
4K流
6K流
8K流
10K流
NAT测试,无论多少新增,活动连接高于7000开始丢包
2K延迟测试
4K延迟测试
6K延迟测试
12K延迟测试
阿里郎,我还以为是朝鲜来的[偷笑] 我都戴好墨镜准备进来看太阳的 你这不对啊[音乐] 怪不得咸鱼只卖2xx元,之前价格还不便宜 这二手价格不值得买 楼主大大问下固件哪里找,之前的q群解散了就不知道去哪下了 支持,玩的都是男人喜欢的网络知识 ynkmsnake 发表于 2024-10-8 19:54
楼主大大问下固件哪里找,之前的q群解散了就不知道去哪下了
买来就已经刷好了,我手上也没有,大雕的付费群里有,但不是这个版本。 楼主未更新了延迟测试,延迟很平均但是不出彩。 rx_78gp02a 发表于 2024-10-9 09:38
买来就已经刷好了,我手上也没有,大雕的付费群里有,但不是这个版本。 ...
付费群都解散了,你敢信[困惑] ynkmsnake 发表于 2024-10-9 15:59
付费群都解散了,你敢信
不解散怎么建新群呢 那人在恩山口碑也是一塌糊涂 ynkmsnake 发表于 2024-10-9 15:59
付费群都解散了,你敢信
n3说成天炸的,自适应下了[偷笑] ynkmsnake 发表于 2024-10-9 15:59
付费群都解散了,你敢信
我也想永不被封啊,有办法么? 每次被封都要一个个拉回来 8220挺不错的,特别是价格便宜,用楼主教的方法测了bench双向,另外在请教下楼主nat测试方法。 现阶段综合 我选MTK 7986 开放好很多,AX9000买了一周 自己加NSS 搞砖了 卖了。期盼7988快点家用上线。 cp8869 发表于 2024-10-9 21:41
8220挺不错的,特别是价格便宜,用楼主教的方法测了bench双向,另外在请教下楼主nat测试方法。 ...
可用的NAT测试文件有,其它的自己试
./t-rex-64 -f cap2/nat_test.yaml --learn-mode 2
./t-rex-64 --astf -f astf/http_simple.py
NAT测试有两种方法,各自有局限性。
方法一:SERVER/CLIENT和端口不在一个网段,适用于能自定义转发规则的路由
Trex没有调用系统内核栈,无法应答ARP请求,这种方式可以实现更多的测试流
Trex端口配置:
- ip: 172.16.1.2
default_gw: 172.16.1.1
- ip: 172.16.2.2
default_gw: 172.16.2.1
ROS路由配置
/ip address
add address=172.16.1.1/24 interface=P0 network=172.16.1.0
add address=172.16.2.1/24 interface=P1 network=172.16.2.0
设置静态路由,让路由知道数据出口:
/ip route
add disabled=yes distance=1 dst-address=16.0.0.0/8 gateway=172.16.1.2 \
routing-table=main scope=30 suppress-hw-offload=no target-scope=10
add disabled=yes distance=1 dst-address=48.0.0.0/8 gateway=172.16.2.2 \
routing-table=main scope=30 suppress-hw-offload=no target-scope=10
Trex发包文件配置(默认不用改):
generator :
distribution : "seq"
clients_start : "16.0.0.3"
clients_end : "16.0.0.103"
servers_start : "48.0.0.3"
servers_end : "48.0.0.102"
上述配置和三层转发一样,区别在于路由需要增加一条地址伪装规则:
/ip firewall nat
add action=masquerade chain=srcnat out-interface=P1 src-address=16.0.0.0/8
这样从P0进来的包16.0.0.3——>48.0.0.3会被修改成172.16.2.1——>48.0.0.3
从P1返回的包变成48.0.0.3——>172.16.2.1
这个方式在ROS通过Torch命令得到验证。
有的系统无法自定义地址伪装规则,需要用第二种测试方式
方法一:SERVER/CLIENT和端口在一个网段
Trex端口配置同上
路由不需要配置静态路由规则
Trex发包文件要把CLIENT改成LAN网段,把SERVER改成WAN网段:
generator :
distribution : "seq"
clients_start : "172.16.1.3"
clients_end : "172.16.1.6""
servers_start : "172.16.2.3"
servers_end : "172.16.2.6"
因为Trex无法应答ARP请求,还需要把所有SERVER/CLIENT的IP绑定固定MAC,MAC地址和Trex的端口地址相同。
add address=172.16.2.2 interface=P1 mac-address=0C:42:A1:E0:B1:8C
add address=172.16.2.3 interface=P1 mac-address=0C:42:A1:E0:B1:8C
add address=172.16.2.4 interface=P1 mac-address=0C:42:A1:E0:B1:8C
add address=172.16.2.6 interface=P1 mac-address=0C:42:A1:E0:B1:8C
add address=172.16.2.6 interface=P1 mac-address=0C:42:A1:E0:B1:8C
add address=172.16.1.2 interface=P0 mac-address=0C:42:A1:E0:B1:7C
add address=172.16.1.3 interface=P0 mac-address=0C:42:A1:E0:B1:7C
add address=172.16.1.4 interface=P0 mac-address=0C:42:A1:E0:B1:7C
add address=172.16.1.5 interface=P0 mac-address=0C:42:A1:E0:B1:7C
add address=172.16.1.6 interface=P0 mac-address=0C:42:A1:E0:B1:7C
路由增加地址伪装规则,源地址是LAN IP,这也是很多不可配路由的默认转发设置
/ip firewall nat
add action=masquerade chain=srcnat out-interface=P1 src-address=172.16.1.0/24
这样从P0进来的包172.16.1.3——>172.16.2.3会被修改成172.16.2.1——>172.16.2.3
从P1返回的包变成172.16.2.3——>172.16.2.1
结论:
Trex官方没有给出NAT测试的具体方法,网上能找到的资料也特别少,上述方法不一定适用于所有环境,至少从ROS的连接跟踪里面看NAT映射是正常的,OP和其它成品路由缺少直观的检验方法。
方法一是官方建议的测试方式,虽然没有给出具体步骤,社区有老外使用了方法二被驳回,原因在于Trex无法应答静态ARP,这导致方法二的IP段太少,无法形成压力。
测试NAT必须用双向流,但是这两个文件均很难形成大的测试压力,E5测试是用-m 1000的模板,即使端口跑满万兆,包速率也仅有1.1Mpps
Trex终究只是一个开发工具,而不是一个合格的测试工具,测试脚本还在研究,但是资料太少。
rx_78gp02a 发表于 2024-10-10 09:53
可用的NAT测试文件有,其它的自己试
./t-rex-64 -f cap2/nat_test.yaml --learn-mode 2
./t-rex-64 --as ...
完美!感谢!先收藏,回去研究下今天测301w。 lean 发表于 2024-10-9 20:14
我也想永不被封啊,有办法么? 每次被封都要一个个拉回来
理解,不过后面qq单独联系也没拉我,l大可以单独再拉一下吗,qq393980105,感谢 求个固件,AP8220正在路上 请问各位大佬,这个双2.5g的路由器可以考虑当家用拨号路由用吗?
能跑满2000M的宽带不 wshwolf 发表于 2024-10-30 10:19
请问各位大佬,这个双2.5g的路由器可以考虑当家用拨号路由用吗?
能跑满2000M的宽带不 ...
肯定没有问题 大雕更新源码了,满血nss了,老哥要不要去测测。 这货我已经注意一个多月了
貌似目前可以硬改到2G RAM,512M RAM
CPU是4核,我对比了下跑分,貌似和我手头的同样是4核的N1差不多
但8220胜在2.5G的网口,NSS,企业级
可惜的就是USB为2.0(不过如果搭配3.0那就绝对不是现在这个价格了)
BTW,原来lean大佬在chh啊? 我以为是那个,阿里郎。。。 还想说怎么在自动入网之外还搞小包转发测试了。。。
页:
[1]