I have a 3640 with 3 FastEthernet interfaces and 128M of memory.
Our primary ISP provides us with a 25Mb ethernet feed. If I bypass the router and plug a laptop directly into their switch, I can easily saturate the 25Mb link while downloading large test files from one of their servers. If I move my laptop to one of the interfaces on the router, I max out at around 200 kbps. In a lab environment (PC1 Fa0/0 Fa1/0 PC2) I can sometimes push that up to a full 1Mbps.
I know the 3640 was designed to be able to handle a full DS3, so our25Mb + 8Mb links should be no problem. BGP isn't loading it down, as we get a default route from one ISP and a few ( 7, last time I checked ) local routes from the second.
Basically this is a vanilla config of IOS 12.2(31). I enabled CEF, which seems to have improved things slightly.
If I'm reading this correctly, we're not running low on memory:
Border#sh mem sum Head Total(b) Used(b) Free(b) Lowest(b) Largest(b) Processor 61FC14C0 96725824 5888480 90837344 8929864089243144 I/O 7C00000 4194312 2321752 1872560 1872560 1872508
What else should I be looking at? I can't believe this router is actually choking on our (relatively) minimal amount of throughput...