Understanding web #acceleration techniques and when to apply them
We’ve already discussed the difference between acceleration and optimization, so now it’s time to quickly dig into the difference between the two major types of acceleration: WPO (Web Performance Optimization) and FEO (Front End Optimization).
The difference is important because each technique is effective at addressing different performance bottlenecks, and obviously applying the wrong solution to the problem will not provide the desired results, i.e. fast, fast, fast web applications.
WPO focuses on content delivery, which means it applies different optimization techniques to counter poorly performing networks and servers. WPO will use various TCP optimizations to redress issues in the network related to TCP connections between the client and the server such as retransmission storms caused by overly congested network conditions. WPO will also apply compression to content to minimize the size and reduce the number of packets that must traverse the network. This is a boon over higher latency and/or lower bandwidth connections in improving transfer speed.
FEO, on the other hand, focuses on content transformation. This requires actually changing the content in some way as a means to improve overall performance. Modifying (often merely adding) cache control headers can dramatically improve performance by forcing the use of caching on infrequently changing content. Similarly, techniques like domain sharding that increase the parallelization of requests can reduce the transfer time for what are increasingly large object sets, resulting in (at least perceived) improvements in performance.
Some FEO solutions further manipulate the actual content of the page, rearranging the objects and elements so as to be optimally retrieved and rendered by the browser being used. As the way in which rendering engines work varies from browser to browser, this can actually have a significant impact on the (at least perceived) performance of a web application. FEO solutions are best for complex web pages with many elements and objects, as these benefit from techniques like caching and domain sharding because the bottleneck is in the number of requests required to retrieve a page as opposed to transfer speed. The use of FEO is a primary means of improving performance to not only mobile clients but especially mobile clients over mobile networks. Elimination of white space and comments (minification), image optimization (removal of EXIF data, for example) is particularly effective at reducing content size and therefore improving performance for mobile clients.
The best solution is, of course, an intelligent acceleration intermediary capable of determining based on context which combination of the two techniques will optimally improve performance, as it is generally true that no single technique will unilaterally improve performance.
WILS: Write It Like Seth. Seth Godin always gets his point across with brevity and wit. WILS is an ATTEMPT TO BE concise about application delivery TOPICS AND just get straight to the point. NO DILLY DALLYING AROUND.