I have recently completed a series of tests of various PHP optimizers. We measured the performance impact by load testing a reference PHP application (SugarCRM) and calculating the capacity of the optimized and un-optimized systems based on objective performance goals. The first test subjected the Zend Optimizer to a round of tests and concludes that the optimizer had no measurable impact on system capacity.
For more details, read the full article.
Coming soon: testing the performance impact of the Zend Platform. Will it fare any better?
Tuesday, November 6, 2007
Subscribe to:
Post Comments (Atom)
12 comments:
Did you test any of the open source optimizers or opcode cache solutions? Is the application so database intensive that execution time is negligible?
Yes, we tested APC. The results from that test will be published when we get around to writing the report...hopefully in January.
Are you able to send me back-of-the-envelope results from the APC test?
Sorry, you'll just have to wait :>
Hello
Your Optimizer performance test seems to be off track.
the directives below only change the encoded files loader behavior
zend_optimizer.enable_loader=0
zend_optimizer.disable_licensing=1
zend_optimizer.obfuscation_level_support=0
You need to disable Optimizer completely or put
zend_optimizer.optimization_level=0
In order to have your test done properly with / without Optimizer.
Zvika Dror
Zend Global Services Team
Zend - the PHP Company
I must admit that I suspected as much. But those settings were suggested by a Zend technical support person (Edward Kietlinski), so I assumed he must know what something that I did not. After we saw no improvement, I contacted Edward with the results but received no further tuning advice from him.
For your information, the without test was performed without the Zend Optimizer installed (as you can see from the phpinfo() output in the report). What does "zend_optimizer.optimization_level=0" do? It sounds like it turns off optimizations. Is that going to improve performance?
Well I've just installed Zend Optimizer and went to the Zend forum looking for the reason why it made no difference at all, and found the link to here.
After some tests on my server I can confirm it makes no difference. I admit my tests are not totally scientific, but nevertheless they are very valid comparisons with and without ZO.
My conclusion:
It is not correct to call it the 'Zend Optimizer'
By all means call it the 'Zend Guard Enabler' or somesuch but not Optimizer
I might be off base here when I say this, but you should really test a program that has been encoded with the Zend Encoder. I'd bet money you'd see a performance boost then. However, if that's the only way to get extra performance the name Zend Optimizer seems a little inaccurate.
William, I can see the logic in that, but the test was to determine how well the Optimizer works. The Zend Guard encoder is an entirely different product that makes no performance claims. I found no requirements listed in the Optimizer product that implied that only Zend Guard encoded applications would receive the purported performance benefits.
Chris, I completely agree with you. I think I worded my comment wrong. I was really wondering if the optimizer would be more beneficial to code that was ran through the encoder then code that wasn't. I know it's an apple to oranges comparison, but it was something I heard a long time ago and seeing your article reminded me of it.
It would be great, if you make an another tests with files *encoded* with Zend Guard. According to my tests, there is NO performance gain at all!
The Sugar team recently posted load test results with and without a PHP accelerator against Sugar 5.1. We found significant improvements in scalability and performance when using a PHP accelerator with Sugar.
http://developers.sugarcrm.com/wordpress/2008/09/18/benefits-of-caching/
Post a Comment