Introduction
Thanks to AUSY, I had the occasion to learn thoroughly the Zend Platform during a workshop. One thing I had to test is the performance impact of such platform and comparing this to some of their free software counterparts like Xdebug and APC respectively for debugging and bytecode caching.Making of
The benchmark has been realized on an Intel® Core™2 Duo CPU T7500 @ 2.20GHz with 2Gb of RAM running Gentoo with a 2.6.25-r7 linux kernel.ab, the Apache Benchmark tool, has been used for the benchmark with 3000 requests and three concurrency modes: -c1, -c5 and -c50 which represents respectively 1, 5 and 50 simultaneous users.
The application tested is eZ Publish 4.0.1 with default configuration using the "plain_site" example.
Different scenarios have been tested:
- PHP: plain version of PHP 5.2.6 as released by Gentoo, this is the base that is used in the other scenarios
- PHP+APC: base PHP + APC as released under Gentoo with default configuration
- PHP+APC-stat: base PHP + APC as released under Gentoo with apc.stat="0"
- PHP+APC+Xdebug: base PHP + APC + Xdebug as released under Gentoo with default configuration
- PHP+Xdebug: base PHP + Xdebug as released under Gentoo with default configuration
- PHP+ZP-accel: base PHP + Zend Platform without acceleration (bytecode caching)
- PHP+ZP+accel: base PHP + Zend Platform with acceleration (bytecode caching)
- PHP+ZP+accel(extreme): base PHP + Zend Platform with acceleration (bytecode caching) configured with "extreme" performance
The results
Enough speaking, here are the results (in requests/second served):PHP | PHP+APC | PHP+APC-stat | PHP+APC+Xdebug | PHP+Xdebug | PHP+ZP-accel | PHP+ZP+accel | PHP+ZP+accel(extreme) | |
---|---|---|---|---|---|---|---|---|
-c1 | 7.30 | 36.88 | 36.74 | 22.50 | 5.92 | 2.79 | 11.18 | 31.24 |
-c5 | 14.41 | 63.02 | 65.49 | 42.09 | 12.60 | 4.56 | 21.53 | 57.35 |
-c50 | 14.50 | 64.66 | 64.85 | 40.65 | 12.47 | 4.55 | 21.26 | 54.59 |
5 comments:
Did you try if the APC Optimizer would give some performance boosts?
http://pecl.php.net/package/optimizer
Too bad eAccelerator was left out of the comparison.
@ReneL: I tested it, but not in the scope of this article. AFAIR, it did affect the performance but with a negative impact, probably due to a debug compilation. The optimizer is way to alpha to make any conclusion.
@anonymous: the scope of this article was not to compare all PHP bytecode cache but rather comparing proprietary and FOSS PHP components and the impact of their combination. I consider that APC has a greater future than eAccelerator (that I used before), it will come with PHP 6 by default and will replace the Zend Accelerator in the Zend Platform in the future.
Hi Patrick,
and will replace the Zend Accelerator in the Zend Platform in the future
not sure about that... actually, the Platform follower, Zend Server, offers its op-code cache for free in an extension called "Zend Optimizer +" But I don't think it's based on APC.
By the way, you could update your benchmark with this new version (available in beta version on forums.zend.com) - could be really interesting ;)
I think the Patrick Allaert's Blog have a complete information about to the Zend Platform.In my point his useful information are especially for web developers,Because in which the writer should discuses and Anallise the PHP.
Post a Comment