helion-prime
home about us blogs contacts

Posts Tagged ‘typo3’

Battle N2: Typo3, Joomla!, and Drupal CMSs performance testing

Wednesday, July 2nd, 2008

“More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason – including blind stupidity.”
William A. Wulf

preamble

Since my last article about performance comparison of popular CMSs: Typo3, Joomla!, and Drupal [typo3-joomla-and-drupal-cmss-performance-testing.html] I got enormous amount of messages, emails and notes.

Most discussed question is:
*What the hell you didn’t turn cache on, and forgot about optimization?

And comments like:
In case of optimization zzz will take first place.
No one runs systems like that in real life. Every real web server is optimized for performance ..

I answered several times with:
I make tests to test effectiveness of pure systems rather then caching sub-system or optimization methods.
Developers should think about effectiveness of their components and don’t pass care about performance entirely to caching or other technics.
Surely cache is good as well as better CPU, bandwidth, and cluster when solution is already got all benefits of good software design.

But if you want OK.
I will turn ON everything I know on all CMSs, and will make all environment optimizations. I hope you will be glad.

Surely if you are hacker that want to tune all the daylights you will beat any system.
Let’s think that this environment presents common set of optimizations on general production system.

Prepared configuration

architecture: x86
CPU: 3.0Ghz
RAM: 512Mb
OS: Debian GNU/Linux lenny/sid (testing)
kernel: 2.6.22, optimized for current computer configuration

software versions:
apache: 2.2.8
php: 5.2.5-3
mysql: 5.0.51a-3

joomla!: 1.5.3
drupal: 6.2
typo3: 4.2.1

apache:
web-server API: apache2.0 handler
processing model: mpm-prefork [http://httpd.apache.org/docs/2.0/mod/prefork.html]
MaxClient adapted for load
excessive login disabled
HostNameLookups dissabled

PHP:
XCache PHP opcode cacher installed [http://xcache.lighttpd.net/]

xcache.cacher = On
xcache.optimizer = On
xcache.coverager = Off

xcache.size=64M # cache size
xcache.count=2 # cpu count

xcache.var_size = 64M # variable data cache size
xcache.var_count = 2 # cpu count

MySQL:
mysqli database adapter used where appropriate
bin log disabled
query_cache_limit = 2M # default was 1M
query_cache_size = 64M # default was 16M
table_cache = 256 # default was 64
key_buffer_size = 64M # default was 16M

CMSs returned specially prepared page contains:
menu, login form, 2 articles with overall size 40Kb
Testing series contains results for 10, and 20 simultaneous users.

comparison results

note:
results in the tables are presented in milliseconds per page request
and surely smaller result is better.

10 users

joomla drupal typo3
average 101 19 71
median 100 18 71
90% results line 145 30 103
min 19 8 16
max 289 60 570

20 users

joomla drupal typo3
average 237 47 187
median 196 41 146
90% results line 357 72 318
min 18 8 16
max 7323 356 4378

fast conclusion:
Drupal uses caching mechanism more effectively that explains such lag of others.
Numbers, and graphs are very loud, and so I think you don’t need any additional descriptions.

You can always compare this result with result without optimization techniques using my previous article [typo3-joomla-and-drupal-cmss-performance-testing.html].

Typo3, Joomla!, and Drupal CMSs performance testing

Monday, May 19th, 2008

preamble

Our company above all uses 3 CMSs [http://en.wikipedia.org/wiki/Content_management_system]
Typo3, Joomla!, and Drupal since we find them the most appropriate for most of our tasks.
Check this our article to find more about it [cms-based-web-applications-fast-way-for-creation-of-web-based-solutions.html]

Sometimes our customers asks what is faster, trying to find fair answer I made a short research
in order to compare them and provide our customer as well as you with pretty graphs.

testing conditions

I have created virtual dedicated server with following configuration within our server
to have a picture of average hosting providers.

configuration:
architecture: x86
CPU: 3.0Ghz
RAM: 512Mb
OS: Debian GNU/Linux lenny/sid (testing)
kernel: 2.6.22-3-686

On all CMS returned page contains:
menu, login form, 2 articles with overall size 40Kb

As Joomla! doesn’t have built-in internationalization functionality I made tests with JoomFish 2.0beta extension
that provide that functionality and without it.

Every testing series contains results for 1, 10, and 20 simultaneous users.
Caching functionally:
turned off for Drupal, Joomla!, and Typo3;

apache configuration:
apache web-server API: apache2.0 handler
processing model: mpm-prefork [http://httpd.apache.org/docs/2.0/mod/prefork.html]

software versions:
apache: 2.2.8
php: 5.2.5-3
mysql: 5.0.51a-3

joomla!: 1.5.2
typo3: 4.1.6
drupal:6.2

comparison results

So it’s time to see some results. Keep your eyes widely opened..

note:
results in the tables are presented in milliseconds per page request
and surely smaller result is better

1 user

joomla+joomfish joomla drupal typo3
average 261 185 130 233
median 260 184 129 232
min 253 180 127 225
max 311 209 144 248

10 users

joomla+joomfish joomla drupal typo3
average 2093 1510 1118 2039
median 1965.5 1416 1040 1247.5
min 253 181 126 226
max 36422 31591 30999 29138

20 users

joomla+joomfish joomla drupal typo3
average 4106 2908 2123 3886
median 3689 2306 1552 2075
min 254 182 128 233
max 119187 112612 83831 105285

fast conclusions:

as you see in the tables and on graphs

**Drupal is noticeably faster then competitors
**joomfish is a break for Joomla but it is very important extension and very likely it is installed on your system
**without JoomFish Joomla! can be even faster then Typo3

©2010 Helion-Prime Solutions Ltd.
Custom Software Development Agile Company.