Dynamic site acceleration
   HOME

TheInfoList



OR:

Dynamic Site Acceleration (DSA) is a group of technologies which make the delivery of dynamic websites more efficient. Manufacturers of
application delivery controller An application delivery controller (ADC) is a computer network device in a datacenter, often part of an application delivery network (ADN), that helps perform common tasks, such as those done by web accelerators to remove load from the web servers ...
s and
content delivery network A content delivery network, or content distribution network (CDN), is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by distributing the service spatially rel ...
s (CDNs) use a host of techniques to accelerate dynamic sites, including: *Improved connection management, by multiplexing client connections and HTTP keep-alive * Prefetching of uncachable web responses *Dynamic cache control *On-the-fly compression *Full page caching *Off-loading SSL termination *Response based
TTL TTL may refer to: Photography * Through-the-lens metering, a camera feature * Zenit TTL, an SLR film camera named for its TTL metering capability Technology * Time to live, a computer data lifespan-limiting mechanism * Transistor–transistor lo ...
-assignment (bending) *TCP optimization *Route optimization


Techniques


TCP multiplexing

An edge device, either an
ADC ADC may refer to: Science and medicine * ADC (gene), a human gene * AIDS dementia complex, neurological disorder associated with HIV and AIDS * Allyl diglycol carbonate or CR-39, a polymer * Antibody-drug conjugate, a type of anticancer treatm ...
or a CDN, is capable of TCP multiplexing which can be placed between web servers and clients to offload origin servers and accelerate content delivery. Usually, each connection between client and server requires a dedicated process that lives on the origin for the duration of the connection. When clients have a slow connection, this occupies part of the origin server because the process has to stay alive while the server is waiting for a complete request. With TCP multiplexing, the situation is different. The device obtains a complete and valid request from the client before sending this to the origin when the request has fully arrived. This offloads application and database servers, which are slower and more expensive to use compared to ADCs or CDNs.


Dynamic cache control

HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
has a built-in system for cache control, using headers such as ETag, "expires" and "last modified". Many CDNs and ADCs that claim to have DSA, have replaced this with their system, calling it dynamic caching or dynamic cache control. It gives them more options to invalidate and bypass the cache over the standard HTTP cache control. The purpose of dynamic cache control is to increase the cache-hit ratio of a website, which is the rate between requests served by the cache and those served by the normal server. Due to the dynamic nature of web 2.0 websites, it is difficult to use static
web caching A Web cache (or HTTP cache) is a system for optimizing the World Wide Web. It is implemented both client-side and server-side. The caching of multimedias and other files can result in less overall delay when browsing the Web. Parts of the syste ...
. The reason is that dynamic sites, per definition, have personalized content for different users and regions. For example, mobile users may see different content from what desktop users may see, and registered users may need to see different content from what anonymous users see. Even among registered users, content may vary widely, often example being
social media Social media are interactive media technologies that facilitate the creation and sharing of information, ideas, interests, and other forms of expression through virtual communities and networks. While challenges to the definition of ''social medi ...
websites. Static caching of dynamic user-specific pages introduces a potential risk of serving irrelevant content or 3rd party's content to the wrong users, if the identifier allowing the caching system to differentiate content, the URL/GET-request, isn't correctly varied by appending user-specific tokens/keys to it. Dynamic cache control has more options to configure caching, such as cookie-based cache control, that allows serving content from cache based on the presence or lack of specific cookies. A cookie stores the unique identifier-key of a logged-in user on their device and it's already implemented for authenticating users upon execution of any page that opens a session, in a dynamic caching system, the caches are referred to by URL as well as the cookie keys, allowing to simply enable serving of default caches to anonymous users and personalized caches to logged-in users (without forcing you to modify the code, to make it append additional user identifiers to the URL, like in a static caching system).


Prefetching

If personalized content cannot be cached, it might be queued on an edge device. This means that the system will store a list of possible responses that might needed in the future, allowing them to be readily served. This differs from caching as prefetched responses are only served once, being especially useful for accelerating responses of third-party APIs, such as advertisements.


Route Optimization

Route optimization, also known as "latency-based routing", optimizes the route of traffic between clients and the different origin servers in order to minimize latency. Route optimization can be done by a DNS provider or by a CDN. Route optimization comes down to measuring multiple paths between the client and origin server, and then recording the fastest path between them. This path is then used to serve content when a client in a specific geographical zone makes a request.


Relationship with Front-end Optimization

Although Front-end Optimization (FEO) and DSA both describe a group of techniques to improve online content delivery, they work over different aspects. There are overlaps, such as on-the-fly data compression and improved cache-control, however, the key differences are: *FEO focuses on changing the actual content, whereas DSA focuses on improving content delivery without touching content (i.e. DSA has verbatim delivery of content). DSA focuses on optimizing bit delivery across the network, ''without'' changing the content while FEO aims to decrease the number of objects required to download websites, ''and'' to decrease the total amount of traffic. This can be done by device-aware content serving (e.g. dropping the quality of images), minification,
resource consolidation Resource refers to all the materials available in our environment which are technologically accessible, economically feasible and culturally sustainable and help us to satisfy our needs and wants. Resources can broadly be classified upon their ...
and inlining Because FEO changes the actual traffic, configuration tends to be more difficult, as there is a risk of affecting the user-experience, by serving content that was incorrectly changed. *DSA focuses on decreasing page-loading times ''and'' offloading web-servers, especially for dynamic sites. FEO focuses primarily on decreasing page loading times and reducing bandwidth. Still, cost-savings on origin servers can also be made by implementing FEO as it decreases page-loading time, without rewriting code, consequently saving man-hours that would normally be necessary to optimize the code. Also, revenue might increase from lower page-loading times


References

{{reflist Computer networking Web services