11

Are there any reliable performance comparisons between vanilla Drupal 8 versus Drupal 7?

I have searched the web but only find the post "Drupal 7 vs Drupal 8 Performance Comparison", which is far from encouraging.

2

2 Answers 2

27

No, there is no reliable comparison, because doing that is almost impossible. There are various reasons for that, one is that D8 vanilla is like D7 vanilla + a whole bunch of modules, especially views.

If you compare a single request on a vanilla installation, then D8 is clearly slower than D7 (even if you add views), quite a bit actually. That might still improve more or less until the release, but it's not going turn around completely.

D8 is just running a lot more code, our own and vendor code like symfony underneath, so that takes more time. The service container also adds quite a bit of overhead.

However, D8 has a number of things that are hopefully going to make more than up for that on real sites

  • Javascript by default runs in the footer, which improves front-end performance, as pages build up faster and you can see and use them earlier.
  • The highly improved caching, especially render caching with cache tags and contexts, means that caches on real sites with changing content will perform much better. In D7, every time a node was changed or created, the complete block and page cache were invalidated. In D8, thanks to cache tags, D8 knows where that node shows up and might show up and only has to invalidate the relevant pieces. There's still a lot of work going on to improve that, but D8 provides a lot more tools to build faster big sites.
  • There's also the argument that you would have to run D7 on hardware that is as old as that version while running D8 on modern hardware, which is considerably faster. Also, early benchmarks show that vanilla D8 runs up to 50% faster with PHP7, because that version is much better at running a lot of code fast. (You can also run D7 on modern hardware and with PHP7 (probably), so that argument only works so far...)
  • Thanks to those decoupled services and better API's, which in a first step make things slower, is D8 going to have much better support for running partially/completely (depending on how daring you are I guess) with MongoDB and other alternative backends (like redis for the key value store). Again, for big sites, that allows to take at least part of the load away from MySQL, and store parts of your data (or, again, everything) elsewhere, which in turn helps to distribute the load across multiple servers.

Also keep in mind, if you care about performance, then you're very likely not running vanilla D7/D8 sites, you have large sites with a lot of content. And as mentioned above, D8 brings a lot of tools to help you to make those kind of sites faster. Some things will require work as a developer and need to be done right (just like in D7), but if you do, then I think that D8 can perform pretty well in real world scenarios.

5
  • So I don't know how official this is or how they got the statistics but if you are interested zend put this out this morning. pages.zend.com/TY-Infographic.html Mar 29, 2015 at 14:21
  • Yes, see my numbers in drupal.org/node/2454439, running tests and installation is almost exactly twice as fast with PHP7. Pretty impressive, but we have some stuff to fix before it will run there without errors. So have a look and help!
    – Berdir
    Mar 29, 2015 at 15:15
  • Probably most of the PHP based CMSes will work better with PHP7. This does not fix the performance regressions. Drupal will be a step behind on this.
    – rungurean
    Aug 24, 2015 at 8:08
  • Most if not all benchmarks I have seen indicate that Drupal 7 is faster. The performance impact is noticeable especially if the site has dynamic content i.e. serving dynamic content to authenticated users. No surprise, D8 code is 3x bigger than D7 and thus the code runs 2x or 3x times slower. I hope, this issue would be addressed.
    – W.M.
    Apr 17, 2016 at 5:50
  • As I wrote in my initial sentence, comparisons like that are almost impossible. You can't just compare a single page, you have to look at the whole site, including when content changes. It's at least as important. We maintain fairly big news sites with Drupal 8, and cache tags are extremely powerful to ensure that the content is immediately updated everywhere while still being able to cache as long as possible.
    – Berdir
    Apr 17, 2016 at 7:59
6

There are a bunch of patches for D8 that should land before it is released. This presentation at the 2015 LA DrupalCon should explain what is happening to make sure D8 is fast.

See here for an example of one of the patches that is being worked on right now was committed.

See the issue queue for most of the open issues in terms of D8 performance improvements.

1
  • Great that this got in! Oct 25, 2015 at 23:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.