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.
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".