66% speed boost in Drupal CMS installer

66% Speed Boost in the Drupal CMS Installer
Summary:
On December 30, 2024, Darren Oh from the Drupal Forge team collaborated with Adam Globus-Hoenich (phenaproxima) on Slack to address a significant performance bottleneck in the Drupal CMS installer. The primary issue was that the installer executed an excessive number of batch jobs: 172 when no add-ons were selected and a staggering 595 when all add-ons were chosen. After thorough investigation, Adam identified that 66% of these batch jobs were duplicates. He implemented a fix, Darren confirmed its effectiveness, and the patch was committed. This resulted in a remarkable 66% improvement in the installer’s performance.
Optimizing the Drupal CMS Installer: A Collaborative Effort
At Drupal Forge, we strive to deliver an exceptional demo Drupal CMS experience. While the core functionality of the Drupal CMS installer has always been robust, we recognized that the user experience during the demo installation process could be significantly enhanced. Long installation times not only frustrate users but also create a poor first impression of the platform’s capabilities. This realization set us on a mission to optimize the installer.
After critically examining the existing installer workflow, our team identified several areas for potential improvement. Among these, one issue stood out as a low-hanging fruit: the excessive number of batch jobs executed during installation. To address this, we reached out to the official Drupal CMS development team to present our findings, collaborate on a solution, and ultimately deliver a faster, more efficient installer.
Identifying the Problem
Upon investigation, Darren Oh from the Drupal Forge team discovered that the installer executed 172 batch jobs even when no add-ons were selected. This number skyrocketed to 595 batch jobs when all add-ons were chosen. The batch jobs included repetitive tasks that not only slowed down the process but also consumed unnecessary server resources. These inefficiencies were particularly noticeable in demo environments, where users expect a seamless and quick setup process to evaluate the platform.
Recognizing the impact of these inefficiencies, Darren connected with Adam Globus-Hoenich (phenaproxima) from the Drupal core development team to discuss the issue. Adam’s expertise and commitment to improving Drupal’s performance were instrumental in addressing the problem effectively.
The Breakthrough
During their Slack discussion on December 30, 2024, Darren and Adam examined the batch job execution process in detail. Adam’s analysis revealed that 66% of the batch jobs were duplicates, performing redundant operations that could be safely eliminated. By streamlining the workflow and removing these duplicates, Adam implemented a fix that drastically reduced the number of batch jobs executed during installation.
To ensure the fix was effective, Darren rigorously tested the updated installer. The results spoke for themselves: the number of batch jobs was reduced by 66%, leading to a proportional improvement in installation speed. Once the fix was verified, Adam committed the patch, marking a significant milestone in optimizing the Drupal CMS installer.
The Numbers Speak for Themselves
Before the fix:
- Without add-ons: 172 batch jobs
- With all add-ons: 595 batch jobs
66% of the batch jobs were duplicates
The Fix:
Eliminate the duplicates. The reduction in batch jobs translated into a dramatic improvement in installation speed, making the installer significantly faster and more efficient. This enhancement is particularly impactful for demo environments, where users often evaluate Drupal CMS for the first time.
Why This Matters
The improvements to the Drupal CMS installer are more than just technical achievements; they represent a commitment to delivering a better user experience. A faster installer means:
- Reduced wait times: Users can set up demo environments quickly and efficiently.
- Improved resource utilization: Server resources are used more effectively, reducing overhead and potential costs.
- Enhanced first impressions: Prospective users evaluating Drupal CMS will experience a smoother and more professional installation process.
At Drupal Forge, we believe that optimizing the demo Drupal CMS experience is crucial for showcasing the platform’s potential. This collaboration with the Drupal core development team exemplifies the power of community-driven improvements and the shared goal of making Drupal the best CMS it can be.
What’s Next for Drupal Forge?
This optimization is just the beginning. At Drupal Forge, we are committed to contributing further enhancements to the Drupal CMS project. Our upcoming release of the Drupal CMS installer will make installation nearly instantaneous, setting a new standard for speed and efficiency.
We encourage the community to explore and contribute to the following issues, which highlight our ongoing efforts to improve Drupal CMS install speed:
- #3495988: Add redirect for incomplete install
- #3496399: Add ability to skip starter recipe if it was preinstalled
These initiatives are part of our broader mission to enhance the usability and performance of Drupal CMS, ensuring that it remains a leading choice for organizations worldwide.
Conclusion
The 66% performance improvement in the Drupal CMS installer is a testament to production level performance issues that can be addressed by spinning up and tweaking Demo Drupal environments.
With experimentation and collaboration, the Drupal Forge team was able work with the Drupal CMS core team and help optimize the installation experience for the entire community and for all Drupal CMS Demo platforms as well.