# Drupal Performance Tuning for Better Database Utilization – Introduction — Liran Tal

This entry is part 1 of 1 in the series Drupal Performance Tuning for Better Database Utilization

Canonical: https://lirantal.com/blog/2014-06-14

[Drupal](https://drupal.org/home) is a great CMS or CMF, whichever your take on it, but it can definitely grow up to be a resources hog with all of those contributed modules implementing hooks to no avail. It is even worse when developers aren’t always performance oriented (or security oriented god save us all) and this can (unknowingly) take it’s toll on your web application performance.

Drupal performance tuning has seen it’s share through many presentation decks, tutorials, and even dedicated books such as [PacktPub’s](http://www.packtpub.com/) [Drupal 6 Performance Tips](http://www.packtpub.com/drupal-6-performance-tips-to-maximize-and-optimize-your-framework/book) but it seems to be an always continuing task to get great performance so here are some thoughts on where you should start looking.

[![meme-drupal-database-performance](https://web.archive.org/web/20140625154632im_/http://enginx.com/wp-content/uploads/2014/06/meme-drupal-database-performance.jpg)](http://enginx.com/wp-content/uploads/2014/06/meme-drupal-database-performance.jpg)

Checklist for glancing further into Drupal’s rabbit hole and getting insights on tuning your web application for better performance:

1.  Enable MySQL slow query log to trace all the queries which take a long time (usually >1 is enough, and with later versions of MySQL or compliant databases like `Percona` or `MariaDB` you can also specify milliseconds for the slow query log)
2.  Enable MySQL slow query log to also log any queries without indexes
3.  Make sure to review all of those query logs with EXPLAIN to figure out which queries can be better constructed to employ good use of indexes. Where indexes are missing it’s worth reviewing if the database would benefit from modifying existing indexes (and not breaking older queries)
4.  Use [percona-toolkit](http://www.percona.com/software/percona-toolkit) to review out standing queries
5.  Use [New Relic’s](http://newrelic.com/) PHP server side engine which can tune into your web application and provide great analysis on function call time, wall time, and overall execution pipelines. While it’s not a must, I’ve personally experienced it and it’s a great SaaS offering for an immediate solution without having to need to install alternatives like [XHProf](http://xhprof.io/) or [Webgrind](https://code.google.com/p/webgrind/).

## More writing

[All writing →](/blog)

*   Sep 5, 2026

    ### [Self-Hosting Hermes Agent with Matrix E2EE on Proxmox](/blog/self-host-hermes-agent-matrix-e2ee-proxmox)

*   Aug 2, 2026

    ### [The Practical Second Brain: Building an LLM-Operated Markdown Knowledge Graph](/blog/practical-second-brain-llm-markdown-knowledge-graph)

*   Aug 1, 2026

    ### [Building a Second Brain with LLMs and AI Agents](/blog/building-second-brain-llms-ai-agents)


* * *

Liran Tal is the author of the book [Node.js Secure Coding: Defending Against Command Injection Vulnerabilities](https://www.nodejs-security.com/)

[Start Building Secure Node.js Applications ↗](https://www.nodejs-security.com/)

 [![](/_astro/nodejs-secure-coding-book-3d-style.DiTWpzFs_Z3c7s1.png)](https://www.nodejs-security.com/)
