-
Notifications
You must be signed in to change notification settings - Fork 116
Add support for BigPipe #146
Comments
Drops-8 and Pantheon Varnish are compatible with BigPipe. Pantheon's edge routing layer is still buffering output, though. This issue is being tracked internally. |
It has been six months since the last update, any news? |
Any update in the last 9 months? |
BigPipe is officially stable in Drupal 8.3.0. We also have the new Sessionless BigPipe module, which also requires unbuffered output in our edge routing layer to work. These modules are important & should be supported on Pantheon. We do not have an announced support date for this work yet, though. |
While Drupal sees major gains from the current implementations of BigPipe, they're actually kind of mediocre compared to what's possible, and that's where my mind is at. It also won't be very long before HTTP/2 is available platform-wide (cough already running on some sites cough and available to all others if you throw Cloudflare or Fastly in front), which actually does what BigPipe wants (server push of additional assets) in a semantic way rather than a clever abuse of HTTP/1.1 chunking and streaming. This approach should win against HTTP/1.1 BigPipe streaming several times over:
In short, BigPipe with HTTP/1.1 streaming has put a lot of good infrastructure into Drupal's core, but it's a mediocre way to optimize, whether your goal is (1) time to basic page usability, (2) time to most content being available, or (3) time to pages rendering on further interaction with the site. |
We should think about how to "do it right" for logged-in users, which is the big benefit of BigPipe. As it stands, our Varnish implementation gives a big ol "nope" when there's an active session. |
One good advantage of bigpipe over http2 is current browser/older browser support. USA numbers as of May 31, 2007 |
Now that BigPipe is enabled by default on Drupal 8.5, is that something we should manually disable on Pantheon sites, or can it remain enabled without causing problems? |
I disable BigPipe when running the Behat tests on the various drops-8 modules, as BigPipe interferes with Behat's ability to follow the redirects that happen on progress bar pages. For other uses, leaving BigPipe on should not cause any adverse effects. However, since it will not provide any benefit either, you might as well uninstall the module on your Pantheon sites. |
…mented known issues with modules on their platform. - guidance: pantheon-systems/drops-8#146 - known issues: https://pantheon.io/docs/modules-known-issues#bigpipe
* sg-1172 - update Meetings views * sg-1172 - update node meeting header * [SG-1203] Track Back to top button in Amplitude. * [sg-1153] Fix conflict-related issues. (#632) Caused by #592 and #606 working on the same filters. * SG-1070 Search translation (#536) * sg-1070 Allow translation of all pages, not just nodes and views. * sg-1070 Search block submit and autocomplete use current page language. * sg-1070 Do not translate certain strings from the search results. * sg-1070 Fix route parameters bug. * sg-1070 Add query params to translations redirect. Co-authored-by: Anthony Kong <[email protected]> * sg-1203 - put back to top link in twig so amplitude js registers the link for events * sg-1001 - update sso url (#635) * Deploy issues (#637) * callout component * add include paths for sass imports * remove sf design system as drupal library * clean up import of older pattern lab, explicit imports of sf-design-system * compiled css * lower case package name * [SG-1134] Fix People section has pixellated photos. (#627) * Deploy issues (#640) * callout component * add include paths for sass imports * remove sf design system as drupal library * clean up import of older pattern lab, explicit imports of sf-design-system * compiled css * lower case package name * more callout issues * remove h1 tag for header with banner image to accommodate form confirmation page * reorder sf-design-system imports * fix alert link color * Upgrade formio-sfds to 6.1.0 * Upgrade formiojs to 4.11.2, formio-sfds to 6.2.0 * sg-1205 - gTranslate label should be visually hidden rather than display none. * sg-1205 - Fix issue with malformed attributes. * sg-1205 -Ttechnically should be novalidate=“novalidate” * sg-1025 - aria-expanded is required for combobox/listbox implementation. * sg-1205: Attach a form_id to all form elements so they can be targeted. * sg-1205: Fix broken aria-describedby reference… due to core bug: https://www.drupal.org/node/2839344 * sg-1205 - Fix heading level for meeting node titles… h1. Past meetings h2. Month h3. Date h4. Meeting node title * [1198] Documents without attachments (#638) * [1198] Documents without attachments * [1198] fix error on empty attachment * [SG-1198] update text style and doc spacing * [SG-1198] update node.inc with link documents * use formio-sfds release candidate 6.2.0-rc.aa6ad2f * [SG-1204] add text item to agenda items * [SG-1206] meeting archive committes * Remove white background from services <details> * bring back <details> background, add border-radius * Update _details.scss * promote <details> border-radius to element selector * bring back the white <summary> background * SG-1215 - Run the theme build to capture @shawnbot’s fix. * [SG-1150] Add image attribution fields to image entity. * [SG-1150] Make sure media edit form shows list of licenses. * [SG-1150] Move image attribute logic into separate module. * [SG-1150] Enable custom image attributes module. * Remove incorrectly added module. * [SG-1150] Hide unused fields from image form. * [SG-1150] Hide translation options. * SG-1209 - Remove focus upon expanding filters. * Use of button + ::before inherits unwanted styles and… @exends m13 field type from sf-design-system, which broke these styles. Luckily we don’t need it. * Udate NPM dependencies. * [SG-1204] update text-format SF restrict html * add scripts/create-deployment, use in circleci NOTIFY * SG-1184 - componentize people section a bit, remove people section specific styles from public body css * SG-1184 - people section exceptions for front page * SG-1184 - compiled css * [SG-1081] Remove button patch and styles. * SG-1184 - light slate person titles * move create-deployment to scripts/github * move environment bits into create-deployment script * nix unused NOTIFY env var; call create-deployment * rename create-deployment to update-deploy-status, etc. * checkout before running update-deploy-status * use oauth token; output deployment JSON * use the same composer image as the build job * include defaults in update-deploy-status job * ok, use $GITHUB_TOKEN * better debugging, fix typo * fix typo, better debugging * wait for build_deploy_and_test before update_deploy_status * add required_contexts to deployment payload * fix required_contexts, better logging * set a global DEPLOY_URL env var, use it * export DEPLOY_URL via $BASH_ENV * nix DEPLOY_URL debug step * nix transient_environment: true from test deployment payload * sg-1207 - Remove arrows from prev/next pager text. (#655) * use MULTIDEV_SITE_URL instead of DEPLOY_URL I dug this up in the pantheon build tools set-environment script that we're calling: https://github.com/pantheon-systems/docker-build-tools-ci/blob/6.x/scripts/set-environment#L103 * better json formatting * delete scripts/gitlab/add-commit-comment * add transient_environment + environment_url to deployment payload * use printf to avoid quote escape hell * sg-1210 - Install pantheon_advanced_page_cache module. (#656) * use $TERMINUS_ENV for the deployment environment * sg-1188 - Fix hover state of footer links. (#654) * [SG-1082] Reinstall Media module Views configuration. * [SG-1082] Uninstall BigPipe based on guidance from Pantheon, and documented known issues with modules on their platform. - guidance: pantheon-systems/drops-8#146 - known issues: https://pantheon.io/docs/modules-known-issues#bigpipe * Gi suite screenshots (#664) * echo suite result id for testing * post slack message when suite completes * also send individual test results to slack * pin [email protected] * Updates - D8 core 8.9.6 (#670) Co-authored-by: Gabe <[email protected]> * Use github action to trigger circleci build for main branch (#674) * Create trigger-circleci-main.yml * test if develop branch builds * test push this branch * set push and build branches to main Co-authored-by: Gabe <[email protected]> Co-authored-by: Minnur Yunusov <[email protected]> Co-authored-by: Jacine Luisi <[email protected]> Co-authored-by: Arlina Espinoza Rhoton <[email protected]> Co-authored-by: Shawn Allen <[email protected]> Co-authored-by: Carlos Espinoza <[email protected]> Co-authored-by: Gabe <[email protected]>
* sg-1172 - update Meetings views * sg-1172 - update node meeting header * [SG-1203] Track Back to top button in Amplitude. * [sg-1153] Fix conflict-related issues. (#632) Caused by #592 and #606 working on the same filters. * SG-1070 Search translation (#536) * sg-1070 Allow translation of all pages, not just nodes and views. * sg-1070 Search block submit and autocomplete use current page language. * sg-1070 Do not translate certain strings from the search results. * sg-1070 Fix route parameters bug. * sg-1070 Add query params to translations redirect. Co-authored-by: Anthony Kong <[email protected]> * sg-1203 - put back to top link in twig so amplitude js registers the link for events * sg-1001 - update sso url (#635) * Deploy issues (#637) * callout component * add include paths for sass imports * remove sf design system as drupal library * clean up import of older pattern lab, explicit imports of sf-design-system * compiled css * lower case package name * [SG-1134] Fix People section has pixellated photos. (#627) * Deploy issues (#640) * callout component * add include paths for sass imports * remove sf design system as drupal library * clean up import of older pattern lab, explicit imports of sf-design-system * compiled css * lower case package name * more callout issues * remove h1 tag for header with banner image to accommodate form confirmation page * reorder sf-design-system imports * fix alert link color * Upgrade formio-sfds to 6.1.0 * Upgrade formiojs to 4.11.2, formio-sfds to 6.2.0 * sg-1205 - gTranslate label should be visually hidden rather than display none. * sg-1205 - Fix issue with malformed attributes. * sg-1205 -Ttechnically should be novalidate=“novalidate” * sg-1025 - aria-expanded is required for combobox/listbox implementation. * sg-1205: Attach a form_id to all form elements so they can be targeted. * sg-1205: Fix broken aria-describedby reference… due to core bug: https://www.drupal.org/node/2839344 * sg-1205 - Fix heading level for meeting node titles… h1. Past meetings h2. Month h3. Date h4. Meeting node title * [1198] Documents without attachments (#638) * [1198] Documents without attachments * [1198] fix error on empty attachment * [SG-1198] update text style and doc spacing * [SG-1198] update node.inc with link documents * use formio-sfds release candidate 6.2.0-rc.aa6ad2f * [SG-1204] add text item to agenda items * [SG-1206] meeting archive committes * Remove white background from services <details> * bring back <details> background, add border-radius * Update _details.scss * promote <details> border-radius to element selector * bring back the white <summary> background * SG-1215 - Run the theme build to capture @shawnbot’s fix. * [SG-1150] Add image attribution fields to image entity. * [SG-1150] Make sure media edit form shows list of licenses. * [SG-1150] Move image attribute logic into separate module. * [SG-1150] Enable custom image attributes module. * Remove incorrectly added module. * [SG-1150] Hide unused fields from image form. * [SG-1150] Hide translation options. * SG-1209 - Remove focus upon expanding filters. * Use of button + ::before inherits unwanted styles and… @exends m13 field type from sf-design-system, which broke these styles. Luckily we don’t need it. * Udate NPM dependencies. * [SG-1204] update text-format SF restrict html * add scripts/create-deployment, use in circleci NOTIFY * SG-1184 - componentize people section a bit, remove people section specific styles from public body css * SG-1184 - people section exceptions for front page * SG-1184 - compiled css * [SG-1081] Remove button patch and styles. * SG-1184 - light slate person titles * move create-deployment to scripts/github * move environment bits into create-deployment script * nix unused NOTIFY env var; call create-deployment * rename create-deployment to update-deploy-status, etc. * checkout before running update-deploy-status * use oauth token; output deployment JSON * use the same composer image as the build job * include defaults in update-deploy-status job * ok, use $GITHUB_TOKEN * better debugging, fix typo * fix typo, better debugging * wait for build_deploy_and_test before update_deploy_status * add required_contexts to deployment payload * fix required_contexts, better logging * set a global DEPLOY_URL env var, use it * export DEPLOY_URL via $BASH_ENV * nix DEPLOY_URL debug step * nix transient_environment: true from test deployment payload * sg-1207 - Remove arrows from prev/next pager text. (#655) * use MULTIDEV_SITE_URL instead of DEPLOY_URL I dug this up in the pantheon build tools set-environment script that we're calling: https://github.com/pantheon-systems/docker-build-tools-ci/blob/6.x/scripts/set-environment#L103 * better json formatting * delete scripts/gitlab/add-commit-comment * add transient_environment + environment_url to deployment payload * use printf to avoid quote escape hell * sg-1210 - Install pantheon_advanced_page_cache module. (#656) * use $TERMINUS_ENV for the deployment environment * sg-1188 - Fix hover state of footer links. (#654) * [SG-1082] Reinstall Media module Views configuration. * [SG-1082] Uninstall BigPipe based on guidance from Pantheon, and documented known issues with modules on their platform. - guidance: pantheon-systems/drops-8#146 - known issues: https://pantheon.io/docs/modules-known-issues#bigpipe * Gi suite screenshots (#664) * echo suite result id for testing * post slack message when suite completes * also send individual test results to slack * pin [email protected] * Updates - D8 core 8.9.6 (#670) Co-authored-by: Gabe <[email protected]> * Use github action to trigger circleci build for main branch (#674) * Create trigger-circleci-main.yml * test if develop branch builds * test push this branch * set push and build branches to main * gh action and ghost inspector suite results (#676) * add content type header for curl post * check for failures first for ghost inspector suite results Co-authored-by: Gabe <[email protected]> Co-authored-by: Minnur Yunusov <[email protected]> Co-authored-by: Jacine Luisi <[email protected]> Co-authored-by: Arlina Espinoza Rhoton <[email protected]> Co-authored-by: Shawn Allen <[email protected]> Co-authored-by: Carlos Espinoza <[email protected]> Co-authored-by: Gabe <[email protected]>
* sg-1172 - update Meetings views * sg-1172 - update node meeting header * [SG-1203] Track Back to top button in Amplitude. * [sg-1153] Fix conflict-related issues. (#632) Caused by #592 and #606 working on the same filters. * SG-1070 Search translation (#536) * sg-1070 Allow translation of all pages, not just nodes and views. * sg-1070 Search block submit and autocomplete use current page language. * sg-1070 Do not translate certain strings from the search results. * sg-1070 Fix route parameters bug. * sg-1070 Add query params to translations redirect. Co-authored-by: Anthony Kong <[email protected]> * sg-1203 - put back to top link in twig so amplitude js registers the link for events * sg-1001 - update sso url (#635) * Deploy issues (#637) * callout component * add include paths for sass imports * remove sf design system as drupal library * clean up import of older pattern lab, explicit imports of sf-design-system * compiled css * lower case package name * [SG-1134] Fix People section has pixellated photos. (#627) * Deploy issues (#640) * callout component * add include paths for sass imports * remove sf design system as drupal library * clean up import of older pattern lab, explicit imports of sf-design-system * compiled css * lower case package name * more callout issues * remove h1 tag for header with banner image to accommodate form confirmation page * reorder sf-design-system imports * fix alert link color * Upgrade formio-sfds to 6.1.0 * Upgrade formiojs to 4.11.2, formio-sfds to 6.2.0 * sg-1205 - gTranslate label should be visually hidden rather than display none. * sg-1205 - Fix issue with malformed attributes. * sg-1205 -Ttechnically should be novalidate=“novalidate” * sg-1025 - aria-expanded is required for combobox/listbox implementation. * sg-1205: Attach a form_id to all form elements so they can be targeted. * sg-1205: Fix broken aria-describedby reference… due to core bug: https://www.drupal.org/node/2839344 * sg-1205 - Fix heading level for meeting node titles… h1. Past meetings h2. Month h3. Date h4. Meeting node title * [1198] Documents without attachments (#638) * [1198] Documents without attachments * [1198] fix error on empty attachment * [SG-1198] update text style and doc spacing * [SG-1198] update node.inc with link documents * use formio-sfds release candidate 6.2.0-rc.aa6ad2f * [SG-1204] add text item to agenda items * SG-1191 - move referenced pattern lab templates into theme * SG-1191 - update css after moving pattern lab components around * SG-1191 - remove pattern lab from libraries * SG-1191 - compiled css * SG-1191 - remove pattern lab from composer, update lock * SG-1191 - fix broken accordion details, section spacing, tabbed nav, and status messages * SG-1191 - compiled css * [SG-1206] meeting archive committes * src/ SG-1191 - move sf-design-system into theme * SG-1191 - compiled css * SG-1191 - remove sf-design-system from composer * Remove white background from services <details> * bring back <details> background, add border-radius * Update _details.scss * promote <details> border-radius to element selector * bring back the white <summary> background * SG-1215 - Run the theme build to capture @shawnbot’s fix. * [SG-1150] Add image attribution fields to image entity. * [SG-1150] Make sure media edit form shows list of licenses. * [SG-1150] Move image attribute logic into separate module. * [SG-1150] Enable custom image attributes module. * SG-1191 - trim down form field styles * Remove incorrectly added module. * [SG-1150] Hide unused fields from image form. * [SG-1150] Hide translation options. * SG-1209 - Remove focus upon expanding filters. * Use of button + ::before inherits unwanted styles and… @exends m13 field type from sf-design-system, which broke these styles. Luckily we don’t need it. * Udate NPM dependencies. * [SG-1204] update text-format SF restrict html * add scripts/create-deployment, use in circleci NOTIFY * SG-1184 - componentize people section a bit, remove people section specific styles from public body css * SG-1184 - people section exceptions for front page * SG-1184 - compiled css * [SG-1081] Remove button patch and styles. * SG-1184 - light slate person titles * move create-deployment to scripts/github * move environment bits into create-deployment script * nix unused NOTIFY env var; call create-deployment * SG-1191 - defaut image style props * SG-1191 - fix pagination display * SG-1191 - unnecessary base import * Sg-1191 - search button text color * rename create-deployment to update-deploy-status, etc. * checkout before running update-deploy-status * use oauth token; output deployment JSON * use the same composer image as the build job * include defaults in update-deploy-status job * ok, use $GITHUB_TOKEN * better debugging, fix typo * fix typo, better debugging * wait for build_deploy_and_test before update_deploy_status * SG-1191 - update document icon * add required_contexts to deployment payload * SG-1191 - fix meeting heading * SG-1191 - compiled css * fix required_contexts, better logging * set a global DEPLOY_URL env var, use it * export DEPLOY_URL via $BASH_ENV * nix DEPLOY_URL debug step * nix transient_environment: true from test deployment payload * sg-1207 - Remove arrows from prev/next pager text. (#655) * use MULTIDEV_SITE_URL instead of DEPLOY_URL I dug this up in the pantheon build tools set-environment script that we're calling: https://github.com/pantheon-systems/docker-build-tools-ci/blob/6.x/scripts/set-environment#L103 * better json formatting * delete scripts/gitlab/add-commit-comment * add transient_environment + environment_url to deployment payload * use printf to avoid quote escape hell * sg-1210 - Install pantheon_advanced_page_cache module. (#656) * use $TERMINUS_ENV for the deployment environment * sg-1188 - Fix hover state of footer links. (#654) * Create lighthouse.yml * Create .lighthouserc.js * [SG-1082] Reinstall Media module Views configuration. * [SG-1082] Uninstall BigPipe based on guidance from Pantheon, and documented known issues with modules on their platform. - guidance: pantheon-systems/drops-8#146 - known issues: https://pantheon.io/docs/modules-known-issues#bigpipe * adjust wait-for-deployment timings * SG-1191 - title-2 for resource collection heading * SG-1191 - search and header css fixes * SG-1191 - compiled css * SG-1191 - focus outline for things * Gi suite screenshots (#664) * echo suite result id for testing * post slack message when suite completes * also send individual test results to slack * pin [email protected] * SG-1191 - bring back form stuff * SG-1191 - header search icon getting cut off * SG-1191 - compiled css * SG-1191 - fix search box padding on mobile * Updates - D8 core 8.9.6 (#670) Co-authored-by: Gabe <[email protected]> * SG-1191 - fix search icon padding * wait 60s between deployment checks * trigger LHCI on deployment_status * Use github action to trigger circleci build for main branch (#674) * Create trigger-circleci-main.yml * test if develop branch builds * test push this branch * set push and build branches to main * [SG-1223] Fix link color in Feedback form success message. * [SG-1223] Make Form.io aware of whether the page is a. “Form page” or not. * [SG-1223] Set a min-height to account for compact Feedback form… which only shows “Report something wrong with this page” by default. * [SG-1223]: Fix form page spacing on small screens. * gh action and ghost inspector suite results (#676) * add content type header for curl post * check for failures first for ghost inspector suite results * use git-the-branch@v1 * [SG-1138] News card displays for topics and departments should use card_compact which does not render an image. * [SG-1138] Refactor and document “News card” … - So there is no longer homepage-specific code, with a different layout technique. - Use the proper view mode when there is an image (homepage) vs not (everywhere else. - All the news card CSS lives in one place. - Change the breakpoint for when the image appears, as there is never enough room for it to look good until $narrow-screen. * Add composer manifest. (#680) * update cookies lifespan to 90 days (#625) * [SG-1151] Display image attributes. (#651) * [SG-1151] Display image attribution on front-end. * [SG-1151] Remove VariantCache from extensions list. * [SG-1151] Refine template. * [SG-1151] Hide unused fields from media image form. * [SG-1151] Hide unused fields from media image form. * SG-787 - Hide title for mailing addresses (#669) * sg-787 - Hide title for mailing addresses * sg-787 - Comment update to trigger PR build * Revert "sg-787 - Comment update to trigger PR build" This reverts commit 1d353db. Co-authored-by: Gabe <[email protected]> * [SG-1157] Update remaining Drupal modules. (#628) * [SG-1157] Update remaining Drupal modules. * Install security update for Group module. * Upgrade Drupal core to 8.9.3. Group module security update. * Capture config changes. * Refine circles deployment script. * [SG-1157] Fix duplication issue. * Sg-1157 - conflicts Co-authored-by: Anthony Kong <[email protected]> * sg-1027 - Update mailing address template for transactions (#667) Co-authored-by: Gabe <[email protected]> * SG-1181 - Meetings date format for card display (#679) Co-authored-by: Gabe <[email protected]> * [SG-1194] Add a new theme region “top”. * [SG-1194] Place gtranslate block in top. * [SG-1194] Patch gtranslate module to add a new type: links * [SG-1194] Update configuration to use new ‘links’ type. * [SG-1194] Remove label. * [SG-1194] Adapt code to use links instead of select. * [SG-1194] New translation link styles. * [SG-1194] Override Chinese language name from 繁體中文 to 中文. * [SG-1194] Make Chinese link always use Noto Sans. * [SG-1194] Add data-gtranslate back. * [SG-1194] Cleanup + tweaks for Chinese. * [SG-1194] Fix order/indentation. * [SG-1194] Fix order/indentation (again). * [SG-1194] Add href to links, and set active class at that point. * [SG-1194] Change the sort order to: English, Español, 中文, Filipino. * [SG-1194] Adjust the placement of the Chinese link. * [SG-1194] Adjust alignment further on iOS. * [SG-1194] Override cursor and remove underline for active language link. * Run composer update lock after #628 merge. * Commit outstanding configuration. * Upgrade [email protected] (#695) See SFDigitalServices/formio-sfds#109 for more info * SG-1191 - lost card and container stuff in merge * SG-1191 - fix headings on meetings (and probably other places) * SG-1191 - repetitive base font size * SG-1191 - update composer lock Co-authored-by: Gabe <[email protected]> Co-authored-by: Minnur Yunusov <[email protected]> Co-authored-by: Jacine Luisi <[email protected]> Co-authored-by: Arlina Espinoza Rhoton <[email protected]> Co-authored-by: Shawn Allen <[email protected]> Co-authored-by: Carlos Espinoza <[email protected]> Co-authored-by: Gabe <[email protected]> Co-authored-by: henry jiang <[email protected]>
@davidstrauss In your 2017 comment you wrote:
This is inaccurate. BigPipe in Drupal is not designed for making assets load faster. It's designed to allow Drupal to serve already-rendered content immediately to the browser, and while the browser already renders that (and fetches CSS, JS, images …), Drupal can simultaneously continue rendering of HTML (and doing whatever computing/data fetching necessary for it) on the server. That is why it uses chunked transfers: to send HTML content as fast to the client as possible, not assets. (Also, by now, HTTP/2 Server Push is effectively dead, because it didn't actually end up working in the real world. But just like you, I was hoping that it would make all the difference for assets, and we'd have been able to remove complex bundling/aggregation logic in Drupal! Chrome removed it in 2020.) Fast forward to 2023, and PHP 8.1 is required by Drupal 10 and comes with Fibers. An issue to update BigPipe in Drupal core to use Fibers is RTBC. This will mean that rather than rendering that placeholdered content in sequence, it can be rendered in parallel on the server (well, they're still rendered sequentially but the I/O blocking that rendering can happen in parallel). Time to reconsider? 😊 |
Just to follow-up on Wim's comment. This is just not how Drupal core works at all. Drupal's assets are always served from the filesystem, they're never streamed from the object cache. BigPipe slightly modifies when particular script or stylesheet link tags might get rendered but it doesn't fundamentally change core's asset rendering logic at all. The Fibers patch, once we've got some extra pieces in place, will mean mean that even with edge cache buffering, there is likely to still be some benefit to sites from running the BigPipe module. For an over-simplified example, if you have four blocks that each do something (http request, database query) that can be handled async and take 3 seconds each, instead of 12 seconds to get through each sequentially, could potentially be done in parallel in 3 seconds. That would allow the page to be served 9 seconds faster even with BigPipe's streaming logic being hamstrung by Pantheon. Actual BigPipe would take the ttfb down closer to milliseconds with or without the Fibers patch, but it makes pantheon-systems/documentation#3596 even less correct once we get to Drupal 10.2 or 10.3 even without supporting it properly. edited to add: it's possible we'll eventually support Fibers in the non-bigpipe rendering implementations too, but for now that was the obvious place to start. |
This is key for us. Our move to Pantheon has noticeably slowed down the perceived speed of loading of pages for authenticated users - I think because we no longer get the advantage of BigPipe for them. (Noticeably in the sense that users have complained...!). It would be great if there was a solution for logged in users that leveraged all this existing cleverness to lower TTFB and FCP. |
We want to be able to defer the loading of slow content blocks while maintaining page cache. |
BigPipe was added to Drupal 8.1 core but is currently not supported by Pantheon.
Varnish rules notes from Power Users topic.
The text was updated successfully, but these errors were encountered: