I had to fight this battle in 1998 with a DSL SoHo modem/NAT router (single box) with a 10Mb/S Ethernet jack routing through an ADSL modem with a maximum speed of 8Mb/S Down and 1Mb/S Up. The 'Up' path was killer with the PC trying to stream 10Mb/S Ethernet into a NAT router that could (at best) dump 1Mb/S up through DSL.
So a 10/1 ratio.
And yes, make your buffers too big (we had relatively tons of memory) and all you get is weird latency cycles as the higher level protocols over-send, then fall back. Make your buffers to small, and the total throughput falls off, bu the latency is far more 'normal'. We ended up buffer scaling based on what the upstream connection really achieved, so larger buffers for a 1Mb/S link than for a 128Kb/S link. We would start the router at 1Mb/S buffer sizing, and scale down if the DSL link throughput was less than that.
At the time we were working through that, a number of people would scream 'just give it more buffer', not understanding how badly that broke something like TCP.