Web CMS Performance: Pages / sec (Joomla, Drupal, Plone, WP)

Note. I do not do web programming, so forgive my ignorance if the question is trivial. In addition, please do not comment on the “how wrong” comparative comparison of these products. The question is not how they compete with each other, but rather from the reason for the incredible slowness of ALL of them.

Just read about the test where Joomla, Drupal, Wordpress, Plone3 and 4 were tested. I was shocked by the following: out of the box they ran about 4-14 pages per second. How is this possible, why are they so damn slow? The CMS should simply query the database and collect the data, packaged in beautiful templates. DBs are fast. Templates should be fast (text replacement, without much difficulty). Our machines are ultrafast, and yet, these high-performance CMSs can only produce a few pages per second. Why?

+4
source share
7 answers

CMS should simply query the database and release the data, packed in beautiful templates.

Not so much. Large modern CMS systems are incredibly complex animals. A typical page is not only the main text and heading, but also dynamic content requests based on categories that combine information in many areas of the site; not to mention security zones and custom content zones. For example, downloading http://www.volvogroup.com includes at least 7 of these requests, as well as recursion through the site structure to create navigation and connect to external systems to obtain information about news and investor relations. Given this, it should not be such a surprise that a promising server farm is required to service several hundred beats per second.

+3
source

Because it takes a lot of processing. This is not a question of "query, replacement, rendering." All of these products are manufactured in accordance with a wide range of use cases and are expanding to some extent, therefore, in fact, these three main operations that you are talking about are divided into many, many operations that consume all the time.

All things being equal, the more flexible the system, the slower it will be out of the box.

+2
source

They are slow for several reasons:

1 - Most of them are very modular, which means more files, more code and more database queries.

2 - They largely (not much talk) try to do everything, and again creating a system for any possible situation complicates and complicates the setup.

3 - Most of them (currently) support PHP4 and PHP5, this again is superfluous work.

4 - They are supposedly made so that non-technical users can use them, which means that they often have to do something differently than is most effective, for example, Drupals CCK / Views allows people who cannot program database tables efficiently data and SQL queries, the drawback of these tables / queries is very common in design and quite inefficient compared to user-encoded efforts.

5 - They usually use a lot of database queries, Drupal uses 40 or so for a very simple page, and if you search on your forums, you will see posts saying that people claiming that some pages are hundreds or even more than a thousand requests.

Of course, they offer caching, and Drupal can get good performance from things like a boost module, the disadvantage being one of Drupal's (and Joomla's) selling points is that you can create a community site, forum, Digg, like site in it, on all sites where caching is limited ...

+2
source

They are relatively complex systems. They allow many hooks for plugins, so in the workflow there are many steps from request to response.

However, in the real world, caching (whether in-app or caching operation code) is a huge performance incentive.

I am not familiar with Plone, but PHP CMS essentially should load and interpret almost the entire system with every request.

+1
source

Please do not be offended by this, but the preface to your question, explaining your unfamiliarity with web programming, and then criticize the performance of what seems to you to be a “simple” operation, a little shortsighted.

I would advise you to learn a little about the common problems that CMS solves and the general theory and practice of dynamic web pages and HTTP. This is far from a simple I / O operation.

In addition, for practical use, I strongly recommend that everyone who works with CMS find a solution for caching. Caching is designed to solve many of the problems of "speed" that arise in web technologies. It should be part of any shared web stack.

+1
source

To my mind:

Since CMS and frameworks think about all the things you need, you can use: how

  • Userinput filter
  • Create PDF, AJAX Output Template and more

It depends on your need, what you really need.

I do not agree with what you wrote

CMS should simply query the database and release the data, packed in beautiful templates.

CMS Does Much More Things More ...

Last but not least, do not compare the speed of desktop software with Wep Aplication.

There is a big difference

0
source

CMS Does Much More Things More ...

Last but not least, do not compare the speed of desktop software with Wep Aplication.

There is a big difference

0
source

Source: https://habr.com/ru/post/1299158/


All Articles