site Search:


 
    All Forums Hot Topics Gallery






how-to block ads


 
Search Topic:
Uniqs:
22428
Share Topic
Posting?
Post a:
Post a:
Links: ·Forum Rules ·Forum FAQ ·FTP Modes & Ports ·Linksys Home
page: 1 · 2 · 3
AuthorAll Replies


Bill_MI
Bill In Michigan
Premium,MVM
join:2001-01-03
Royal Oak, MI
kudos:1
Reviews:
·Comcast
·WOW Internet and..

4 edits

Benchmarking WRT Firmware... Some Surprises!

This is a benchmark I've been wanting to do for ages.

Results

Sorted by LAN-to-WAN speed performance, wired only.
All numbers in Megabits per second.

Linksys 4.71.4.001 (current from Linksys)
MIN: 47.8 AVG: 50.86 MAX: 52.5

Tomato 1.22
MIN: 40.8 AVG: 45.21 MAX: 47.4

OpenWrt Kamikaze 7.09
MIN: 35.5 AVG: 35.69 MAX: 35.9

OpenWrt Whiterussian 0.9
MIN: 35.0 AVG: 35.21 MAX: 35.4

DD-WRT 2.4 std (not sp1)
MIN: 31.4 AVG: 31.63 MAX: 31.9

OpenWrt Kamikaze 8.09RC1 (2.6 kernel)
MIN: 23.7 AVG: 24.01 MAX: 24.2

Test Details

The device is a WRT54GS version 3. This is essentially identical to the WRT54Gv4 and WRT54GL except it has more memory. No firmware used the extra memory to my knowledge and standard firmware was used.

Benchmarking was done by iperf version 2.0.2 using default settings except for window size (which I elevated on the windows client to the Linux default of 85.3k). Server on the WAN is my Ubuntu 8.04 server and client is my Win2K/SP4 main machine. The two units average around 81Mbps when directly connected on the same LAN. They're not screamers by any means but this is a 100mbps LAN and I was quite impressed with iperf. This reference speed is important since it should be significantly higher than the devices being tested and is.

Exactly 10 tests, each 10 seconds long, were performed and MIN, AVG, and MAX reported.

Every firmware defaults to a WAN getting connection via DHCP and a LAN on address 192.168.1.1. The benchmark was run exactly like this WITH NO CHANGES. Wireless was never used or even looked at (my next project, perhaps?). I'm sure I had open wireless several times.

To be extra cautious, every firmware initialized its own NVRAM because I manually cleared it first. Those familiar with NVRAM know this is, essentially, the same as "factory defaults". Different firmware calls it different things but the important thing was to negate ANY interaction between settings from one firmware to another. They all started with a clean slate (and clean NVRAM)

I wanted to use the latest of the popular ones but ran into a snag with DD-WRT 2.4-SP1. When flashing from OpenWrt I strip the *.bin header creating a flash memory image known as a "trx" file. In the case of DD-WRT 2.4-SP1, OpenWrt didn't like the format. The exact filename of both 2.4 and 2.4-SP1 is "dd-wrt.v24_std_generic.bin" (the same!!). There may be something I don't know about DD-WRT versions but the trx check scared me - I don't need to be de-bricking.

Be assured I closed all web pages and SSH sessions to the device when I tested it. What can I say... I'm a thorough engineer.

I started wanting to only benchmark the new OpenWrt 2.6 kernel. Notice it sucks? BTW, *ALL* these firmwares are a 2.4 Linux kernel except the bleeding edge OpenWrt Kamikaze 8.09RC1. Keep in mind the 2.6 kernel, itself, probably has more overhead than 2.4. But one thing I really like is the Broadcom stuff is all open source - no others can say that at this time!

Conclusions

Some may consider going back to Linksys firmware!

Tomato users should be happy but remember, this is DEFAULT (no bells and whistles turned on).

OpenWrt users may think twice before venturing into Linux 2.6. I still love my OpenWrt Whiterussian 0.9.

DD-WRT didn't show as low as I thought it would, even at factory defaults. I've never been a fan of DD-WRT for several reasons - one is slow config page response but the penalty isn't seen in default throughput.

