Benchmarking CakePHP on MAMP against Zend Optimizer, eAccelerator, and XCache

Environment:

  • Macbook Pro, Intel Core 2 Duo 2.33 GHz, 2GB RAM, 120 GB FUJITSU MHW2120BH
  • Prebuilt MAMP installation (Apache/2.0.59 (Unix) PHP/5.2.1 DAV/2 mod_ssl/2.0.59 OpenSSL/0.9.7l)
  • Background Applications running during tests: Safari, Firefox, TextMate, JMeter, MySQL Administrator, iTunes, Adium, Terminal… I had 25% RAM available!

Test Mule:

  • CakePHP 1.2.0.7692 RC3 Framework
  • Unfinished project’s controller that pulls two random user id’s, and adds them as friends.
  • I decided to do the test without writing to the database, since it created too much inconsistency (depending on how well my local MySQL was responding)
  • All methods involved are read-only.
  • There’s a few checks in between like user1 and user2 cannot be the same, not friends yet, etc.
  • No View caching involved.

Benchmarking Tools:

  • Test Mule (see above)
  • Jakarta JMeter (yes, running on the same system as the web server). JMeter will visit the site using 5 threads (concurrent users) and 100 loop counts; a total of 500 hits each run.

Read more