日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SwitchNAT 测试

發布時間:2024/8/1 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SwitchNAT 测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


測試環境:

PC1:Windows10 iperf3

PC2:Ubuntu iperf3

都裝有千兆網卡,直連的iperf速度是935Mbps

因為TXRX兩個方向的數據是差不多的,下面的測試數據只給出平均值。

?

1.1????? TPLINK 841N

1.1.1??? Switch測試

?

TPLIN841N使用了Marvell88E6060芯片,使用了dsa技術,在Openwrt下面,所有的包都是軟件網橋處理的。

?

l? 內核大量打印到終端

默認在內核里面的網橋代碼加入了不少的打印,測試的時候會吐出大量的日志。測試結果是1Mbps

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

?

Mem:?22572K?used,?38140K?free,?72K?shrd,?2612K?buff,?6752K?cached?
CPU:???
0%?usr???0%?sys???0%?nic???7%?idle???0%?io???0%?irq??92%?sirq???????????
Load?average:?
1.61?0.97?0.95?7/33?1459?????????????????????????????????????????
^[[7m??PID??PPID?USER?????STAT???VSZ?%VSZ?%CPU?
COMMAND^[[0m????????????????????
1000?????1?root?????R?????1184???2%??29%?/usr/sbin/ntpd?-n?-S?/usr/sbin/ntpd-h?
1422?????1?root?????R?????1636???3%??20%?/usr/sbin/hostapd?-P?/var/run/wifi-ph?
1339?????1?root?????R?????1168???2%???5%?/sbin/logd?-S?16?????????????????????
1173?????1?dnsmasq??R?????1040???2%???5%?/usr/sbin/dnsmasq?-C?/var/etc/dnsmasq????????????????????????????????????????????????????
1459???513?root?????R?????1188???2%???5%?top?-d?1?????????????????????????????
3?????2?root?????RW???????0???0%???0%?[ksoftirqd/0]????????????????????????
879?????1?root?????S?????1620???3%???0%?/sbin/netifd?????????????????????????
100?????2?root?????SW???????0???0%???0%?[kworker/0:1]????????????????????????
1?????0?root?????S?????1520???2%???0%?/sbin/procd??????????????????????????
960?????1?root?????S?????1504???2%???0%?/usr/sbin/uhttpd?-f?-h?/www?-r?OpenWr?
844?????1?root?????S?????1432???2%???0%?/sbin/rpcd??????
893?????1?root?????S?????1272???2%???0%?/usr/sbin/odhcpd?????????????????????
513?????1?root?????S?????1188???2%???0%?/bin/ash?--login?
512?????1?root?????S?????1168???2%???0%?/cnblogs/tanhangbo ? ??
943?????1?root?????S?????1052???2%???0%?/usr/sbin/dropbear?-F?-P?/var/run/dro?
6?????2?root?????SW???????0???0%???0%?[kworker/u2:0]???????????????????????
8?????2?root?????SW???????0???0%???0%?[kworker/u2:1]??
172?????2?root?????SW???????0???0%???0%?[spi0]?????
99?????2?root?????SW???????0???0%???0%?[kswapd0]????????????????????????????
340?????2?root?????SW<??????0???0%???0%?[kworker/0:1H]

?

可以看到CPU負載很高(Load average),CPU已經沒有資源了。主要的消耗在內核的Softirq部分(92%)

?

?

l? 關閉內核的打印

?

使用dmesg -n 1關閉內核的打印,發現速率接近理想狀況但不是最完美的。

觀察到CPU資源沒有被消耗完。

?

TP=83Mbps

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

?


Mem:?21380K?used,?39332K?free,?68K?shrd,?2612K?buff,?6744K?cached?
CPU:?
21%?usr?0%?sys?0%?nic?8%?idle?0%?io?0%?irq?70%?sirq?
Load?average:?
0.55?0.74?0.91?4/33?1440?
PID?PPID?USER?STAT?VSZ?%VSZ?%CPU?
COMMAND?
1339?1?root?R?1168?2%?38%?/sbin/logd?-S?16?
1422?1?root?R?1636?3%?21%?/usr/sbin/hostapd?-P?/var/run/wifi-ph?
3?2?root?RW?0?0%?18%?[ksoftirqd/0]?
1440?513?root?R?1188?2%?7%?top?-d?1?
100?2?root?SW?0?0%?6%?[kworker/0:1]?
879?1?root?S?1620?3%?0%?/sbin/netifd?
1?0?root?S?1520?2%?0%?/sbin/procd?
960?1?root?S?1504?2%?0%?/usr/sbin/uhttpd?-f?-h?/www?-r?OpenWr?
844?1?root?S?1432?2%?0%?/sbin/rpcd?
893?1?root?S?1272?2%?0%?/usr/sbin/odhcpd?
1000?1?root?S?1184?2%?0%?/usr/sbin/ntpd?-n?-S?/usr/sbin/ntpd-h?
513?1?root?S?1184?2%?0%?/bin/ash?--login?
512?1?root?S?1168?2%?0%?/sbin/ubusd?
943?1?root?S?1052?2%?0%?/usr/sbin/dropbear?-F?-P?/var/run/dro?
1173?1?dnsmasq?S?1040?2%?0%?/usr/sbin/dnsmasq?-C?/var/etc/dnsmasq?
6?2?root?SW?0?0%?0%?[kworker/u2:0]?
8?2?root?SW?0?0%?0%?[kworker/u2:1]?
172?2?root?SW?0?0%?0%?[spi0]?
99?2?root?SW?0?0%?0%?[kswapd0]?
340?2?root?SW<?0?0%?0%?[kworker/0:1H]?

?

?

l? 徹底關閉內核的打印

?

將代碼內核打印的代碼去掉,發現CPU空閑的資源變多了。

TP=92Mbps,已經可以滿足要求

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

?

Mem:?18376K?used,?42336K?free,?68K?shrd,?1788K?buff,?5540K?cached?
CPU:???
0%?usr???0%?sys???0%?nic??60%?idle???0%?io???0%?irq??37%?sirq?
Load?average:?
0.46?0.38?0.16?1/31?1284?
??PID??PPID?USER?????STAT???VSZ?%VSZ?%CPU?
COMMAND?
1109?????1?root?????S?????1636???3%???1%?/usr/sbin/hostapd?-P?/var/run/wifi-ph?
3?????2?root?????SW???????0???0%???1%?[ksoftirqd/0]?
1284???448?root?????R?????1176???2%???0%?top?
1148?????1?dnsmasq??S?????1040???2%???0%?/usr/sbin/dnsmasq?-C?/var/etc/dnsmasq?
99?????2?root?????SW???????0???0%???0%?[kworker/0:1]?
861?????1?root?????S?????1620???3%???0%?/sbin/netifd?
1?????0?root?????S?????1516???2%???0%?/sbin/procd?
882?????1?root?????S?????1272???2%???0%?/usr/sbin/odhcpd?
448?????1?root?????S?????1172???2%???0%?/bin/ash?--login?
965?????1?root?????S?????1172???2%???0%?/usr/sbin/ntpd?-n?-S?/usr/sbin/ntpd-h?
826?????1?root?????S?????1168???2%???0%?/sbin/logd?-S?16?
447?????1?root?????S?????1168???2%???0%?/sbin/ubusd?
920?????1?root?????S?????1052???2%???0%?/usr/sbin/dropbear?-F?-P?/var/run/dro?
171?????2?root?????SW???????0???0%???0%?[spi0]?
8?????2?root?????SW???????0???0%???0%?[kworker/u2:1]?
6?????2?root?????SW???????0???0%???0%?[kworker/u2:0]?
98?????2?root?????SW???????0???0%???0%?[kswapd0]?
66?????2?root?????SW<??????0???0%???0%?[bioset]?
65?????2?root?????SW<??????0???0%???0%?[crypto]?
^C339?????
2?root?????SW<??????0???0%???0%?[kworker/0:1H]?

?

?

?

1.1.2??? NAT測試

?

?

設置方法:PC1固定IP,連接到WAN口,PC2連接到LAN口。然后進路由器的命令行固定WAN口的IP

?

測試結果:

?

LAN-WAN Result = 92Mbps

WAN-LAN Result = 88Mbps

?

可以看到CPU資源被占用了大部分,但是還是有16%idle

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

?


Mem:?18656K?used,?42056K?free,?76K?shrd,?1788K?buff,?5608K?cached?
CPU:???
0%?usr???0%?sys???0%?nic??16%?idle???0%?io???0%?irq??82%?sirq?
Load?average:?
0.00?0.03?0.06?2/33?1535?
??PID??PPID?USER?????STAT???VSZ?%VSZ?%CPU?
COMMAND?
1109?????1?root?????S?????1636???3%???5%?/usr/sbin/hostapd?-P?/var/run/wifi-ph?
3?????2?root?????RW???????0???0%???4%?[ksoftirqd/0]?
1535???448?root?????R?????1176???2%???3%?top?
99?????2?root?????SW???????0???0%???1%?[kworker/0:1]?
861?????1?root?????S?????1688???3%???0%?/sbin/netifd?
1?????0?root?????S?????1516???2%???0%?/sbin/procd?
882?????1?root?????S?????1272???2%???0%?/usr/sbin/odhcpd?
965?????1?root?????S?????1172???2%???0%?/usr/sbin/ntpd?-n?-S?/usr/sbin/ntpd-h?
448?????1?root?????S?????1172???2%???0%?/bin/ash?--login?
1425???861?root?????S?????1172???2%???0%?udhcpc?-p?/var/run/udhcpc-wan.pid?-s?
826?????1?root?????S?????1168???2%???0%?/sbin/logd?-S?16?
447?????1?root?????S?????1168???2%???0%?/sbin/ubusd?
920?????1?root?????S?????1052???2%???0%?/usr/sbin/dropbear?-F?-P?/var/run/dro?
1379?????1?dnsmasq??S?????1040???2%???0%?/usr/sbin/dnsmasq?-C?/var/etc/dnsmasq?
1428???861?root?????S??????912???1%???0%?odhcp6c?-s?/lib/netifd/dhcpv6.script?
171?????2?root?????SW???????0???0%???0%?[spi0]?
8?????2?root?????SW???????0???0%???0%?[kworker/u2:1]?
6?????2?root?????SW???????0???0%???0%?[kworker/u2:0]?
98?????2?root?????SW???????0???0%???0%?[kswapd0]?
^C339?????
2?root?????SW<??????0???0%???0%?[kworker/0:1H]?

?

?

1.2????? XIAOMI MINI

?

?

1.2.1??? Switch測試

?

小米MINIswitch轉發路徑是在硬件里面的,所以LAN轉發的路徑對CPU幾乎沒有占用。

?

測試結果: 94.7Mbps

?

?

可以看到CPU占用幾乎沒有。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

?

Mem:?20860K?used,?105092K?free,?560K?shrd,?2060K?buff,?7016K?cached?
CPU:???
0%?usr???3%?sys???0%?nic??94%?idle???0%?io???0%?irq???1%?sirq?
Load?average:?
0.10?0.08?0.05?1/45?1536?
??PID??PPID?USER?????STAT???VSZ?%VSZ?%CPU?
COMMAND?
1164?????1?dnsmasq??S?????1044???1%???3%?/usr/sbin/dnsmasq?-C?/var/etc/dnsmasq?
1530??1235?root?????R?????1180???1%???1%?top?-d?1?
1234??1147?root?????S?????1124???1%???1%?/usr/sbin/dropbear?-F?-P?/var/run/dro?
908?????1?root?????S?????1628???1%???0%?/sbin/netifd?
973?????1?root?????S?????1540???1%???0%?/usr/sbin/uhttpd?-f?-h?/www?-r?OpenWr?
1?????0?root?????S?????1536???1%???0%?/sbin/procd?
872?????1?root?????S?????1440???1%???0%?/sbin/rpcd?
931?????1?root?????S?????1280???1%???0%?/usr/sbin/odhcpd?
1235??1234?root?????S?????1180???1%???0%?-ash?
410?????1?root?????S?????1176???1%???0%?/sbin/ubusd?
863?????1?root?????S?????1176???1%???0%?/sbin/logd?-S?16?
1089???908?root?????S?????1176???1%???0%?udhcpc?-p?/var/run/udhcpc-eth0.2.pid?
1022?????1?root?????S?????1176???1%???0%?/usr/sbin/ntpd?-n?-S?/usr/sbin/ntpd-h?
1147?????1?root?????S?????1056???1%???0%?/usr/sbin/dropbear?-F?-P?/var/run/dro?
1091???908?root?????S??????916???1%???0%?odhcp6c?-s?/lib/netifd/dhcpv6.script?
411?????1?root?????S??????892???1%???0%?/sbin/askfirst?/usr/libexec/login.sh?
118?????2?root?????SW???????0???0%???0%?[kworker/0:1]?
175?????2?root?????SW???????0???0%???0%?[spi0]?
3?????2?root?????SW???????0???0%???0%?[ksoftirqd/0]?
^C??
6?????2?root?????SW???????0???0%???0%?[kworker/u2:0]?

?

?

1.2.2??? NAT測試

?

小米使用的硬件平臺是MediaTek MT7620A ver:2 eco:6 ,帶有NAT硬件加速,簡稱HNAT

?

Openwrt不支持硬件NAT,測試結果如下:

Result= 94.7Mbps

?

在這個測試中,幾乎占用了所有的CPU

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

?

Mem:?23308K?used,?102644K?free,?560K?shrd,?2060K?buff,?7024K?cached
CPU:???
1%?usr??14%?sys???0%?nic???0%?idle???0%?io???0%?irq??83%?sirq
Load?average:?
0.29?0.16?0.08?2/47?1669
??PID??PPID?USER?????STAT???VSZ?%VSZ?%CPU?
COMMAND
1089???908?root?????R?????1176???1%??92%?udhcpc?-p?/var/run/udhcpc-eth0.2.pid
3?????2?root?????RW???????0???0%???3%?[ksoftirqd/0]
1164?????1?dnsmasq??S?????1044???1%???2%?/usr/sbin/dnsmasq?-C?/var/etc/dnsmasq
1669??1659?root?????R?????1180???1%???1%?top
1658??1147?root?????S?????1124???1%???1%?/usr/sbin/dropbear?-F?-P?/var/run/dro
118?????2?root?????SW???????0???0%???1%?[kworker/0:1]
908?????1?root?????S?????1628???1%???0%?/sbin/netifd
6?????2?root?????SW???????0???0%???0%?[kworker/u2:0]
973?????1?root?????S?????1540???1%???0%?/usr/sbin/uhttpd?-f?-h?/www?-r?OpenWr
1?????0?root?????S?????1536???1%???0%?/sbin/procd
872?????1?root?????S?????1440???1%???0%?/sbin/rpcd
931?????1?root?????S?????1280???1%???0%?/usr/sbin/odhcpd
1235??1234?root?????S?????1180???1%???0%?-ash
1659??1658?root?????S?????1180???1%???0%?-ash
410?????1?root?????S?????1176???1%???0%?/sbin/ubusd
863?????1?root?????S?????1176???1%???0%?/sbin/logd?-S?16
1022?????1?root?????S?????1176???1%???0%?/usr/sbin/ntpd?-n?-S?/usr/sbin/ntpd-h
1234??1147?root?????S?????1124???1%???0%?/usr/sbin/dropbear?-F?-P?/var/run/dro
1147?????1?root?????S?????1056???1%???0%?/usr/sbin/dropbear?-F?-P?/var/run/dro
^C091???
908?root?????S??????916???1%???0%?odhcp6c?-s?/lib/netifd/dhcpv6.script

?

?

?

使用PandoraBox的固件可以挽救這一局面。它集成了私有的HNAT代碼。

1

?

PandoraBox-ralink-mt7620-xiaomi-mini-squashfs-sysupgrade-r1024-20150608.bin

?

若要打開這個功能,需要在網頁中設置,相關的腳本在/etc/init.d/下面,他會加載HNAT的驅動。

測試的結果是94.7Mbps

?

可以看到幾乎沒有CPU的占用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

?

Mem:?48232K?used,?78160K?free,?0K?shrd,?0K?buff,?2146650668K?cached
CPU:???
0%?usr???0%?sys???0%?nic??98%?idle???0%?io???0%?irq???0%?sirq
Load?average:?
0.00?0.09?0.12?1/42?2685
??PID??PPID?USER?????STAT???VSZ?%VSZ?%CPU?
COMMAND
2685??2625?root?????R?????1376???1%???1%?top?-d?1
2124?????1?root?????S?????2576???2%???0%?/usr/sbin/nmbd?-D
2117?????1?root?????S?????2496???2%???0%?/usr/sbin/smbd?-D
2399?????1?nobody???S?????1936???2%???0%?/usr/sbin/dnsmasq?-C?/var/etc/dnsmasq
1784?????1?root?????S?????1548???1%???0%?/usr/sbin/uhttpd?-f?-h?/www?-r?Pandor
1650?????1?root?????S?????1472???1%???0%?/sbin/netifd
1?????0?root?????S?????1404???1%???0%?/sbin/procd
1769?????1?root?????S?????1376???1%???0%?/usr/sbin/telnetd?-F?-l?/bin/login.sh
2625??1769?root?????S?????1376???1%???0%?-ash
2354?????1?root?????S?????1376???1%???0%?/usr/sbin/crond?-f?-c?/etc/crontabs?-
1722?????1?root?????S?????1372???1%???0%?/usr/sbin/ntpd?-n?-l?-p?0.pool.ntp.or
1851??1650?root?????S?????1372???1%???0%?udhcpc?-p?/var/run/udhcpc-eth0.2.pid
1685?????1?root?????S?????1160???1%???0%?/usr/sbin/odhcpd
2157?????1?root?????S?????1148???1%???0%?/usr/sbin/dropbear?-F?-P?/var/run/dro
1614?????1?root?????S?????1040???1%???0%?/sbin/logd?-S?16
1801?????1?root?????S??????984???1%???0%?/usr/sbin/vsftpd
480?????1?root?????S??????884???1%???0%?/sbin/ubusd
1864??1650?root?????S??????828???1%???0%?odhcp6c?-s?/lib/netifd/dhcpv6.script
558?????1?root?????S??????768???1%???0%?/sbin/askfirst?/bin/login
^C559?????
1?root?????S??????768???1%???0%?/sbin/askfirst?/bin/login

?

1.3????? 總結

?

1. 對于SwitchNAT功能,硬件可以實現offload功能,減輕CPU的負擔

2. 對于滿速的Throughput測試,CPU基本可以滿足需求,但是會吃光CPU的資源。

3. 加入大量的打印會影響性能,如果將打印輸出到串口會讓性能降到幾乎為0

?

?

l? 打印和速率的關系(打印影響性能)

?

?

l? 硬件Switch和軟件網橋比較

可以看出來,硬件Switch的優勢明顯。

?

?

l? 硬件NAT和軟件NAT比較

可以看出來,實現硬件NAT會降低很多系統的負擔。但是硬件NAT不夠靈活,沒有集成一些軟件可以添加的高級功能。

?

?

?

?

?

?

?

?

?

?

?

?

?



來自為知筆記(Wiz)

轉載于:https://www.cnblogs.com/tanhangbo/p/6080973.html

總結

以上是生活随笔為你收集整理的SwitchNAT 测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。