Everyone should be aware there are trade-offs between features and speed. Add more features, like a QoS or logging, and things may slow down quite a bit.

In other words... all bets are off if you turn on things above default settings. Wish I had the time to explore all these but the data would be HUGE.

Of course, anyone with a 6mbps ISP connection will see very little difference between these firmwares running default since their throughput exceeds the ISP speed by quite a bit. As ISP speeds go up this hardware will look very old. Aging hardware is probably the biggest strike against a WRT54GL these days.

All Comments Welcomed.


TomatoUser

@rogers.com

What if you overclocked the WRT54G*? I'd like to see if that would make a difference.

Not too much of a big deal really, for internet this router still owns, and I put a gigabit switch after it hooking up my other computers so LAN transfers are fast anyways.


mstombs

join:2002-04-14
uk

reply to Bill_MI
Interested to know if the router under test is doing NAT (with connection tracking) in Linksys Gateway mode or just routing.

Also how complicated are the iptables rules, its a long time since I used stock Linksys firmware but I recall they were pretty simple, Tomato etc create lots of extra tables/chains and there must be an overhead if every packet has to be checked against everything - and also scope for optimisation.



Bill_MI
Bill In Michigan
Premium,MVM
join:2001-01-03
Royal Oak, MI
kudos:1
Reviews:
·Comcast
·WOW Internet and..

Hi mstombs and TomatoUser, good questions.

I'm not sure I'll have a chance to get it going again for awhile but I'd not raise much above 200MHz. I do run 216MHz in production routers for that tiny 8% CPU gain But these are ALL at default 200MHz unless (and I didn't check) any set faster by default.

I know iptables/conntrack is running on OpenWrt and assume it is on all the others. Whatever their defaults are is how it ran. This is same as "factory defaults" or just plain erasing NVRAM which forces NVRAM initialization.

Yes, they all did NAT/PAT. The WAN pulled an address from my main network and my main box was on the LAN (static IP 192.168.1.2). Interesting is how every one of these firmwares needs ZERO config to work like this.

I'm taking note of what to try next... perhaps over the holidays.

I'm definitely going to capture iptables and nvram for each condition... at least.



jchuit

join:2006-02-06
netherlands

reply to Bill_MI
In the Tarifa firmware I made a memory optimization,
at startup it detects the amount of RAM installed and calculates the size of the hash-tables for TCP-ip routing/nat-ing/tcp-ing.

Standard Linux, the hash tables size set by size of RAM-memory and will be calculated as a desktop pc. These sizes should be increased, if used as a router.

The standard Linksys firmware is indeed fast, but it can be made faster. The modulo-logic hash table, can be replaced by an and-logic hash table, this will increase speed.
I made a firmware called Tarifa_034_basic (not released), this is simply the Linksys 4.30.12 firmware, with all packets updated and telnet activated on default. This firmware was actually only a little bit faster.

This is also the reason why the standard firmware slows down on high amount of connections.
The (is default) Hash implementation is very small 128 (16Mb) or 256 (32Mb) places (buckets), but due to this stupid size, a huge amount of hash collision will easily occur, this making the router slow down.

All the third party firmwares do a better job under stress, you should test 1,2,3, etc connections....even between 1 and 2 connections you will see strange differences.

More: the protocol can make a difference, test http, ftp and you will see speed difference.

An other strange thing I found, that some firmwares are fast and do 90% processor-load and others are a bit slower and do around 50% pr-load. Till now, I have not found out why the processor doesn't do nothing during the spare time.

Greetings,
jchuit


scubascythan

join:2005-05-14

Thanks for the testing done so far though, really interesting to know.



Bill_MI
Bill In Michigan
Premium,MVM
join:2001-01-03
Royal Oak, MI
kudos:1
Reviews:
·Comcast
·WOW Internet and..

1 edit

reply to jchuit
Hi jchuit! Great to hear from the source. I haven't played with Tarifa but sure am aware. Just an old EE learning bits and pieces on the Linux world both desktop and embedded at the same time that latched onto OpenWrt at about RC4.

