In our last newsletter, we discussed the role of an Application Delivery Controller (ADC) and highlighted the fact that ADCs offload computationally-intensive, communications processing off of servers. In this newsletter we will discuss some of the specific functionality provided by an ADC.
Application Delivery 2.0 and ADCs
In a typical Web environment, supporting TCP session maintenance places a significant burden on servers. This burden increases as the setup/teardown rate and the number of simultaneous connections increases. For example, in a high throughput environment, a server can spend up to 90% of its CPU resources just dealing with TCP connections. While persistent connections improve the way HTTP and TCP work together, they end up benefiting the client more than they do the server.
In order to enable servers to spend the bulk of their resources doing useful work (for example serving up objects and processing transactions), an ADC must support a technology known as TCP offload and multiplexing. The role of TCP offload and multiplexing is to minimize the overhead associated with TCP session maintenance, both with regards to the overhead associated with setting up and tearing down sessions, as well as the overhead that is associated with maintaining a large number of sessions. By performing this role, the ADC maximizes the amount of useful work that can be performed by a server.
In order to perform TCP offload and multiplexing, the ADC functions as an intermediary between the client base and the server. In this role, the ADC acts as the server towards the clients, while simultaneously acting as a client to the server. The ADC assumes the responsibility of dealing with all client-side connections and it also consolidates the front-end object requests from the many client-side connections onto a few server-side connections. The connections on the server side are sessions with a long lifetime that are used repeatedly as new object requests are received.
Our next newsletter will discuss some additional functionality provided by an ADC.




