

For most of my career I’ve worked directly on the servers, using subdomains and transitioning things to and from live by swapping hosts. Pantheon represents many long hours of tweaking and optimization by Drupal experts, but in the end Pantheon was extremely easy to use and compatible with the vanilla Drupal database schema.As a veteran web developer of nearly 20 years, one of the more difficult things I ran into when I started with Mediacurrent, a Drupal agency, was working within the constraints of a version control system. On the other hand, the Pantheon Drupal Platform outperformed our expectations with better than an order of magnitude improvement in user capacity. Installing a PHP accelerator like APC is a no-brainer on almost any production platform and can nearly triple the capacity of a heavily-trafficked web site. Some of the gains we demonstrated represented fairly low-hanging fruit.

We were pleased to demonstrate the ease with which we were able to use Web Performance Load Tester to collect performance metrics on various Drupal configurations.
PANTHEON DRUPAL HOW TO
The tools of the trade we tend to use are a mix of standard monitoring utilities ( top on the shell, munin to get graphs, maatkit for digesting a query log, etc) and some Drupal/PHP specific tools like the apc.php file and drupal’s own devel.module.įor digging deeper into what might be bottlenecking the CPU, we use xdebug to generate cachgrind files, which can be analyzed to determine what functions are costing us the most, or where there are functional paths which could be truncated via caching.ĭavid ’s also had some good experience with xhprof, and we’re looking at demoing some of the upcoming php monitoring tools from New Relic (who set a good standard for the Java and Ruby realms).īeyond that’s it’s just a lot of hands-on experience and knowing how to walk the full stack to see what parts of the system aren’t performing up to par, and then knowing enough about Drupal, PHP and Mysql to see what can be done, and being hungry enough about learning cool new stuff to see what’s coming down the pipe that can help. We asked Pantheon developer Josh Koenig what tools and techniques his team used to optimize Pantheon: We actually tested Pantheon all the way up to 7500 users, and, although it didn’t satisfy our performance criteria beyond 2700, we had to throw a lot of traffic at it before it became thoroughly unusable.
PANTHEON DRUPAL INSTALL
We load tested a basic configuration of Drupal: simply boot up Fedora Core 8, install Apache and PHP, and unpack the Drupal tarball into /var/Pantheon - Page Durations We also collected a variety of statistics on the performance of the servers and the quality of the user experience. We configured our load test to ramp up, starting with a very small number of users and increasing over time until our Drupal server fell apart under load. An anonymous user posts a comment on the linked story.An anonymous user arrives at and reads the linked story, then follows a link to read a comment.There were four test scenarios, which seemed to represent typical user behavior:

Our test entailed a large number of users focusing on one story, which we imagined had been linked to by another high-traffic site. We wanted a realistic, high-stress scenario. Our baseline platform consisted of a stock Fedora Core 8 with Apache and PHP5. For these tests we used Amazon’s “Large” 64bit instance, which corresponds roughly to a dual-core machine with 7.5 GB of memory. We created a Drupal installation on the Amazon Elastic Cloud, which allows us to start and customize Drupal in a matter of minutes. Note that we continued to collect statistics after the first error. Average page durations by configuration and concurrent user level.
