CJW Network Home

eZ Publish 4 vs. eZ Publish 5 Benchmark

Thursday December 20 2012: Ekkehard Dörre

eZ Publish logo

We made a short Apache benchmark between the old eZ Publish 4 Version eZ Publish Community Edition 2012/6 and the new eZ Publish 5 Community Edition 2012/11 with full Symfony 2 stack. Important is the relative between both edition.

Both with eZ Demo Site installed with setup wizzard, and it was surprising good.

It is only a short performance control, three scenarios:

  1. Front page, not logged in
  2. Blog post, not logged in
  3. Article, logged in

Test server on SHARED HOSTING 1/27 CPU Kernel!

This is the smallest shared managed hosting package (~10 Euro/month) with only one CPU kernel shared by 27 customer at Domain Factory http://www.df.eu/de/webhosting/managed-hosting-pro/

CPU: 1/27 of one CPU kernel (which means, Xeon®-Prozessoren (Nehalem-architecture Intel® , 2.13 GHz, Quadcore)

This is only 1/108 of the whole CPU power and about 25 eZ Publish pages per second are delivered, this is impressing good.

Update: Tip from Jérôme Vieilledend @jvieilledent : eZ Publish 5 configuration (ezpublish/config/ezpublish.yml) legacy_mode: false

PHP 5.4.9 FastCGI / APC
Script memory limit is 100M.
Maximum execution time is 90 seconds.
MySQL 5.1.60

Results in short

Front page, not logged in

eZ Publish 4 $ ab -c 10 -n 1000 http://eZP4/
Requests per second: 26.22 [#/sec] (mean)
legacy_mode: true eZ Publish 5 configuration (ezpublish/config/ezpublish.yml)
eZ Publish 5 $ ab -c 10 -n 1000 http://eZP5/
Requests per second: 26.79 [#/sec] (mean)

legacy_mode: false eZ Publish 5 configuration (ezpublish/config/ezpublish.yml)
eZ Publish 5 $ ab -c 10 -n 1000 http://eZP5/
Requests per second: 29.50 [#/sec] (mean)

Article, not logged in

eZ Publish 4 $ ab -c 10 -n 1000 http://eZP4/Travel/Information/Amazon-Jungle/
Requests per second: 27.66 [#/sec] (mean)

legacy_mode: true eZ Publish 5 configuration (ezpublish/config/ezpublish.yml)
$ ab -c 10 -n 1000 http://eZP5/Travel/Information/Amazon-Jungle/
Requests per second: 29.94 [#/sec] (mean)

legacy_mode: false eZ Publish 5 configuration (ezpublish/config/ezpublish.yml)
$ ab -c 10 -n 1000 http://eZP5/Travel/Information/Amazon-Jungle/
Requests per second: 36.01 [#/sec] (mean)

Article, logged in

eZ Publish 4 $ ab -c 10 -n 1000 -C eZSESSID=...TheSession... http://eZP4/Travel/Information/Amazon-Jungle/
Requests per second: 10.09 [#/sec] (mean)

legacy_mode: true eZ Publish 5 configuration (ezpublish/config/ezpublish.yml)
eZ Publish 5 $ ab -c 10 -n 1000 -C eZSESSID=...TheSession... http://eZP5/Travel/Information/Amazon-Jungle/
Requests per second: 10.53 [#/sec] (mean)
legacy_mode: false eZ Publish 5 configuration (ezpublish/config/ezpublish.yml)
eZ Publish 5 $ ab -c 10 -n 1000 -C eZSESSID=...TheSession... http://eZP5/Travel/Information/Amazon-Jungle/
Requests per second: 9.70 [#/sec] (mean)

Short conclusion

The new Symfony 2 eZ Publish Enterprise Content Management System stack is on a good way, first congratulations to the engineering for the current results, and the power of Symfony 2 will bring a lot more performance in the future.

Results full version

Front page, not logged in

Version eZ Publish 4 Community Edition 2012/6

 
$ ab -c 10 -n 1000 http://eZP4/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
 
Server Software:        Apache/2.2.22
Server Hostname:        eZP4
Server Port:            80
 
Document Path:          /
Document Length:        39861 bytes
 
Concurrency Level:      10
Time taken for tests:   38.145 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      40226000 bytes
HTML transferred:       39861000 bytes
Requests per second:    26.22 [#/sec] (mean)
Time per request:       381.454 [ms] (mean)
Time per request:       38.145 [ms] (mean, across all concurrent requests)
Transfer rate:          1029.83 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       32   35   2.7     35      54
Processing:   290  345  38.9    336     663
Waiting:      187  232  36.6    219     401
Total:        323  380  38.8    372     699
 
Percentage of the requests served within a certain time (ms)
  50%    372
  66%    386
  75%    400
  80%    408
  90%    428
  95%    456
  98%    483
  99%    503
 100%    699 (longest request)

eZ Publish 5 Community Edition 2012/11 eZ Publish 5 configuration (ezpublish/config/ezpublish.yml) legacy_mode: true

 
$ ab -c 10 -n 1000 http://eZP5/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP5 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
 
Server Software:        Apache/2.2.22
Server Hostname:        eZP5
Server Port:            80
 
Document Path:          /
Document Length:        37810 bytes
 
Concurrency Level:      10
Time taken for tests:   37.330 seconds
Complete requests:      1000
Failed requests:        9
   (Connect: 0, Receive: 0, Length: 9, Exceptions: 0)
Write errors:           0
Total transferred:      38324996 bytes
HTML transferred:       37813259 bytes
Requests per second:    26.79 [#/sec] (mean)
Time per request:       373.303 [ms] (mean)
Time per request:       37.330 [ms] (mean, across all concurrent requests)
Transfer rate:          1002.58 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       33   36   3.1     36      61
Processing:   201  334 487.2    230    5500
Waiting:      101  223 487.5    120    5395
Total:        235  370 487.5    267    5535
 
Percentage of the requests served within a certain time (ms)
  50%    267
  66%    284
  75%    321
  80%    489
  90%    518
  95%    540
  98%    596
  99%    996
 100%   5535 (longest request) 

eZ Publish 5 Community Edition 2012/11 eZ Publish 5 configuration (ezpublish/config/ezpublish.yml) legacy_mode: false

 
 $ ab -c 10 -n 1000 http://eZP5/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP5 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
 
Server Software:        Apache/2.2.22
Server Hostname:        eZP5
Server Port:            80
 
Document Path:          /
Document Length:        37810 bytes
 
Concurrency Level:      10
Time taken for tests:   33.900 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      38327690 bytes
HTML transferred:       37810000 bytes
Requests per second:    29.50 [#/sec] (mean)
Time per request:       339.001 [ms] (mean)
Time per request:       33.900 [ms] (mean, across all concurrent requests)
Transfer rate:          1104.11 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       33   35   2.0     35      49
Processing:   203  303 121.7    228     787
Waiting:      101  196 121.0    121     674
Total:        237  338 121.7    264     820
 
Percentage of the requests served within a certain time (ms)
  50%    264
  66%    284
  75%    494
  80%    504
  90%    526
  95%    542
  98%    568
  99%    586
 100%    820 (longest request)
 
 

Article, not logged in

Version eZ Publish 4 Community Edition 2012/6

 
$ ab -c 10 -n 1000 http://eZP4/Travel/Information/Amazon-Jungle/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
 
Server Software:        Apache/2.2.22
Server Hostname:        eZP4
Server Port:            80
 
Document Path:          /Travel/Information/Amazon-Jungle/
Document Length:        23728 bytes
 
Concurrency Level:      10
Time taken for tests:   36.147 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      24093000 bytes
HTML transferred:       23728000 bytes
Requests per second:    27.66 [#/sec] (mean)
Time per request:       361.470 [ms] (mean)
Time per request:       36.147 [ms] (mean, across all concurrent requests)
Transfer rate:          650.91 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       33   34   1.7     34      53
Processing:   265  325  38.5    319     559
Waiting:      193  247  36.1    240     450
Total:        299  360  38.6    353     594
 
Percentage of the requests served within a certain time (ms)
  50%    353
  66%    369
  75%    378
  80%    386
  90%    405
  95%    431
  98%    467
  99%    490
 100%    594 (longest request) 

eZ Publish 5 Community Edition 2012/11 eZ Publish 5 configuration (ezpublish/config/ezpublish.yml) legacy_mode: true

 
$ ab -c 10 -n 1000 http://eZP5/Travel/Information/Amazon-Jungle/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP5 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
 
Server Software:        Apache/2.2.22
Server Hostname:        eZP5
Server Port:            80
 
Document Path:          /Travel/Information/Amazon-Jungle/
Document Length:        18237 bytes
 
Concurrency Level:      10
Time taken for tests:   33.404 seconds
Complete requests:      1000
Failed requests:        9
   (Connect: 0, Receive: 0, Length: 9, Exceptions: 0)
Write errors:           0
Total transferred:      18737468 bytes
HTML transferred:       18224473 bytes
Requests per second:    29.94 [#/sec] (mean)
Time per request:       334.042 [ms] (mean)
Time per request:       33.404 [ms] (mean, across all concurrent requests)
Transfer rate:          547.78 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       32   34   1.6     34      52
Processing:   169  298 546.9    189    6019
Waiting:      100  228 547.2    119    5951
Total:        202  332 547.1    223    6057
 
Percentage of the requests served within a certain time (ms)
  50%    223
  66%    237
  75%    251
  80%    455
  90%    491
  95%    530
  98%    582
  99%   1282
 100%   6057 (longest request)

eZ Publish 5 Community Edition 2012/11 eZ Publish 5 configuration (ezpublish/config/ezpublish.yml) legacy_mode: false

 
 $ ab -c 10 -n 1000 http://eZP5/Travel/Information/Amazon-Jungle/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP5 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
 
Server Software:        Apache/2.2.22
Server Hostname:        eZP5
Server Port:            80
 
Document Path:          /Travel/Information/Amazon-Jungle/
Document Length:        18237 bytes
 
Concurrency Level:      10
Time taken for tests:   27.772 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      18746780 bytes
HTML transferred:       18237000 bytes
Requests per second:    36.01 [#/sec] (mean)
Time per request:       277.724 [ms] (mean)
Time per request:       27.772 [ms] (mean, across all concurrent requests)
Transfer rate:          659.19 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       32   34   1.5     34      48
Processing:   169  241 109.2    190     846
Waiting:      102  171 109.2    119     776
Total:        203  275 109.1    224     880
 
Percentage of the requests served within a certain time (ms)
  50%    224
  66%    236
  75%    248
  80%    281
  90%    484
  95%    505
  98%    550
  99%    575
 100%    880 (longest request)
 
 

Article, logged in

Version eZ Publish 4 Community Edition 2012/6

 
$ ab -c 10 -n 1000 -C eZSESSID=...TheSession... http://eZP4/Travel/Information/Amazon-Jungle/ This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP4 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
Server Software: Apache/2.2.22
Server Hostname: eZP4
Server Port: 80
 
Document Path: /Travel/Information/Amazon-Jungle/
Document Length: 34908 bytes
 
Concurrency Level: 10
Time taken for tests: 99.150 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 35312000 bytes
HTML transferred: 34908000 bytes
Requests per second: 10.09 [#/sec] (mean)
Time per request: 991.503 [ms] (mean)
Time per request: 99.150 [ms] (mean, across all concurrent requests)
Transfer rate: 347.80 [Kbytes/sec] received
 
Connection Times (ms)
min mean[+/-sd] median max
Connect: 32 33 1.2 33 46
Processing: 343 953 509.6 836 5115
Waiting: 242 852 509.5 734 5015
Total: 376 987 509.7 869 5149
 
Percentage of the requests served within a certain time (ms)
50% 869
66% 1057
75% 1196
80% 1296
90% 1651
95% 1954
98% 2413
99% 2844
100% 5149 (longest request)

eZ Publish 5 Community Edition 2012/11 eZ Publish 5 configuration (ezpublish/config/ezpublish.yml) legacy_mode: true

 
$ ab -c 10 -n 1000 -C eZSESSID...TheSession... http://eZP5/Travel/Information/Amazon-Jungle/ 
This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP5 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
Server Software: Apache/2.2.22
Server Hostname: eZP5
Server Port: 80
 
Document Path: /Travel/Information/Amazon-Jungle/
Document Length: 18237 bytes
 
Concurrency Level: 10
Time taken for tests: 95.004 seconds
Complete requests: 1000
Failed requests: 8
 (Connect: 0, Receive: 0, Length: 8, Exceptions: 0)
Write errors: 0
Total transferred: 18722203 bytes
HTML transferred: 18230176 bytes
Requests per second: 10.53 [#/sec] (mean)
Time per request: 950.041 [ms] (mean)
Time per request: 95.004 [ms] (mean, across all concurrent requests)
Transfer rate: 192.45 [Kbytes/sec] received
 
Connection Times (ms)
 min mean[+/-sd] median max
Connect: 32 34 1.0 33 42
Processing: 166 910 837.2 832 5997
Waiting: 99 838 836.5 758 5931
Total: 199 944 837.4 864 6031
 
Percentage of the requests served within a certain time (ms)
 50% 864
 66% 1109
 75% 1275
 80% 1430
 90% 1896
 95% 2377
 98% 3247
 99% 5263
 100% 6031 (longest request)

eZ Publish 5 Community Edition 2012/11 eZ Publish 5 configuration (ezpublish/config/ezpublish.yml) legacy_mode: false

 
 $ ab -c 10 -n 1000 -C eZSESSID...TheSession... http://eZP5/Travel/Information/Amazon-Jungle/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking eZP5 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
 
 
Server Software:        Apache/2.2.22
Server Hostname:        eZP5
Server Port:            80
 
Document Path:          /Travel/Information/Amazon-Jungle/
Document Length:        18237 bytes
 
Concurrency Level:      10
Time taken for tests:   103.056 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      18729014 bytes
HTML transferred:       18237000 bytes
Requests per second:    9.70 [#/sec] (mean)
Time per request:       1030.561 [ms] (mean)
Time per request:       103.056 [ms] (mean, across all concurrent requests)
Transfer rate:          177.48 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       33   34   1.3     34      46
Processing:   168  990 762.1    964    4760
Waiting:      100  922 762.5    894    4695
Total:        201 1024 761.9    997    4795
 
Percentage of the requests served within a certain time (ms)
  50%    997
  66%   1264
  75%   1428
  80%   1558
  90%   1926
  95%   2355
  98%   3097
  99%   3734
 100%   4795 (longest request)
 
 
Coolscreen.de - internet development, audits and consulting Jac Systeme - software development, support and maintenance Webmanufaktur - alles ausser gewöhnlich eZ Publish Silver Partner