Something auto-adjusting to memory would very much be affected by this GSv3. I'd love to get your opinion if it may affect any of my results above.

And if I get to doing this again, would Tarifa034RC1 be a good candidate to try? I see the changelog has what you are referring. Perhaps I could change some of those memory controller NVRAM variables to limit memory. I'm pretty sure, based on the actual board, this GSv3 is otherwise the same.

EDIT: And if you have any measurements or intuition, do my results look what you'd expect? are they sane?



Bill_MI
Bill In Michigan
Premium,MVM
join:2001-01-03
Royal Oak, MI
kudos:1
Reviews:
·Comcast
·WOW Internet and..

reply to scubascythan

said by scubascythan:

Thanks for the testing done so far though, really interesting to know.
Hi scubascythan and thanks for the note. I'll probably get this going again over the holidays. If you or anyone has suggestions I'm all ears.

jpg366

join:2004-04-09
Humble, TX

reply to Bill_MI
I didn't buy a WRT for wired access.



SpeedBooster

@89.241.36.x

said by jpg366:

I didn't buy a WRT for wired access.
And you didn't buy wireless G for high speed wireless! Given that wireless in half-duplex can you get more than 15Mb/s wireless to wireless via the router?

But given the figures above and the high CPU load of encrypted wireless any improvement in basic router routing efficiency will be a benefit! I suspect wireless LAN plus PPPoE WAN will be the highest router CPU?


jchuit

join:2006-02-06
netherlands

reply to Bill_MI
To Bill

The values you found are very sane, I tested hyperwrt, tomato, Linksys and Tarifa.
I also concluded that the original is the fastest, but also the most unstable.
10% increase in clock freq will give 10 % increase in speed, 200->216MHz.

Here is an old test with one HTTP connection:
»ftp://krumdeel.dyndns.org/Public/wrt54···peed.xls
As you can see the Linksys firmware is the fastest, and the wrt54gl is a bit faster then the old wrt54g hardware. These firmwares use the obsolete but fast Modulo hashing.

Later, I made an Tomato test, and here I tested with aida32:
»ftp://krumdeel.dyndns.org/Public/wrt54···mato.bmp

In this test the tomato was a bit faster, but all other processes were very slow on tomato. It looks like, the processor is the main slow down, but what it makes slowdown is unknown by me. Maybe it is some kind of processor setting in Linux somewhere, also strange that the processor sometimes run on 50%.

The strong point of Tarifa034RC1 is the Lookup3 hash implementation, this should be in the standard Linux distros.

This is also the weak point. Lookup3 does the best job on processor with an Rotate instruction, but huge stupid the MIPSs processor family doesn't have a Rotate instruction, meaning an workaround of 3 extra processor cycles is needed.

By the way, lookup3 is still better then the lookup2 implementation. The main advantage is that it makes a lot of simultaneous connections possible, without making the router slowdown.
see: »burtleburtle.net/bob/c/lookup3.c


jpg366

join:2004-04-09
Humble, TX

reply to SpeedBooster

said by SpeedBooster :

said by jpg366:

I didn't buy a WRT for wired access.
And you didn't buy wireless G for high speed wireless! ... Given that wireless in half-duplex can you get more than 15Mb/s wireless to wireless via the router?

Don't know, don't care. My cable speed is less than that, so my wireless is not likely to be the bottleneck, nor the ethernet ports.


swinn

join:2001-02-16
Clarksville, TN

reply to Bill_MI
Bill, could you try flashing the router again with a current DD-WRT build since v24 is rather old now. I'd be interested in seeing how build 11100+ performs with your setup.



Bill_MI
Bill In Michigan
Premium,MVM
join:2001-01-03
Royal Oak, MI
kudos:1
Reviews:
·Comcast
·WOW Internet and..

1 edit

Hi Swinn, I can find no valid "STD 2.4 SP1" build if that's what you mean (see original post). I haven't tried mini, vpn, voip, etc.

EDIT: I may have found the problem. Some or all "BIN" files are not standard Linksys flash images. They seem to already be striped of the Linksys header and are in fact TRX files already. Can anyone confirm this? I'm not getting any warm fuzzy feeling when every model directory takes you to the same set of files.



swinn

join:2001-02-16
Clarksville, TN
Reviews:
·Charter

I'm not sure. I've always tftped the bin to an openwrt router in order to flash it. I've never messed with a trx file.

This is the latest Eko build as of today: »www.dd-wrt.com/dd-wrtv2/download···_std.bin



Bill_MI
Bill In Michigan
Premium,MVM
join:2001-01-03
Royal Oak, MI
kudos:1

I'll see how it goes when I setup again.... probably over the holidays.


GKnight5

join:2005-03-11
New York, NY

Bill, thanks for the test, the results are interesting. Perhaps you can do a test with various number of concurrent streams, similar to Tim Higgins' in this review: »www.smallnetbuilder.com/content/···6843/51/ (tests on pages 4 & 5). Not sure though if it's possible without some kind of commercial software like IxChariot...



Bill_MI
Bill In Michigan
Premium,MVM
join:2001-01-03
Royal Oak, MI
kudos:1
Reviews:
·Comcast
·WOW Internet and..

2 edits

reply to Bill_MI

New Results

OK, I did a methodical but fast trip through more third party firmware. Same as before except I used a better server for iperf (which turned out to not be so much better). I found a strange performance "hole" around 50mbps so redid them all to my main server as before and edited this table. Also, I'm simply reporting the average of the best 5-of-10 measurements.

LAN-to-LAN 85.20
Tomato 1.23 58.42
Linksys 4.71.4.001 50.12
Tomato 1.22 46.84
Tarifa 034RC1 46.40
OpenWrt Kamikaze 7.09 35.46
OpenWrt White Russian 0.9 35.30
DD-WRT 2.4 STD 31.78
DD-WRT 2.4-SP1 STD 31.32
DD-WRT EKO v24-11218_NEWD_std 30.72
DD-WRT EKO v24-11100_NEWD_std 30.72
OpenWrt Kamikaze 8.09RC1 (2.6 kernel) 24.24

The biggest surprise is Tomato 1.23 vs. 1.22. Perhaps someone knows more about this?

Again, keep in mind this is at each firmware's DEFAULT settings. If more features are turned on, performance may suffer.

EDITED with updated results as mentioned above.


Nerdtalker
Working Hard, Or Hardly Working?
Premium,MVM
join:2003-02-18
Tucson, AZ

Another interesting thing you may want to consider might be the latest Tomato build 1.23_ND with TCP Vegas enabled, toss that into your benchmarks and see what the ND (New Driver) builds do.

I've been running 1.23_ND with TCP Vegas on and have been curious how LAN-WAN and WLAN-WAN performance stacks up against the normal as well as other 3rd party builds. I think there might be something interesting there.

Great stuff!
--
"Some people never see the light till it shines thru bullet holes." -Bruce Cockburn

I'm testing Gmail's spam filters: Broadbandreports1@gmail.com
Spam: 12900+ messages currently using 406 MB.



Bill_MI
Bill In Michigan
Premium,MVM
join:2001-01-03
Royal Oak, MI
kudos:1
Reviews:
·Comcast
·WOW Internet and..

Hi NT, After reviewing and repeating a strange "hole" around 50mbps I decided to do these all over again to the same server as before.

The "ND" version does not seem to be for this platform. However, something significant happened in Tomato 1.23. Could this "new driver" be involved? Or could it be as simple as a default setting change?

For anyone interested, I got better results to my laptop as the iperf server on a direct LAN-to-LAN connection - averaging well over 90mbps. But something happened to the speed to Linksys and Tomato firmware (I call it a 50mbps "hole"). After repeating the same strange results I decided to return to using my main server and repeating all the tests. Now they compare to the original results (and Tomato 1.23 scores even higher!). I've edited the results to the newer data.


Thursday, 31-May 07:08:15 Terms of Use & Privacy | feedback | contact | Hosting by nac.net - DSL,Hosting & Co-lo
over 12.5 years online © 1999-2012 dslreports.com.
Most commented news this week
Hot Topics