Let's use a real example to see TCP's performance. This is over a 1Gb/s link with varying RTT and loss rate. On local area networks (RTT is about 1ms) and the loss rate is low (0.01%), TCP can work well. And as loss rate increases, TCP's throughput decreases.
Now let's see what happens if the RTT becomes larger. TCP's performance drops sharply, even at a low loss rate.
Queue = 1000
0.01% 930 157 21.64 * *
0.05% 611 64 6.25
0.1% 422 47 4.27 * *
0.5% 122 19.44 * * *
1.0% 55.23 12.47 * * *