Movable Type vs Drupal with boost

Written by
Date: 2010-10-04 11:36:30 00:00

As I have posted some days ago, I am trying Movable Type as an alternative to Drupal, since yesterday I am also trying Open Melody.

Open Melody is a fork of Movable Type 4.

Let’s start saying that comparing these two, is a little weird, to say the least, it is not even like comparing oranges with apples, to me is like comparing beef with apples.

To make this clear I will start with some facts about Drupal.

It is a CMS written in PHP, that storages the data in a MySQL database (Can work with others). Drupal is a very flexible CMS, it has a lot of plugins (read modules), there are so many that I think almost no one knows all of them. With these add-ons Drupal can behave like Movable Type, like WordPress, like Joomla, it can do almost anything you would like it to do.

The basic installation is really easy to perform, and it is also easy to maintain, this last statement is not totally true if you are going to add a lot functionalities to it. Although it has improved a lot, by checking for upgrades and telling you which modules are out of date, it stills needs some hard job for maintenance.

Should also be said, that Drupal has a very big community and which is very prone to help.

Movable Type / Open Melody, is based written in Perl, the basic installation is also very easy to accomplish, and I suppose the maintenance should also be simple.

To add extra functionalities, there are also plugins but not in the same number as with Drupal, but on the other hand, the edition of its templates is a lot easier than with Drupal (You should not need to edit Drupal ones).

About the community, it is of course not as big as Drupal’s one, but Open Melody is trying to change just that, They want to be the counterpart to Word Press.

Which one to choose?

This should be a really easy decision and all you need is think what do you want to do with each one of them.

If you are planning to start a site, that needs to be flexible, with lots of features and functions then you need to install Drupal, you will have maybe some more job, but at the end it will do exactly what you want.

If on the other hand, you just want to blog, and share your thoughts with the world, then you better install Movable Type.

These are the main considerations I am taking to sustain that affirmation:

A Movable Type new installation is more ready to run a blog than Drupal. because it already comes with rich text editor, and it uses static publishing out of the box.

You can add that on Drupal as modules, but once again, it is more job just to put Drupal in the same condition where MT already is.

And why static publishing is so important?. Because when a dynamic publishing web site start to receive more and more visits, it start to need a lot more resources like RAM and CPU to keep running. And that is because Web servers are designed to serve static content, jpg, html, and other files, if working with dynamic publishing, the web server first needs to create the page on the fly using PHP together with the data stored in the MySQL database to create the html file that is then served. All this extra work could break the server if any page becomes extremely popular, like if it hits the front page of either Digg, Reddit, Slashdot or any other bit social media site.

I have just performed these tests using. Apache Testing utility.

I have installed the following scenario.

  • 1 Server running Apache + MySQL + PHP + Drupal (No boost)
  • 1 Server running Apache + MySQL + PHP + Nginx (reverse proxy) + Drupal with Boost
  • 1 Server running Apache + MySQL + Perl + Nginx (reverse proxy) + Movable Type

And then with another server on the same network, stressed them with the following.

  • 100 Concurrent sessions 1,000 times
  • 500 Concurrent sessions 5,000 times
  • 500 Concurrent sessions 5,000 times.

Al the servers were small VPSs, and the results are:

First scenario

Could not handle the load, it just simply died, and I had to reboot it.

Second scenario

Requests per second:    267.52 [#/sec] (mean)

Time per request:       1868.987 [ms] (mean)

Time per request:       3.738 [ms] (mean, across all concurrent requests)

Transfer rate:          5699.82 [Kbytes/sec] received

Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:        0   38 309.4      0    3635

Processing:     0 1709 1369.9   1151   16057

Waiting:        0  915 650.1    987   10149

Total:         19 1747 1418.4   1151   16057

Percentage of the requests served within a certain time (ms)

  50%   1151

  66%   1899

  75%   2161

  80%   2250

  90%   3111

  95%   4601

  98%   5894

  99%   7349

 100%  16057 (longest request)

Third scenario

Requests per second:    463.65 [#/sec] (mean)

Time per request:       1078.396 [ms] (mean)

Time per request:       2.157 [ms] (mean, across all concurrent requests)

Transfer rate:          5763.96 [Kbytes/sec] received

Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:        0    7 113.4      0    3574

Processing:     0  985 680.6    701    5648

Waiting:        0  636 208.7    651    2049

Total:         32  992 693.8    701    5648

Percentage of the requests served within a certain time (ms)

  50%    701

  66%    848

  75%   1348

  80%   1350

  90%   1698

  95%   2331

  98%   3452

  99%   4347

 100%   5648 (longest request)

As it can be seen Movable Type performs the best, but not much better than Drupal with boost module, but without that module Drupal will not handle the load if one of your blog pages becomes popular.

There are other considerations to take into account, and those are the rumors behind Six Apart, and Open Melody lack of maturity as a community, if you are trying to decide, read more than just this post before starting with any of them.