- Joined
- Sep 3, 2006
- Posts
- 10,021
- Likes
- 715
Network performance has two primary components: bandwidth and latency. Bandwidth is what everyone focuses on, but it's only half the story. Consider a pipe. The width of the pipe represents the bandwidth - a larger pipe allows you to stuff more bits in your end of the pipe and also get more bits out of the end of your pipe. Latency is the length of the pipe - how long it takes the bits you shove in one end to come out the other end. No matter how many bits you can stuff into your end, it still takes a finite amount of time for each of those bit to get from one end of the pipe to the other.
Latency becomes critically important because the typical TCP/IP connection is very "chatty". Every packet exchange actually requires a request to be sent asking if the other computer is ready, then an acknowledge, then the actual packet, then an acknowledge, then another data packet, then acknowledge, rinse, repeat. Every one of those requests and acknowledgements has to wait for the travel time - the latency. So, the ping time is actually much more than just one round trip, it's a series of round trips for all the requests, data and acknowledgements.
The farther you are to the server, and the more hops you take in-between, the worse all of this chattiness gets.
That's all happening at the packet level. There can also be a whole other level of chattiness that happens at the application layer.
Add some instances of dropped packets into the mix, and now you have to repeat packets and acknowledgements that have already been sent once.
Bottom line: Your available bandwidth can be high, and your connection can still "feel" slow.
Now - what can you do about it? Not much. Connect to servers that are closer to you and/or require less hops to get there. Make sure your own LAN is not dropping packets and has very, very low latency. Get your ISP to test your signal levels and the latency from your house to their POP.
Good luck!
Latency becomes critically important because the typical TCP/IP connection is very "chatty". Every packet exchange actually requires a request to be sent asking if the other computer is ready, then an acknowledge, then the actual packet, then an acknowledge, then another data packet, then acknowledge, rinse, repeat. Every one of those requests and acknowledgements has to wait for the travel time - the latency. So, the ping time is actually much more than just one round trip, it's a series of round trips for all the requests, data and acknowledgements.
The farther you are to the server, and the more hops you take in-between, the worse all of this chattiness gets.
That's all happening at the packet level. There can also be a whole other level of chattiness that happens at the application layer.
Add some instances of dropped packets into the mix, and now you have to repeat packets and acknowledgements that have already been sent once.
Bottom line: Your available bandwidth can be high, and your connection can still "feel" slow.
Now - what can you do about it? Not much. Connect to servers that are closer to you and/or require less hops to get there. Make sure your own LAN is not dropping packets and has very, very low latency. Get your ISP to test your signal levels and the latency from your house to their POP.
Good luck!