Articles

Informative articles on various technologies ...

Performance benchmarking of Drupal 5.12, Drupal 6.6, and Drupal 7.x: we are getting slower ...

Earlier this month, we published an article on benchmarking Drupal 5.x vs. 6.x: which one faster?

We wanted to take this analysis a step further and benchmark them both with Drupal 7.x as well.

Methodology

So, we got a checkout of Drupal 7.x as of October 24th, when update.php starting working for that version. We also used Drupal 5.12, and Drupal 6.6 which are the current and previous stable versions.

Contents: 

How relying on connections to third party servers can be detrimental to performance

One client of ours was facing severe issues with their relatively new well equipped server: the server stopped responding to web requests, and was rebooted, only to stop responding again.

Upon investigation, we found out that pages were taking a lot of time to load.

This only happened when viewing a node in full page view, not when the
nodes were in lists (just as in views, node edit form ...etc.)

Devel was showing this:

Contents: 

Performance Logging and Monitoring: A module to log and monitor performance statistics for Drupal

We've released a new module for performance logging and monitoring of Drupal sites.

The module shows pages and how much memory they are using for each page load, as well as the milliseconds of page generation time for each as well.

The module is intended for developers as they are building and testing sites, as well as site administrators to measure the most resource hungry pages.

Contents: 

Free your content of PHP: Moving PHP code out of blocks, views and nodes

From the early days, Drupal had the ability to embed PHP code in its content. This provides flexibility and functionality, most importantly, nodes and blocks can contain dynamically fetched data from the database using custom queries and displayed them in other content.

This is an easy approach to get such data without writing a module. All you need to do is assign the PHP input format filter to the node or block and paste your PHP code in it, and voila, you have dynamic content.

Contents: 

Presentation: DrupalCamp Toronto 2008: Drupal Performance Optimization for Large web sites

On Friday and Saturday May 23 and 24, 2008, both Khalid and Wafaa
attended DrupalCamp Toronto.

In addition to the Drupal for Fun and Profit talk, Khalid presented the Drupal Performance Optimization for large web sites.

The slides from the presentation are attached.

Contents: 

Benchmarking strings overrides vs. locale module

Drupal is distributed in English by default. Translations into other languages require downloading the translation, enabling the locale module and importing the translation's .po file.

Another use for the locale module is when the Drupal terminology is not suitable for the site's audience, and the site owner wants to replace end user facing text with custom versions of that. In this case, they create a locale, and change the strings they want.

Contents: 

Configuring Drupal with multiple bins for memcached

In a recent article, we explained how to build memcached from source and  PHP memcache using PECL on Ubuntu Gutsy 7.10.

This article is a followup on how to configure memcache for Drupal, and how multiple bins help with performance.

Each bin in memcached correspond to one or more cache table in Drupal.

To do this, we first setup a start script for memcache that would start each bin with the correct size. This would go into /usr/local/bin/memcache.sh:

Contents: 

Pages

Subscribe to RSS - Articles