eAccelerator/APC/xcacheのパフォーマンス比較再び
先日比較してみましたが、使っていたPHPがdebug buildだったので、non debug buildで改めてやってみました。ついでに、ZendOptimizer 3.2.6と組み合わせた場合も計測してみました。
で、結果ですが、総実行時間(Total)だけ掲載しています。eAccelerator、Xcacheはzend_extensionとしてもロードできるので、zend_extensionと通常のextentionの場合の比較もしています。
Total | |
---|---|
none(ZendOpt) | 106% |
ea(opt=0, zend_extension) | 104% |
ea(opt=0, extension) | 115% |
ea(opt=0, zend_ext, ZendOpt) | 117% |
ea(opt=0, ext, ZendOpt) | 102% |
ea(opt=1, zend_extension) | 94% |
ea(opt=1, extension) | 96% |
ea(opt=1, ext, ZendOpt) | 106% |
ea(opt=1, ext, ZendOpt) | 98% |
apc | 105% |
apc(ZendOpt) | 96% |
xcache(zend_ext) | 103% |
xcache(ext) | 103% |
xcache(zend_ext, ZendOpt) | 108% |
xcache(ext, ZendOpt)*1 | 94% |
今回の結果からすると、TOP3は
- eAccelerator(optimize=1,zend_extension)
- APC+ZendOptimizer
- eAccelerator(optimize=1,extension)
な感じでした。
PHP本体がだいぶチューニングされているせいか、ZendOptimizerを入れてもあまり効果が出ないですねぇ。ただし、表には出てませんが、単純なループ処理(simple)は最適化される(30%ぐらい改善)ようです。
なお、Xcache+ZendOptimizerの組み合わせも結果は良かったんですが、ベンチマーク用スクリプトを再読込するとApacheがsegfaultしてしまいました。スクリプトの内容にも依存するかも知れませんが、念のため、ランキングからは除外しています。もうちょっと安定すれば、意外と良い組み合わせかも知れません。
あと、実環境で使用する場合は、debug buildしないようにしましょう。3倍ぐらいパフォーマンスが違いますよ :-)
#zend_extensionも使えないし。。。
*1:再実行するとsegfault