Last weekend two percent of the world’s population stood up together in solidarity to encourage the world’s governments to work to end global poverty and support the United Nations’ Millennium Development Goals. The event, called Stand Up, Take Action, brought together almost 117 million people this year from nearly every country on earth. Not only is that number just astounding, it’s almost triple the size of their record-breaking event last year. An event this size sends an amazing message about a global commitment and will to help the poor.
The folks at the United Nations Millennium Campaign (UNMC) and the Global Call to Action Against Poverty (GCAP) did really great work to organize this many people. This is the third year in a row that they’ve relied on Drupal to help make the event happen.
Last year, we helped the UNMC extend their website’s features and upgrade the site to Drupal 5.×. They needed a website where local event organizers could come to record their plans to host an event, estimate the number of people who would attend to help plan, record the actual number of participants after the event happened, and upload pictures they took of their event to create a photo documentary of a global movement. Last year the site did all these things and helped create a successful event, although there were some bumps that we knew we wanted to improve on this year.
We worked with the team at the UNMC on couple changes to make it an even smoother site and event. First, we cleaned up the design and improved the user workflow so that it would be easier to find and add events. For this part in particular, we used our custom Mapnik mapping configuration to put all the events on a map and also to quickly show the estimated size of events while users browse the map. By letting users drill down to the provincial level on the map, people could easily see what kind of events were happening nearby so they could participate.
We also upgraded their system to allow for full internationalization. Last year, the site allowed for translation of the event submission form so that users around the world could participate at a basic level. This year, they translated much of their content, including parts of their blog.
Perhaps the biggest improvement though was related to performance. Having thousands of event organizers come to the site at the same time to add information during the event puts a heavy load on Drupal. Last year, that amount of traffic put a very heavy load on the database. Even with a serious server infrastructure – the good folks at Advomatic helped configure a cluster with 4 Apache servers and a dedicated database server – we wanted to make sure Drupal was ready for a bigger event.
While we did a bunch of optimization work, one of the biggest gains came from the Drupal Boost module, a cool module by Arto Bendiken that caches Drupal pages for anonymous users and serves the pages as plain HTML. We hadn’t used Boost on a production site before, but we’d had great results in testing. Here are some numbers to prove it from the output from an Apache bench test run of 50 page loads of an index page. You can see there’s performance gain of of nearly 1,000 times. (More stats from Arto here )
This meant a serious decrease in the server load on sites with lots of anonymous users since it protects the database server from having to serve up content. We’ll be blogging more later this week about the module – specifically about when and how it can help with performance optimization.
All told, the improvements paid off and the UNMC did a great job with the site and the event. Drupal did a great job too. : ) The site stayed up, and the real-world goals of the organization were achieved – an astounding number of people took action together to support the MDG’s. If you’re curious to learn more about the MDG’s, the UNMC provides a great overview here.