Improvements to the Drupal.org infrastructure
Updates
A few updates since the original post was made:
- master/slave has now been implemented, and the site is more responsive.
- A newer tracker patch is now in effect, and should be functionally the same as plain vanilla Drupal 5.x, but with less database load.
---------------------------------
The Drupal association, infrastructure team, and the Oregon State University Open Source Lab (OSUOSL) team made several changes to the Drupal.org infrastructure. Some of these changes affect how you use some drupal.org features, so please read below for more information.
Over the last few months, Drupal's web site (drupal.org) has seen explosive growth in the number of users, posts and comments, as the project gets more and more popular. This has put stress on the hosting infrastructure for drupal.org, which is community donated and generously hosted by the OSUOSL.
Several performance problems have been identified, resolved, and worked around, including:
- Added 4GB, now totaling 8GB, to the master database server and 2GB, now totaling 4GB, to each of the three web servers that host *.drupal.org. The RAM was paid for by community donations to the Drupal association.
- Added 2 load balancing servers and added a database slave server, which were generously loaned by OSUOSL.
- Installed and configured Squid, a reverse proxy cache server. It serves cached pages and images to anonymous users without the need to have them processed by the web servers for every page load.
- Installed memcached, an in-memory object caching server, with Drupal's memcache API and integration module.
- Disabled the search module temporarily. Since search queries were a significant consumer of database resources, this would reduce database resource consumption. As a temporary workaround, you can search Drupal, using Google.
- Disabled the recent forum posts block on the side bar after identifying it was causing the most slow queries cummulatively by time.
- Installed a different tracker patch that hopefully displays better results.
- Upgraded the database from MySQL 4.0 to MySQL 5.0.
There are other planned future actions for improving drupal.org's overall performance. You will see improvements as the new changes are tuned over the next few weeks.
- Install a master/slave configuration of MySQL, to split the read load vs. the write load on two separate machines. This requires some patches to Drupal that David Strauss is working on.
What you can do to help drupal.org:
- If you have technical skills in the areas of optimization/tuning of MySQL databases, the LAMP stack or Drupal, please review the performance patch spotlight, join the high performance group, and volunteer to help on the Drupal Infrastructure list.
- You can always Donate to the Drupal project. Your donations will help with infrastructure matters.
- If you face problems while using drupal.org, please report them to the infrastructure team.