I am using a 2811 router as my border router.  I have an Ethernet 100MB coming into it for my Internet from my ISP.  I am using an ASA5500 firewall to protect my networking and NAT is being done on that.  The 2811 is just a border router not doing NAT or anything else just routing traffic from the Fa0/0 interface to the fa0/1 interface.   If I test to the ISP's test site I get 90MB at local sites but 30-60MB to there remote sites.  They say this is due to windowing as the distance increases.  The 2811 seems to be running fine.  CPU is 20% during the day and drops to almost 0 at night.  Memory is 6%.
Could the reason I am not seeing higher through put the 2811?  Should I be using a beefer router?