web-dev-qa-db-ja.com

APC、APCu、Opcacheの違いは?

次のパッケージでWebサーバーを実行しています。 php-apc 3.1.7-1 php5-fpm 5.3.10-1ubuntu3.10

ただし、Ubuntu 14.04に新しいサーバーを構築しましたが、php-apcはもう利用できないようです。

したがって、APCは私の膨大なトラフィック(1日100 kのユニークアクセス)のライフサーバーでした

PHPのキャッシュメカニズムについて少し混乱しています。新しいサーバーには次のパッケージが含まれています。php-apc 4.0.2-2build1 php5-apcu 4.0.2-2build1 php5-fpm 5.5.9 + dfsg-1ubuntu4.7

phpinfo()はエミュレートされた「apc」を提供します。私の知る限り、APCはAPCuに置き換えられています。

https://github.com/cepa/kickasscache キャッシングのためにこの無料のクラスを実行しています。私の場合、cpu/memをかなり節約できます。しかし、これがAPCuでも同じになるかどうかわかりませんか?

そうでない場合、適切なキャッシュを設定するにはどうすればよいですか?私の新しいサーバーには限られたリソースしかなく、解決策が必要だからです。

php -vが戻ります

PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

OPcacheはデフォルトで有効になっていますか?

34
martyr

PHP 5.5以降。APC(またはXCacheのようなバイトコードキャッシング拡張機能のようなもの)の必要はありません。PHP開発者が直接統合OPCacheと呼ばれるものを製品のコアに追加します。これにより、製品全体の安定性が向上するだけでなく、PHP開発者によって公式にサポートされます。

OPCacheにないAPCの特定の機能(APCu機能など)が必要な場合は、php-devメーリングリストでディスカッションを開始する必要があります。

最後に、良い経験則は、php.netホームページにリストされているPHPのバージョンのみを実行することです。ディストリビューションは一般にセキュリティ修正をバックポートしますが、PHPには、より便利な機能があります。PHPの新しいバージョンには、一般に、APCuなどの追加のPECL拡張機能の必要性を回避できる大幅なパフォーマンス上の利点もあります。

19
maddog