Sources of Latency > About Caching > Reverse Proxy >
Forward Proxy
> Static vs. Dynamic Content > Deciding What to Cache

Sources of Network Latency

There are many opportunities for inefficiency in modern network architectures; latency is typically introduced at several points in a network transaction.  Cumulative latency reduces user responses time, and increases with the number of users on the network.  A few of these are listed below.

The 80/20 Rule

Data requests from large populations typically follow the 80-20 rule; 80% of the requested content is identical, while about 20% is unique.  As a result, web servers are required to process the same data repeatedly.  This is wasteful of valuable computing resources, and, as it turns out, unnecessary.

Limited Capacity

Capacity issues are the inevitable result of growth, but in matters of technology, they can be exacerbated by issues of complexity and the rapid pace of technology development.  The brute force method of solving capacity issues – purchasing more bandwidth, or more hardware – is often prohibitively expensive for small or medium-sized organizations. More hardware means more software licenses, which are usually CPU-based, and for sophisticated back office applications, licenses are expensive.

Server Churn

Dynamic web page generation in particular can significantly tax the processing capacity of a web server, especially when multiple concurrent users are being served.  In building a typical dynamic page, the web server’s ‘listener’ receives a request for dynamic content and passes that request to the application server.  The application server will then make calls to a database before formatting the response as html.  This process can be extremely processor and I/O intensive; an individual web page may involve as many as 60 round trips to the database, requiring the server to process each action.  If personalization technologies are used, the server load is still further increased. This can require a great deal of time, and is often the chief reason by dynamic web sites are so unresponsive.

TCP Session Management

The overhead required to manage large numbers of simultaneous connections in a network can be a heavy burden for network infrastructures.

Uncompressed Data

Today's web browsers support a number of different data compression methods, but these often remain unexploited by networks lacking the necessary software infrastructure.  Data compression can substantially reduce the physical amount of data sent and received by a client, thus preserving valuable network bandwidth.

Secure Sockets Layer Transactions

SSL encryption is now in widespread use by ecommerce web sites as a method of providing rudimentary security for web-based financial transactions.  Though now an industry standard, SSL introduces significant processing overhead to origin servers that must provide encryption and decryption services for all data transmitted to and from the browser.  This is expensive in terms of CPU cycles, and does not scale well as transaction volumes increase.  The result: longer wait times as users are queued up for SSL processing.

Available Bandwidth

Bandwidth for remote locations is often limited by cost, distance, media, or all three.  Bandwidth upgrades can be prohibitively expensive, particularly if international boundaries or oceans must be traversed. Rich media usage is growing across the Internet; improperly managed and monitored, it can quickly saturate distributed enterprise networks.