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
Add comment