Drupal Performance Deep Dive - Workshop

By Anonymous (not verified), 11 September, 2024

Update

We had to cancel the workshop due to logistical reasons. The purchased tickets have been refunded.

Presenters

Workshop Overview:

Website performance is critical for both technical success and business outcomes. A fast website improves user experience, boosts SEO rankings, increases conversion rates, and even contributes to environmental sustainability by reducing server load and energy consumption. This workshop aims to guide participants through optimizing the performance of existing Drupal sites, exploring common pitfalls, and implementing best practices.

Target Audience:

Drupal developers and site builders looking to enhance the performance of their websites.

Workshop Goals:

By the end of the workshop, participants will:

  1. Understand key principles of website performance optimization, focusing on caching.
  2. Gain hands-on experience in working with Drupal’s caching mechanisms.
  3. Be able to identify and avoid common performance bottlenecks.
  4. Learn to manage uncacheable items without impacting overall page performance.
  5. Improve their ability to optimize Drupal sites, including handling dynamic content and authenticated user scenarios.
  6. Understand profiling tools for performance monitoring and optimization.

 

Workshop Agenda:

Pre-Workshop Setup

To maximize the efficiency of the workshop, all participants will receive step-by-step setup instructions prior to the event. These instructions must be completed before the workshop day to save time. We will provide support through a dedicated Slack channel on Drupal Slack for any setup-related questions, and will continue using the channel for communication on the workshop day.

Workshop Structure

The workshop will be divided into six parts:

Part 1: Introduction to Performance and Caching (1 hour)

Format: Slides & Examples
This session will cover the basics of website performance, focusing on caching. We will explore the what, why, how, and when of caching, highlighting its importance for enhancing performance. Topics will include:

  • Introduction to caching and its impact on performance.
  • Explanation of cache tagscache contexts, and cache metadata.
  • In-depth discussion of cache invalidation, cache tag versioning, and other technical mechanisms involved in caching.

 

Part 2: Cache Layers and Potential Leaks (30 minutes)

Format: Hands-on with Use-Cases
Drupal’s multi-layered caching system will be explored here. We'll dive into the different cache layers, from blocks to nodes, pages, and regions, and discuss how invalidation affects overall caching. Specific topics include:

  • Cache metadata bubbling.
  • Scenarios leading to cache metadata leaks and how to prevent them.

 

Part 3: Handling Uncacheable Items (30 minutes)

Format: Hands-on with Use-Cases
Uncacheable items can degrade the performance of a site if not handled correctly. This session will introduce strategies for managing such items:

  • Placeholdering strategies for uncacheable items.
  • Implementation techniques in Drupal core, particularly using the BigPipe module.

 

Part 4: Where to Cache & Drupal’s Interaction with External Caches (30 minutes)

Format: Hands-on with Use-Cases
This session will focus on where caching should occur within Drupal. We'll explore cache bins and external caching mechanisms:

  • Introduction to cache bins provided by Drupal core.
  • External cache solutions like MemcacheRedisAPCuVarnish, and CDNs.
  • Stampede protection strategies for frequently changing items.

 

Part 5: Authenticated User Caching & Common Pitfalls in Site Builds (30 minutes)

Format: Hands-on with Use-Cases
Authenticated users present unique challenges when caching dynamic content. This part will address these issues:

  • Introduction to Dynamic Page Cache.
  • Identifying and avoiding common pitfalls when caching for authenticated users.

 

Part 6: Profiling (30 minutes)

Format: Demonstration
Finally, participants will learn how to profile a website to identify performance bottlenecks:

  • Introduction to performance profiling tools and techniques.
  • Practical examples of how to use these tools to monitor, diagnose, and improve performance.

 

Workshop Logistics:

Duration:
4 hours

Prerequisites:
Participants must have basic experience with Drupal site building and development. The pre-workshop setup should be completed before the workshop day.

Communication:
We will use a dedicated Slack channel on Drupal Slack for all pre-workshop questions, setup, and ongoing communication during the camp day.

Materials Provided:

  • Step-by-step setup instructions
  • Presentation slides
  • Hands-on use-cases for practical learning
  • Access to example code and configurations

Workshop ticket

Confirm your participation by getting a ticket with the button below, before they are sold out!