Excerpt
A webpage typically will be as slow as
the slowest request in the page. So if for a high traffic website like
Yahoo! frontpage has lots of such possibly slow external apis, it could
hold webserver processes and also effect user experience. Multiple Retry
is a feature meant to optimize server resource utilization and
efficiently use webserver processes/threads.
Description
Server optimization for high traffic web systems using multiple retry and learning timeout patterns.Multiple Retry is a feature meant to optimize system resource utilization while still allowing a webpage to accommodate requests that might take a long time for the responses to come back. It uses two open source technologies Squid and Traffic Server (recently open sourced by Yahoo! under apache license).
The main principle behind it is to delegate the request to an offline proxy system such as SQUID to perform the actual request. This allows the initial request to use a very small timeout but yet the proxy system will continue to wait for the request to complete and then cache the response once it comes back. A subsequent request or ‘retry request’ is made to check the data in the proxy system cache instead of the actual source. The timed out request sends the squid key back to the client to track the availability of the resource quickly without going through the normal web server route.