What Drupal 8 Means for Load Testing

If you’re already working with Drupal 8 (no excuse, now that it's supported on the Acquia Platform), you're probably still exploring what it can do. There are more than 200 new features, so it may take a while. 

But since this is a series about load testing, let's narrow our focus to what Drupal 8 does during load tests. 

You probably know that Drupal can be used as a back-end framework for managing content such text, media, and geospatial data, while AngularJS and ReactJS can be used as the front-end from a JavaScript perspective. Drupal 7 can do this, but it’s a lot easier with Drupal 8.

When load testing, the biggest difference between the versions is that with Drupal 7, you’re expecting pages that come back to HTML as something a Web browser can understand. In Drupal 8, what comes back will be something like JSON or XML, something that a Web browser doesn’t care about as much. Now, this won’t change the performance aspect of a load test, but it will be interesting to see how people adapt to these different patterns as they write tests.

Enhanced caching is another big advancement of Drupal 8. From its first iteration to the seventh version, Drupal was geared out of the box for developers, so nothing was cached. When you were developing a new site or module, everything you did was shown immediately. With Drupal 8, out-of-the-box performance is a lot better, and page caching is great example of that improvement. In Drupal 7, page caching was disabled by default; in Drupal 8, it’s enabled by default. It’s one less thing you have to do by hand. That also means it should catch things that maybe you’ve forgotten about during development. It should catch things that Drupal 7 wouldn’t have caught.

One other key difference is how Drupal 8 integrates with Symphony, and uses what are called service containers. This is the idea that, for example, on a multilingual website, Drupal 8’s service containers handle translation. These service containers can be changed at any time. If you change the language or various menu structures, these get rewritten to disc every time. So when this needs to be rebuilt, it’s one of those locking operations that may have an impact on how the site’s running. Now, it shouldn’t affect performance, but it’s one of the many things our support team has studied and will keep watching as part of Acquia’s review of all the changes in Drupal 8.

Just like a huge and complex puzzle that we got for Christmas and have been assembling for some time now, we know almost everything Drupal 8 can do but we’re still learning little things here and there about how it differs from Drupal 7. The best we can do is continue to understand what these differences are, and know what to look for going ahead.