Home / Blog

eZ Publish 4.0.0rc1 was released today with a numerous bug fixes and code enhancements over the previous alpha2 release. Highlights include performance optimisations.

What have really been done to optimize the performance of eZ Publish? I have done a benchmark of eZ Publish 4 alpha2 vs eZ Publish 4 rc1 and PHP 5.1.2 vs PHP 5.2.5, here is the results:

Test environment

Hardware

IBM HS21
2x quad core
8GB Memory

Software

Suse Linux Enterprise Server 10 SP1 64bit
Apache 2.2.3
APC 3.0.15
MySQL 5.0.26

PHP 5.1.2 / PHP 5.2.5

The benchmark

ab2 -n 1000 -c 20 http://site.no/

The results

eZ Publish 4.0.0-alpha2 - PHP 5.1.2

Concurrency Level: 20
Time taken for tests: 11.157765 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 18968000 bytes
HTML transferred: 18534000 bytes
Requests per second: 89.62 [#/sec] (mean)
Time per request: 223.155 [ms] (mean)
Time per request: 11.158 [ms] (mean, across all concurrent requests)
Transfer rate: 1660.10 [Kbytes/sec] received

eZ Publish 4.0.0rc1 - PHP 5.1.2

Concurrency Level: 20
Time taken for tests: 9.19638 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 20958000 bytes
HTML transferred: 20524000 bytes
Requests per second: 110.87 [#/sec] (mean)
Time per request: 180.393 [ms] (mean)
Time per request: 9.020 [ms] (mean, across all concurrent requests)
Transfer rate: 2269.05 [Kbytes/sec] received

eZ Publish 4.0.0rc1 - PHP 5.2.5

Concurrency Level: 20
Time taken for tests: 27.289963 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 20958000 bytes
HTML transferred: 20524000 bytes
Requests per second: 36.64 [#/sec] (mean)
Time per request: 545.799 [ms] (mean)
Time per request: 27.290 [ms] (mean, across all concurrent requests)
Transfer rate: 749.95 [Kbytes/sec] received

eZ Publish 4.0.0alpha2 - PHP 5.2.5

Concurrency Level: 20
Time taken for tests: 28.472612 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 18968000 bytes
HTML transferred: 18534000 bytes
Requests per second: 35.12 [#/sec] (mean)
Time per request: 569.452 [ms] (mean)
Time per request: 28.473 [ms] (mean, across all concurrent requests)
Transfer rate: 650.55 [Kbytes/sec] received

I can't understand why PHP 5.1.2 is much faster then PHP 5.2.5? Is there something wrong with my environment?

UPDATE:

eZ Publish 4.0.0 - PHP 5.1.6

Concurrency Level: 20
Time taken for tests: 13.552577 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 21607000 bytes
HTML transferred: 21173000 bytes
Requests per second: 73.79 [#/sec] (mean)
Time per request: 271.052 [ms] (mean)
Time per request: 13.553 [ms] (mean, across all concurrent requests)
Transfer rate: 1556.90 [Kbytes/sec] received

eZ Publish 4.0.0 - PHP 5.2.0

Concurrency Level: 20
Time taken for tests: 13.168876 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 21671773 bytes
HTML transferred: 21236471 bytes
Requests per second: 75.94 [#/sec] (mean)
Time per request: 263.378 [ms] (mean)
Time per request: 13.169 [ms] (mean, across all concurrent requests)
Transfer rate: 1607.05 [Kbytes/sec] received

gdb httpd2-prefork

b ap_process_request

run -X -d /usr/sbin/httpd2-prefork

s

Installation

lotta:~ # svn co http://svn.apache.org/repos/asf/httpd/test/trunk/flood
lotta:~ # cd flood
lotta:~/flood # svn co http://svn.apache.org/repos/asf/apr/apr/trunk apr
lotta:~/flood # svn co http://svn.apache.org/repos/asf/apr/apr-util/trunk apr-util
lotta:~/flood # ./buildconf
lotto:~/flood # ./configure --disable-shared --prefix=/opt/flood
lotta:~/flood # make
lotta:~/flood # make install

my blog

Mon Tue Wed Thu Fri Sat Sun
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30