Router Charts

Router Charts

Router Ranker

Router Ranker

Router Chooser

Router Chooser

NAS Charts

NAS Charts

NAS Ranker

NAS Ranker

More Tools

More Tools

LAN & WAN How To

How We Test RoutersWe've revised our router test process with a new Simultaneous Connection test capable of measuring as many connections as routers will provide.

Updated 20 October 2010: Clarify wireless router testing
Updated 10 June 2010: Max Connection test rounding

This process applies to routers tested after 15 March 2010. The previous process can be found here.

We test all routers on a private network using dedicated computers connected to the WAN and LAN side of the router as shown in the figure below. Note that the same test setup is used for both wired-only and wireless routers, i.e. the wireless portion of wireless routers is not involved in the testing.


Router Test setup diagram

All routers are prepared for test as follows:

  • Upgraded to latest firmware
  • Reset to factory defaults
  • QoS features disabled (if present)
  • LAN client put into DMZ
  • SPI disabled (optionally, if router allows)

The last two points require some explanation. The LAN client is put into DMZ because it is the fastest and easiest way to allow WAN to LAN traffic and test results from the WAN IxChariot endpoint to traverse the router under test's NAT firewall. Alternatively, the specific ports used by IxChariot could be opened in the router under test's firewall. Note that since the router DMZ function is just a special case of port mapping, i.e. all ports and protocols opened to the specified LAN IP address, this does not affect router performance.

SPI is disabled if the router provides this function as a work-around for problems encountered with some routers. Virtually all current routers use NAT with Stateful Packet Inspection (NAT+SPI) and the simple test configuration we use sometimes will not allow test results to be returned from the WAN endpoint.

The problem can be worked around by using a second network adapter on both endpoint machines connecting directly to the IxChariot console. But we have found that disabling SPI is simpler and in most cases does not affect router throughput.

Once the router is prepared, the following tests are performed:


Throughput is a measure of how fast data flows through the router. The test sends data from computer to computer, measures how much time it takes, and calculates the result in Mbps (Megabits per second).

The setup shown in the diagram above is used with one computer running an IxChariot endpoint connected to the router WAN port and a second computer running the IxChariot console and endpoint connected to a router LAN port.

Our test uses IxChariot's Throughput.scr IxChariot script with the defaut 100,000 Byte file size changed to 1,000,000 Bytes and TCP/IP protocol. Three tests are performed, each one minute in length:

  • WAN to LAN - Data flows from the WAN-side IxChariot endpoint to the LAN-side endpoint. This is a test of router download speed.
  • LAN to WAN - Data flows from the LAN-side IxChariot endpoint to the WAN-side endpoint. This is a test of router upload speed.
  • Simultaneous - A combination of the previous two tests. This test is run to see how the router handles simultaneous traffic. Also, many current-generation routers have routing speeds in excess of 100 Mbps, but do not have Gigabit Ethernet ports. This test ensures that we find the limits of the routing engine without being limited by 100Mbps Ethernet.

Maximum Simultaneous Connections

This test measures the maximum number of connections or sessions that a router will concurrently support. A high number of connections is desired for peer-to-peer file sharing (BitTorrent, etc.) and on line gaming.

This test previously used IxChariot and was limited to a maximum of 200 connections due to IxChariot licensing restrictions. While this maximum used to be sufficient, most current generation routers have no problem handling more than 200 simultaneous sessions.

Our new method uses two Windows programs originally attributed to Matrix21. server.exe is installed on a WAN-side computer and client.exe is installed on the LAN-side machine. The router under test is first power cycled to clear any existing sessions.

The server program is started first via command line and listens for traffic from the client program. The client program is then started and sends a UDP packet to the server starting at a port number entered as part of the command line and waits for a response from the server.

If a response is received, the client increments the port number by one and sends a new packet. This process continues until the client does not receive a response from the server. The count of the last successful transfer is taken as the Maximum simultaneous session count.

The test is repeated three times, with the router power-cycled between each run and the highest number used.

Updated 10 June 2010

If it is obvious that the router under test has a limit on a binary multiple boundary, i.e. 2048, 4096, 8192, etc., then results will be rounded to that boundary.

