Here is another view, showing Visual Progress (%) as a function of time.įigure 5: Visual Progress vs. ![]() This sequence is typically imperceptible to the user (fractions of a second) but is shown here in slow-motion for illustrative purposes.įigure 4: Rendering Sequence in Slow Motion This example shows the rendering sequence corresponding to the arrival of HTML chunks. įigure 3: Network Path from User to Bing Datacenter Rendering Sequence A CDN is also better able to detect issues in ISP networks and potentially move traffic to better edge nodes.īetween the Edge Node and the Bing Datacenter, the CDN ensures selection of high-bandwidth, low-latency links to the datacenter and keep connections to Bing’s services warm, ready to serve the next request with zero additional time spent on connection management. Being closer to the user helps make connection establishment and recovery times shorter. This benefits all network requests between the user and Bing’s services in regional datacenters. Using a CDN also results in a lower latency on the User ISP (Internet Service Provider) Network by keeping the connection distance short. For static assets such as JS (JavaScript) files and images, the CDN provides caching closer to the user which speeds their delivery during page load. The edge node decides based on the type of request to either proxy the request to a regional datacenter or to serve cached content from the edge node itself. User traffic routes first to the closest CDN node (called an ‘edge node’). The CDN is critical to Bing’s performance. Bing services are hosted in regional datacenters via connectivity through a CDN.įigure 2: Edge Node and Datacenter Topology The benefits of this delivery architecture are that 1) the critical path to First Render is very fast and overlapped with the “server think time”, and 2) for most searches, all content within the initial viewport can be rendered from just the base page HTML.Ī CDN (Content Delivery Network) is a large, geographically distributed network of proxy servers optimized to be closer to users and well-connected to datacenters. Note that both Chunk 1 and Chunk 2 contain inline CSS and JS in addition to HTML. Subsequent chunks, collectively called Chunk N, contain “above fold” images (visible within the initial viewport) that are Base64 encoded in the HTML. These results are aggregated into the core “search results” that are delivered as Chunk 2. In parallel with Chunk 1 delivery, requests are made to the back-end stack that contains the search index and other services. Chunk 1 contains HTML that is not a function of the specific search terms (the page header with logo, search box, and sign-in button) and is delivered immediately by the front-end servers. The search results page HTML is delivered to the client browser in multiple chunks. ![]() The delivery architecture is shown below.įigure 1: Front-End Delivery Architecture ![]() Search queries to Bing return a “search results page” that is generated using Server-Side Rendering (SSR). This blog presents the key performance techniques used by Bing’s front-end to deliver and render search results pages with world-class speed. Fast performance delights users and drives loyalty and engagement. The Bing search stack is built for speed at all layers.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |