I'm looking at Cisco's documentation on the issue http://www.cisco.com/web/partners/downloads/765/tools/quickreference/routerperformance.pdf and I'm having a hard time getting the numbers to add up.

Is it correct to assume that the Fast/CEF switching throughput rate applies to, for example, basic IP routing of packets between two subnets on FE interfaces?

The reason I ask is because the numbers seem somewhat low. I currently run an old 2611XM to give a simple way of providing a failover to an ADSL line (floating routes). This currently routes IP over an Ethernet line at the line's capped rate of 20Mbps, whereas the Cisco doc states that the max is 10.24Mbps for that device.

It is my intention to upgrade the fibre line to 100mbit and need a device which can handle that throughput. Should the Cisco doc be taken as a worst case and strictly followed if one wishes to route a particular throughput of traffic?

Additionally, what metrics of the router should be examined when pushing a rate of traffic through it to see how close to its limits it lies?


The first sentence in that document is critical.

Numbers are given with 64 byte packet size, IP only, and are only an indication of raw switching performance

That document is telling you the maximums for a certain type of packet. But in a real network you aren't going to be seeing only 64 byte packets. You are probably going to be transmitting packets that are much larger reaching up into 1500 bytes.

The Mbps value is simply calculated. [See the statement Mbps calculated by pps * 64bytes * 8bits/byte]. This is not an measurement of what is possible under typical usage.

The data in that sheet is telling you more about the number of packets that can be handled per second, not the throughput you would see if all your packets were at the size of the MTU.

Another important statement is alost at the top.

Every situation is different - please simulate the true environment to get applicable performance values.

| improve this answer | |
  • PS, I don't know if it is possible, but if we assume that the PPS is constant irrespective of the size of the packet, and we assume all your packets are 1500 bytes. Then you would have a throughput of 1500*20,000*8 or (228 Mbps). Not sure if that holds up in reality though. – Zoredache May 14 '13 at 19:35
  • Right, very interesting! Makes a lot of sense now. Thanks very much. Just did a test on routing 80mbit through an ISR 1841 (max throughput 38.40Mbps) and the CPU sat at circa 25%. – phil-lavin May 14 '13 at 19:47
  • 2
    BTW, you also need to take into account services you throw on top like NAT, IPS, etc. If it's at 25% cpu usage for basic routing, watch out when adding additional services – TheCleaner May 14 '13 at 20:05
  • 1
    Hinted at above...but yes, PPS capability is generally pretty constant for a given device regardless of packet size. That means that 64 byte packets are pretty much a worst case for throughput on devices. Something to be aware of when looking at data sheets for networking gear. Hopefully the vendor (such as Cisco does there) will specify the traffic mix they're using for the throughput numbers, and if you see it quoted as 64 byte packets (such as in this case), that's pretty much a worst case and with a typical traffic mix you'll seeing a higher maximum throughput. – Jeff McAdams May 17 '13 at 2:53

Appreciating this is an old question, and that it's already been answered - I did trip across it while frustratedly trying to determine what the "real-world" performance of some second-hand routers off eBay would achieve, and Google kept bringing me here.

As the accepted answer states - the Cisco data-sheets (notably this comparison of major router models) list PPS (packets per second) based on 64byte packets.

So fair enough - it tells you what the "worse case" scenario is - assuming the router isn't running any other services or complicated ACLs etc.

But at one and the same time - this isn't all that helpful, especially if you're on a super-tight budget (like me). I can see from this data-sheet that I can get 100Mb/s throughput if I part with thousands of the Great British Pounds, but I'm looking at router costing tens of those precious coins. Not thousands.

So for example, looking at the 2621 on that data-sheet states:

  PPS (CPU)  |  Mb/s (CPU)    |  PPS (Hardware)  |  Mb/s (Hardware)
      1,500  |       0.768    |          25,000  |            12.80

So I'd expect less than 12Mb/s (allowing for TCP/IP overhead) at best. Yet, in real-world use - it caps out at just a tad above 40Mb/s.

Theoretically this makes sense - packet sizes are on average way bigger than 64bytes - so as a "real world" test (for my purposes) I ran a file transfer and captured mid-stream with tcpdump and summarised the results with capinfos. The results are below:

Capture duration:    17 seconds
Start time:          Tue Dec  8 20:05:42 2015
End time:            Tue Dec  8 20:05:58 2015
Data byte rate:      5161361.66 bytes/sec
Data bit rate:       41290893.31 bits/sec
Average packet size: 2660.72 bytes
Average packet rate: 1939.84 packets/sec

Kabonga! 1939 packets-per-second was "real-world" (in my use scenario) and 2660 bytes-per-packet. (This confirms the 40Mb/s figure scp outputted during my test execution.)

So it suggests that it's highly CPU bound (which makes sense, because it's routing - not switching, so CEF isn't able to help all that much) and certainly from the router's CPU stats - it's totally burning it at this throughput.

From here, it seems reasonable to assume you'll be bound at the process switching PPS (which is "worse case" - and in my application is nearly always the case for all traffic) and the real-world throughput (in my scenario) will be ~2600bytes per packet.

So upgrading to a 2851 on this basis should easily exceed my 100Mb/s needs - at 15000 * 2600 * 8 / 1000000 = 312Mb/s

Once installed I'll confirm the prediction and update this answer with confirmation or corrected figures. Hope this helps someone in my situation in the future!

Do not forget - all these findings and figures are based on my specific scenario, which is 99% of traffic is routed between VLANs and is largely TCP streams with big packets (and associated acknowledgements). YMMV - I'd recommend capturing some of your own traffic (at rates which exceed a router's ability) to calculate what your scenario works out at.

Update: Finally the new router is installed - and the results are in:

Capture duration:    9 seconds
Start time:          Mon Feb 15 21:48:07 2016
End time:            Mon Feb 15 21:48:15 2016
Data byte rate:      11469614.56 bytes/sec
Data bit rate:       91756916.44 bits/sec
Average packet size: 2993.35 bytes
Average packet rate: 3831.70 packets/sec

Those are much bigger numbers (as expected) - and the new router is handling more services in the background too.

Currently the router is wired across a pair of fast ethernet (100Mb) ports, so the of 92.76Mb/s is pretty much "as expected".

| improve this answer | |

Usually router performance is based on its CPU. If the router is handling the traffic then it will handle your traffic fine. However, with such an old switch I wouldn't recommend pushing 100mbps through it as you'll most likely bottleneck the CPU and that can hang the device.

It's highly environment-based, and the performance metrics are clearly baseline making no assumptions. I would recommend getting a newer device that can handle close to that traffic to be on the safe side.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.