A Deep Dive into Backend Enhancements, DevOps Tuning, and Frontend Innovations to Elevate User Experience and System Efficiency. From meticulous cache management to strategic frontend loading techniques, discover the holistic journey towards superior digital performance
In the ever-evolving digital landscape, optimizing web application and website performance is not just a necessity but an imperative. Drupal, a dynamic online platform catering to a diverse user base, recognized the need to elevate its performance standards. This case study delves into the multifaceted approach to enhancing Drupal backend and frontend operations, aiming for a seamless user experience, efficient system functionality, reducing computing costs, and improving search engine optimization.
Objectives
The backend optimization’s primary objective is to identify the source of the bottlenecks within the architecture running the Application that significantly degrade user experience due to poor performance. Our goal is to pinpoint those issues and take decisive action to enhance the site’s response time, ensuring seamless and efficient user interaction.
Methodology
In order to execute the task of increasing the poor site performance, we used the following procedures: Dividing the work into two parts; the first part was to analyze the backend efficiency using APM tools installed on the production servers and local tools to audit the code quality. The second part was to audit the front-end performance. Backend audit includes
Resources: Storage, CPU, memory, network
OS configuration
Application Servers
Database servers
Memcached
MySql Caches
Nginx Caches
PHP Caches
Proxy Cache
Drupal Caches
Below is an example of a huge improvement in average response time across all webpages generation divided by a factor of 2 after configuring and tuning properly Drupal cache layers.
Reviewing fully all cache layers allowed us to decrease drastically the amount of SQL requests. Divided by a factor of 10!
Also, Memcache requests were divided by a factor of 2.5!
All page not-found request were divided by a factor of 10, and their generation were cached too.
Sometimes, simple DNS records are not enough. We offer services to delegate domain names to some WAF systems like Cloudflare, Incapsula, etc. After the records are transferred, we configure security, SSL, cache, and other options that make the site more secure.
We used the following tools:
AppDynamics (APM)
Zabbix (Network and resources monitoring).
Frontend audit includes:
Listing all assets and their sizes, including HTML, images, CSS, JS, fonts, XHR requests…
Listing all 3rd party libraries and domains(DNS) in use by ex: Analytics, CRM, Docs.
Loading Priority of all assets, mainly Images, JS, and CSS files.
Compression used per assets: images, fonts, text files…
Images dimensions
Aggregation
Minifications
Caching headers
We used two types of frontend performance auditing tools The first are the ones that test websites with Emulated devices (CPU, Memory, Network, and screen resolution) (Lighthouse, webpage test, etc.)
The second type is other online tools that provide real user experience metrics ( Google page speed insights, Search console, etc.)
Those tools aim to obtain Core Web Vitals representing the performance efficiency of the website(s) and to optimize each one.
Backend Improvement: A Pillar of Performance
The Drupal optimization was based on several backend enhancements. A pivotal initiative involved a meticulous overhaul of the Drupal framework, focusing on optimizing page caching for anonymous users. By transitioning from session-based mechanisms to more efficient cookie-based approaches, Drupal’s page cache was extended to encompass a wider array of pages on the front end. This strategic shift significantly reduced MySQL queries, benefiting both anonymous and logged-in users, and streamlined resource-intensive processes involving PHP and MySQL.
Furthermore, the optimization efforts delved deep into Drupal’s core, spotlighting the need for efficient SQL loading of entities. By caching Drupal entities such as nodes, taxonomy terms, and files, the platform experienced a drastic reduction in SQL queries, enhancing the experience for logged-in users, including editors and administrators.
Complementing these enhancements was a robust cache management strategy, ensuring the timely purging and proxy cache invalidation of Drupal pages. This meticulous approach improved cache efficiency and streamlined the overall user experience.
Empowering DevOps: Fine-Tuning for Efficiency
A meticulous review of the DevOps landscape parallelled the backend optimizations. Drupal Multisites’ infrastructure witnessed substantial improvements through the tuning of database engines. Specifically, MySQL/MariaDB configurations were fine-tuned, emphasizing increasing cache sizes for InnoDB. This enhancement and an audit of other settings contributed significantly to database efficiency.
Additionally, the caching mechanisms were revamped, strategically separating cache_page bins from other bins and enhancing cache invalidation processes. The underlying web server, Nginx, underwent meticulous tuning, focusing on cache headers, asset compression, and other HTTP settings.
Furthermore, upgrading PHP to version 7.4, while requiring an intricate code refactor, paved the way for extensive benefits, as highlighted by performance benchmarks.
Decreased operation and employment costs
Became a tech-centered hotel using the same operational software
Frontend Innovation: Elevating User Experience
Drupal’s commitment to an unparalleled user experience extended to front-end innovations. A comprehensive audit of network payloads led to optimizing CSS, JavaScript, and font file loading, ensuring they were loaded only when necessary. Image optimization strategies, including using image styles and external tools for compression, further streamlined the platform’s performance.
Efforts were also directed towards reducing the number of requests through improved aggregation of CSS and JavaScript. Implementing lazy loading for images not only conserved bandwidth but also improved page loading times significantly.
Moreover, strategic initiatives such as lazy loading CSS and critical CSS for essential website sections enhanced speed perception, ensuring a smooth and uninterrupted browsing experience for users.
Summary
Through backend enhancements, DevOps fine-tuning, and frontend improvements, Drupal has emerged as a fast and stable system with user experience at the center.
In this case study, we illuminate the transformative journey we embarked on with Drupal, establishing new standards in digital performance optimization.
Share
Performance Enhancement of Drupal Website
By Shimon Wiener and Lionel Enkaoua
Drupal Content Mng Backbone
Scalability & Flexibility: Drupal is adaptable for all enterprise sizes, handles high traffic, and offers extensive customization.
Security: Recognized for robust security features, with a dedicated security team and additional modules for enhanced safety.
Open Source & Community: Free platform with an active community ensuring up-to-date features, security, and expert support.
Optimizing web application performance is not just a necessity but an imperative
Examine the backend's efficiency and assess the front-end's performance.
Reviewing fully all cache layers allowed us to decrease drastically the amount of SQL requests. Divided by a factor of 10!
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.