Your bandwidth doesn't determine your speed — your window size and round-trip time do. Drag the sliders to see why.
It doesn't matter if your pipe is 1 Gbps — TCP must wait for each ACK
before sending the next window of data. At 167 ms RTT with a
64 KB window, your sender is idle 99.7% of the time,
waiting for permission to send more.
Reducing RTT (closer server) or increasing the window size (TCP tuning) directly
increases throughput.
TCP uses a sliding window to control how much data can be "in flight" (sent but not yet acknowledged). The sender transmits up to window_size bytes, then stops and waits until it receives an ACK from the receiver.
Each ACK takes one full RTT (round-trip time) to arrive. So in every RTT interval, you can send at most one window's worth of data. That gives us: throughput = window_size / RTT.
This is the bandwidth-delay product problem. To fully utilize a 1 Gbps link at 167 ms RTT, you'd need a window of ~20.9 MB — far beyond the typical 64 KB default. Without tuning, you'll never come close to your link's capacity.