Monday, July 21, 2008

WRT54G Benchmarks

Alright benchmarked the WRT54G v.3 that I have with dd-wrt v.24. 216Mhz default, no overclock. Basically the thing does everything in software except layer 2 switching and runs out of CPU. I needed to know where the cut off is, because broadband keeps getting faster. You can depend on the box for about 20Mb/s throughput. If you approach that limit, you may run into CPU problems. I also found out the default window size on iperf on Windows client is 8K (too small for 100Mb networks). So all my tests use 256k window sizes (default on linux and os x). All tests were performed with iperf.

Full test notes for posterity:
test 1-LAN bandwidth- both ports plugged into lan ports, same vlan: iperf -s on vista server, iperf -c on OS X client 93.7 Mb/s no CPU on WRT54g.
test 2- LAN bandwidth- both ports plugged into lan ports, same vlan: iperf -s on OS X iperf -c on vista, 61Mb/s (too small a windows size 8K on windows), no CPU.
test 3- LAN bandwidth same as 2, but with real window sizes: iperf -s -w 256k on OS X, iperf -c 192.168.100.8 -w 256k- 93.7Mb/s second switched no CPU.
test 4- routing (no SPI/Firewall) from LAN to WAN same iperf settings as above except client is on the other network - 22.7Mb/s CPU pegged.
test 5- reverse client and server traffic now WAN to LAN- 22.7Mb/s CPU pegged.
test6 - enable SPI/firewall, repeat test 5- 18.3Mb/s. CPU pegged.
test7- reverse client and server now LAN to WAN- 18.3Mb/s CPU pegged.
test8- LAN to wireless- 17.3Mb/s no encryption G only, some 2.4Ghz interference. CPU not pegged, but high (fluctuating between 50-65%).
test9- wireless to LAN- same as above- 17.3Mb/s CPU, not pegged but high (fluctuating between 50-65%).

I should try with WPA, but there is so much interference here. I can't be sure what I'm testing, the wireless, the encryption, the interference.

Summary of results: the switch in the Linksys I have is in hardware- it gives 93.7Mb/s throughput. So L2 performance is good.

Just routing from Lan to WAN with no firewall you can get 22.7Mb/s and it is CPU limited. With a firewall enabled from LAN to WAN, you are limited to 18.3Mb/s and it is CPU limited. Linux iptables style firewall (what dd-wrt uses) is a pretty efficient packet filter (about 10% overhead it looks like).

On the wireless from wireless I got 17.3Mb/s throughput (no encryption), and there was still CPU left. That implies the wireless G protocol or interference will probably be the limit not WRT54G. Basically if you are doing more than 17Mb/s, the WRT54G could be a choke point as could wireless 802.11g. If you want more performance overclock or get a higher CPU dd-wrt capable box and don't use 802.11g wireless. We'll call it 17Mb/s is the upper end for an internet connection for these boxes (due to CPU and 802.11g being limiting factors), more features may make the ceiling a little lower.

No comments: