Showing posts with label Zend. Show all posts
Showing posts with label Zend. Show all posts

Monday, October 27, 2008

Benchmarking Zend Platform, APC and Xdebug

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):
PHPPHP+APCPHP+APC-statPHP+APC+XdebugPHP+XdebugPHP+ZP-accelPHP+ZP+accelPHP+ZP+accel(extreme)
-c17.3036.8836.7422.505.922.7911.1831.24
-c514.4163.0265.4942.0912.604.5621.5357.35
-c5014.5064.6664.8540.6512.474.5521.2654.59
Click on the next picture for a full size graph:

Conclusions

As expected, the usage of Xdebug and especially the Zend Platform both without a bytecode cache will dramatically decrease the performance of your system. If you are a Zend Platform user, be sure to activate the bytecode cache (Zend Accelerator)! If performance is your primary concern, then choose APC, it is much faster than Zend Accelerator even in extreme mode which I don't recommend because it will disable all the real benefit you can take of the Zend Platform!

Saturday, September 29, 2007

Zend Certified Engineer, bis repetita

Zend Certified EngineerZend Certified EngineerFor the second time I successfully passed the Zend Engineer Certification :) First time was in June 2004 when I was contacted by Daniel Kushner, previous Zend's Director of Education. It covered PHP 4 and I was really proud to be the second Zend Certified Engineer in Europe.

This last friday I passed the certification that covers PHP 5 too. Comparing both certifications I would say that the PHP 5 one covers more topics than PHP 4's. The global difficulty of both certifications is high as you will not be able to pass them if you don't have a strong PHP experience. The main difference is that you really have more time to complete the new exam. I remember not having time enough to reply to all questions the first time and now I finished the exam in less than one hour which let me 20 minutes to review all my answers and leaving the room 10 minutes before the end.