---
title: "BigPipe and Cloud Platform"
date: "2024-02-14T06:18:38+00:00"
summary: "Optimize Drupal website performance with BigPipe HTML delivery. Learn how to implement this technique for faster rendering, improved Time-To-Interactive, and enhanced user experience on Acquia Cloud Platform."
image:
type: "page"
url: "/acquia-cloud-platform/bigpipe-and-cloud-platform"
id: "8ced18d5-e012-4308-9dc2-b124205e3d4c"
---

With the BigPipe HTML delivery technique available in Drupal, highly personalized Drupal websites can rearrange the order in which webpage elements render for display. Portions of the webpage which contain user-specific or personalized content are initially rendered as placeholders (a technique called [auto placeholdering](https://www.drupal.org/docs/8/api/render-api/auto-placeholdering)), and are later replaced with the intended personalized content after the rest of the webpage renders.

The BigPipe technique does not change the rendering speed of the webpage—the total time spent on generating HTML remains the same. The BigPipe technique does make the following essential changes that affect how fast a browser renders a webpage and is ready for interaction, known as [Time-To-Interactive (TTI)](https://developers.google.com/web/tools/lighthouse/audits/time-to-interactive):

*   It changes the rendering order: structural (non-personalized) elements of the webpage are rendered first, and personalized elements are rendered second.
*   It sends the structural elements of the webpage to the browser before beginning the rendering the personalized elements, allowing the browser to display the structural elements almost instantaneously. It then holds the connection to the browser open while it renders the personalized elements, and streams (“flushes”) those personalized elements to the browser as soon as they’re ready.

This approach differs from the traditional “single flush” approach Drupal previously relied on, and many content management systems still do: wait until the entire HTML response is ready and then send it to the end user all at once. Until the HTML response is ready, the user’s browser must wait, and cannot interact with the webpage. BigPipe delivers a crucial part of the HTML response to the browser much earlier.

BigPipe results in significantly improved performance metrics for both [Time-To-Interactive (TTI)](https://developers.google.com/web/tools/lighthouse/audits/time-to-interactive), [Speed Index](https://developers.google.com/web/tools/lighthouse/audits/speed-index), and [First Meaningful Paint](https://developers.google.com/web/tools/lighthouse/audits/first-meaningful-paint).

For an example of webpage rendering with and without the BigPipe HTML delivery technique, see the following video:

&lt;p&gt;Websites already cached in Varnish will not see performance improvements from the BigPipe technique when delivering cached traffic, because the step of rendering HTML occurs before the webpage is cached in Varnish.&lt;/p&gt; &lt;p&gt;BigPipe accelerates authenticated traffic similar to how Varnish accelerates anonymous traffic. BigPipe is valuable when the HTML must still be generated, such as a cache &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;MISS&lt;/span&gt;&lt;/code&gt; for anonymous traffic, or for authenticated traffic&amp;#x2019;s uncacheable webpages.&lt;/p&gt; &lt;p&gt;By default, the BigPipe technique only operates on responses for requests that set a session cookie, such as users signed in to Drupal, or e-commerce requests.&lt;/p&gt; &lt;p&gt;Acquia recommends Cloud Platform subscribers also use the &lt;a class="reference external" href="https://www.drupal.org/project/big\_pipe\_sessionless"&gt;Sessionless BigPipe&lt;/a&gt; contributed module. This module applies BigPipe to anonymous traffic&amp;#x2019;s webpages not already cached in Varnish&amp;#xAE;, ensuring the first request for any webpage is delivered faster, using the BigPipe technique.&lt;/p&gt; &lt;section id="enabling-bigpipe-rendering-on-cloud-platform"&gt; &lt;span id="cloud-bigpipe-enable"/&gt;&lt;h2&gt;Enabling BigPipe rendering on Cloud Platform&lt;a class="headerlink" href="#enabling-bigpipe-rendering-on-cloud-platform" title="Permalink to this heading"&gt;&amp;#xB6;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;To enable the BigPipe rendering improvements on any website hosted on Cloud Platform running Drupal:&lt;/p&gt; &lt;ol class="arabic simple"&gt; &lt;li&gt;&lt;p&gt;&lt;em&gt;(Optional)&lt;/em&gt; Install the &lt;a class="reference external" href="https://www.drupal.org/project/big\_pipe\_sessionless"&gt;Sessionless BigPipe&lt;/a&gt; module in your codebase as described in &lt;a class="\_migrate-internal-link" href="/acquia-cms/getting-started/installing-modules"&gt;&lt;span class="doc"&gt;Installing a module compatible with the current Drupal version&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;Enable the following modules in your codebase as described in &lt;a class="\_migrate-internal-link" href="/acquia-cms/getting-started/installing-modules#resource-d8-enable-module"&gt;&lt;span class="std std-ref"&gt;Enabling a module in your codebase&lt;/span&gt;&lt;/a&gt;:&lt;/p&gt; &lt;ul class="simple"&gt; &lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://www.drupal.org/docs/8/core/modules/bigpipe/overview"&gt;BigPipe&lt;/a&gt; &lt;em&gt;(part of Drupal core)&lt;/em&gt;&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://www.drupal.org/docs/8/core/modules/dynamic-page-cache/overview"&gt;Dynamic Page Cache&lt;/a&gt; &lt;em&gt;(part of Drupal core)&lt;/em&gt;&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://www.drupal.org/project/big\_pipe\_sessionless"&gt;Sessionless BigPipe&lt;/a&gt;&lt;/p&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;p&gt;Review your caching settings, as described in &lt;a class="\_migrate-internal-link" href="/acquia-cloud-platform/performance/varnish/drupal"&gt;&lt;span class="doc"&gt;Configuring Drupal cache settings for Varnish&lt;/span&gt;&lt;/a&gt;, to ensure your website is configured to use Varnish caching.&lt;/p&gt;&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;Your website is now configured to use Varnish caching with the BigPipe rendering improvements.&lt;/p&gt; &lt;/section&gt; &lt;section id="more-information"&gt; &lt;span id="cloud-bigpipe-more-info"/&gt;&lt;h2&gt;More information&lt;a class="headerlink" href="#more-information" title="Permalink to this heading"&gt;&amp;#xB6;&lt;/a&gt;&lt;/h2&gt; &lt;ul class="simple"&gt; &lt;li&gt;&lt;p&gt;An &lt;a class="reference external" href="https://www.drupal.org/docs/8/core/modules/bigpipe/overview"&gt;overview&lt;/a&gt; of BigPipe at Drupal.org&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;A &lt;a class="reference external" href="https://www.youtube.com/watch?v=MQGUzubY35I"&gt;DrupalCon talk&lt;/a&gt; covering Drupal&amp;#x2019;s render system&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;API documentation for &lt;a class="reference external" href="https://www.drupal.org/docs/8/api/render-api/auto-placeholdering"&gt;auto placeholdering&lt;/a&gt; on Drupal.org&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://developers.google.com/web/tools/lighthouse/audits/time-to-interactive"&gt;Time-To-Interactive (TTI)&lt;/a&gt; metric&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://developers.google.com/web/tools/lighthouse/audits/speed-index"&gt;Speed Index&lt;/a&gt; metric&lt;/p&gt;&lt;/li&gt; &lt;/ul&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"/&gt;&lt;/section&gt; &lt;/section&gt; &lt;/div&gt;

Websites already cached in Varnish will not see performance improvements from the BigPipe technique when delivering cached traffic, because the step of rendering HTML occurs before the webpage is cached in Varnish.

BigPipe accelerates authenticated traffic similar to how Varnish accelerates anonymous traffic. BigPipe is valuable when the HTML must still be generated, such as a cache `MISS` for anonymous traffic, or for authenticated traffic’s uncacheable webpages.

By default, the BigPipe technique only operates on responses for requests that set a session cookie, such as users signed in to Drupal, or e-commerce requests.

Acquia recommends Cloud Platform subscribers also use the [Sessionless BigPipe](https://www.drupal.org/project/big_pipe_sessionless) contributed module. This module applies BigPipe to anonymous traffic’s webpages not already cached in Varnish®, ensuring the first request for any webpage is delivered faster, using the BigPipe technique.

Enabling BigPipe rendering on Cloud Platform
--------------------------------------------

To enable the BigPipe rendering improvements on any website hosted on Cloud Platform running Drupal:

1.  _(Optional)_ Install the [Sessionless BigPipe](https://www.drupal.org/project/big_pipe_sessionless) module in your codebase as described in [Installing a module compatible with the current Drupal version](../../resource/module-install-current-drupal-version.html).
2.  Enable the following modules in your codebase as described in [Enabling a module in your codebase](../../resource/module-install-current-drupal-version.html#resource-d8-enable-module):
    *   [BigPipe](https://www.drupal.org/docs/8/core/modules/bigpipe/overview) _(part of Drupal core)_
    *   [Dynamic Page Cache](https://www.drupal.org/docs/8/core/modules/dynamic-page-cache/overview) _(part of Drupal core)_
    *   [Sessionless BigPipe](https://www.drupal.org/project/big_pipe_sessionless)
3.  Review your caching settings, as described in [Configuring Drupal cache settings for Varnish](varnish/drupal.html), to ensure your website is configured to use Varnish caching.

Your website is now configured to use Varnish caching with the BigPipe rendering improvements.

More information
----------------

*   An [overview](https://www.drupal.org/docs/8/core/modules/bigpipe/overview) of BigPipe at Drupal.org
*   A [DrupalCon talk](https://www.youtube.com/watch?v=MQGUzubY35I) covering Drupal’s render system
*   API documentation for [auto placeholdering](https://www.drupal.org/docs/8/api/render-api/auto-placeholdering) on Drupal.org
*   [Time-To-Interactive (TTI)](https://developers.google.com/web/tools/lighthouse/audits/time-to-interactive) metric
*   [Speed Index](https://developers.google.com/web/tools/lighthouse/audits/speed-index) metric