You can download a zip of the programs and instructions from here if you'd like to run your own tests.

Tests Not Performed

Latency / Ping Time: (also known as lag, latency, or ping time) that the router introduces into a data stream, and is essentially what you'd measure by using the ping command.

We do not perform this test because all current products have response times below 1 mS, which is lower than the latency of most (if not all) Internet connections.

UDP Streaming: This test measures how well a router can keep up with a continuous stream of data. In addition to giving an indication of whether you'll have trouble watching video program streams, it tends to show flaws in the router's routing "engine". It uses the connectionless UDP protocol, which has less overhead and fewer error recovery mechanisms than the TCP protocol (picture a fire hose being turned on vs. a water bucket brigade).

We currently do not perform UDP streaming testing on routers. However, we are investigating test scenarios to assess router performance for handling video streaming.

LAN Switch Performance: We do not perform any throughput testing on routers' LAN switch ports. Performance is determined by the LAN switch chip and is not limited by a product's routing code or CPU. There is no practical difference in performance among today's 10/100 or 10/100/1000 switch chips.

More LAN & WAN

Top Performing Routers


Top Performing NASes

1 drive
2 drives
4 drives
6 drives
8 drives

Over In The Forums

  • What's happening with my router?" class="lightTip" target="_self" rel="nofollow">What's happening with my router?
    I'm running an Asus RT-AC87R as my router, took the RT-AC66U setup as an AP off my network because of compatibility problems, but I looked in my syslog today and this is all I see:

    Mar 1 22:28:43 dnsmasq-dhcp[6762]: DHCPADVERTISE(br0) 00:03:00:01:fc:15:b4:72:56:48 no addresses available
    Mar 1 22:29:26 dnsmasq-dhcp[6762]: DHCPSOLICIT(br0) 00:03:00:01:00:1f:29:1a:d1:58
    Mar 1 22:29:26 dnsmasq-dhcp[6762]: DHCPADVERTISE(br0) 00:03:00:01:00:1f:29:1a:d1:58 no addresses available
    Mar 1...

    What's happening with my router?
  • Asuswrt-Merlin 378.50 is out" class="lightTip" target="_self" rel="nofollow">Asuswrt-Merlin 378.50 is out
    Howdy folks,

    Asuswrt-Merlin 378.50 is now available for download, for all supported models.

    This build introduces a pretty long list of changes. Due to some of these changes Asus did (and I took the opportunity to add a few more of my own in the same direction), a factory default reset is required, followed by a manual reconfiguration of your settings.

    This is not required if you were already running the 378.50 betas.

    Those who don't want to go through the trouble of doing so,...

    Asuswrt-Merlin 378.50 is out
  • key-chain photo frame and made a display for my router.

    Tested on RT-N14 (linux 3.4, Padavan's firmware) and RT-N66U...

    Small LCD for router" class="lightTip" target="_self" rel="nofollow">Small LCD for router
    I bought cheap 1.5" LCD key-chain photo frame and made a display for my router.

    Tested on RT-N14 (linux 3.4, Padavan's firmware) and RT-N66U...

    Small LCD for router
  • on the N66U and have it run using Transmission's ""script-torrent-done".

    Install and run Subliminal (subtitle finder) on N66U" class="lightTip" target="_self" rel="nofollow">Install and run Subliminal (subtitle finder) on N66U
    Hello, I was wondering if it's possible to install subliminal ( on the N66U and have it run using Transmission's ""script-torrent-done".

    Install and run Subliminal (subtitle finder) on N66U
  • Asuswrt-Merlin 378.51 Beta 1 is out" class="lightTip" target="_self" rel="nofollow">Asuswrt-Merlin 378.51 Beta 1 is out
    Highlights of this release:

    • Official support for the RT-N16 is being dropped. This last model based on SDK5 requires too much efforts to maintain. New features such as the new wireless log would have to be re-written specifically for that model.
    • The RT-AC3200 is now supported.
    • Entware is now supported on ARM models, based on Zyxmon's Qnapware repository
    • Completely redesigned the Wireless Log page. With the addition of a third radio on the...

    Asuswrt-Merlin 378.51 Beta 1 is out