How to speed up Drupal 5.2 lots

|

Earlier tonight, I was trying to figure out why a Drupal installation of mine was running kinda slow. So, I installed the awesome devel module and had it print out the list of database queries. What I found when going through the forums was on each post there were dozens and dozens of calls to drupal_lookup_path() for URLs which I never had (or will) make aliases of. Namely URLs that start with "comment/" or "user/".

So, I wrote a little patch for that function which will skip querying the database for URLs like that:

--- includes/path.inc 2007/09/14 00:06:12 1.1
+++ includes/path.inc 2007/09/14 00:15:21
@@ -44,6 +44,21 @@
static $map = array(), $no_src = array();
static $count;

+ //
+ // Drupal does an INSANE number of these queries for comment lnks
+ // and such on long threads, and that's just unacceptable. Since
+ // I plan on like, never setting up a URL alias on a comment or
+ // a user, I'm just going to stop here...
+ //
+ if (
+ stristr($path, "comment/")
+ || stristr($path, "user/")
+ ) {
+ return(false);
+ }
+
// Use $count to avoid looking up paths in subsequent calls if there simply are no aliases
if (!isset($count)) {
$count = db_result(db_query('SELECT COUNT(pid) FROM {url_alias}'));

You will see the most gain with forum posts that have many comments, but even on regular pages you should see some benefit. Enjoy!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

good work

Excellent work Doug it works really good. thank you for sharing. now my drupal has a great speed up, i like it.

with best wishes,
Helmut from Jobs-Finden