O'Reilly logo

Web Performance Tuning by Patrick Killelea

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

The Internet

The Internet is intrinsically less predictable than well-characterized private networks because it was built by a heterogeneous group with many different motives, budgets, and technical skills. This is not to say you can’t make some good assumptions about the throughput and latency of the Internet based on physics, the behavior of the components, and past experience.

While the latency of the Internet can be arbitrarily high, it has a fixed lower boundary given by the speed of light. The minimum latency for any information to travel 2,000 miles, for example, is (1 second / 186,000 miles) × 2,000 miles = 10.8 milliseconds

So even under the best possible circumstances, say a direct 2,000-mile ATM link over optical fiber, you’re going to have at least 10.8 ms of latency. Remember that you’ll have to send a request before getting a response, so the latency between the start of the request and the start of the response will be double that, even with infinitely fast processing time at the server. The amazing thing is that a ping across the country shows that the Internet is operating fairly close to the theoretical maximum, frequently only 30 ms or so from one coast to the other.

If you want to get a feel for the latency of your connection, run a telnet session over a long distance. Be sure the telnet server puts the telnet session in character mode rather than line mode. In character mode sessions, each keystroke is echoed across the link. In line mode, the client data is sent ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required