Syndicate content
Updated: 2 weeks 2 days ago

Bypassing Drupal core Node Access table joins to avoid outage caused by slow queries

16 August 2010 - 4:00am
A client site was facing intermittent outages, specially at peak hours. We investigated the issue over a few days, and narrowed down the cause to certain slow queries, described in more details below. They had tagadelic on every page, displaying a tag cloud, and from that, crawlers hit every term to paths like taxonomy/term/1581. Slow queries causing server outage

read more

Improving the performance of Drupal's cron by using the Elysia cron module

10 August 2010 - 5:11am
One great feature that Drupal has is the ability to make modules run certain tasks, often heavy ones, in the background at preset intervals. This can be achieved by a module implementing hook_cron. Core uses this feature to index new content for the search module, ping module to notify remote sites of new content, fetch new release information from drupal.org, poll other sites for RSS feeds, and more. Various contributed modules use this for various purposes, such as mailing out newsletters, cleaning up logs, synchronizing content with other servers/sites, and much more ...

read more

Drupal on a dedicated servers vs. Amazon AWS/EC2

7 August 2010 - 1:31pm
With the "Cloud" being in vogue currently, we see a lot of clients asking for cloud solutions, mostly Amazon AWS. Sadly, this is normally done without really doing a proper evaluation into whether the cost is reasonable, or the technology is suitable for their specific needs. Amazon AWS provides some unique and compelling features. Among those are: instant provisioning of virtual servers, billing for used resources only, ability to provision more instances on demand, a wide variety of instance types, and much more.

read more

How the Drupal community works together: Userpoints as a case study

5 August 2010 - 11:07am
I wanted to take a a few minutes to document how the Drupal community is amazing in how it self organizes to get stuff done ... One of the projects that I have started a long time is Userpoints. Being mostly an API, it has flourished with a mini-ecosystem around it of userpoints modules for various and quite diverse things. For Drupal 6.x, I was fortunate to have jredding (Jacob Redding) take the lead and add several new features that he needs for various projects.

read more

Reducing the size and I/O load of Apache's web server log files

5 August 2010 - 8:28am
Apache, and all other web servers, have a mechanism to write an "access log" recording every HTTP access to the server. The information that is logged is valuable, and includes things like the IP address of the user making the request, the date and time, the size of the request in bytes, the return code from the HTTP protocol, the request's URI, the referer, and the browser/operating system that the user is using.

read more

Reducing server resource utilization for busy sites by implementing fast 404s in Drupal

14 June 2010 - 1:33am
One of the things that a default Drupal installation does is that it handles 404s for static files within Drupal itself. In other words, a 404 for a .css or .jpg file causes a full Drupal bootstrap. This is not necessary, and wastes resources on a site that gets lots of 404s: lots of code is executed, many database queries are performed, only to return a 404 for a static file.

read more

Presentation: Drupal's CCK, Views and Panels for the London Drupal Users Group

6 June 2010 - 7:31am
Last Thursday, Khalid gave a talk on Drupal's CCK, Views and Panels for the London, Ontario Drupal Users Group. The last part of the talk was by Martin Anderson-Klutz, and talks about upcoming features in Views 3.x. The slides are attached below.

Various ways of running PHP 5.2 on Ubuntu 10.04 Lucid Lynx

6 June 2010 - 5:05am
The latest Long Term Support (LTS) release from Ubuntu has been with us for a bit over a month now, and I love it so far, on my laptop. This is Lucid Lynx 10.04, and will be supported until 2013 on the desktop, and more importantly, until 2015 on the server. My servers are still on 8.04 though, the previous LTS, for good reason. 10.04 has PHP 5.3. While this is generally a better PHP, it has some compatibility issues with many Drupal, mainly for contributed modules, but some in core as well. The long term solution to this is to find all PHP 5.3 compatibility issues and fix them in the code. This is a lengthy process though, and will not happen overnight. So, in the meantime, there are several solutions for running PHP 5.2 on Lucid, some better than others. In this post, we examine the different approaches, and the merits of each.

read more

Presentation: Overview of the MySQL database, KWLUG May 2010

5 May 2010 - 11:33pm
For the May 2010 meeting of the Kitchener Waterloo Linux Users Group (KWLUG), Khalid gave an overview of the MySQL database. This is part 3 of the LAMP series presented to this group as well as other open source events in Canada.