私の問題:
CakePHP APC エンジンが動作するかどうかを確認するために、Apache Benchmark テストを作成しています。ただし、Cake のキャッシュ設定を APC エンジンを使用するように設定すると、シリアル化されたキャッシュ データを含むキャッシュ ファイルが tmp フォルダーに作成されたままになり、ファイル キャッシュが使用されていると思われます。
また、パフォーマンス上の利点も得られません。APC およびファイル エンジンを使用すると、テスト結果は ~ 4 秒です。コントローラーで単純な apc_add() および apc_fetch 関数をハードコーディングすると、テスト結果が改善されます: ~3.5 秒。
SO APC は動作していますが、Cake はなぜか使用できません。
私のセットアップ:
ブートストラップ.php:
/*Cache::config('default', array(
'engine' => 'File',
'duration'=> '+999 days',
'prefix' => 'file_',
));*/
Cache::config('default', array(
'engine' => 'Apc',
'duration'=> '+999 days',
'prefix' => 'apc_',
));
コントローラ:
$catalogsLatest = Cache::read('catalogsLatest');
if(!$catalogsLatest){
$catalogsLatest = $this->Catalog->getCatalogs('latest', 5, array('Upload'));
Cache::write('catalogsLatest', $catalogsLatest);
}
php.ini:
[APC]
apc.enabled = 1
apc.enable_cli = 1
apc.max_file_size = 64M
キャッシュの実行前または実行後にコントローラーで Cache::settings() をチェックすると、次の結果が得られます。
Array
(
[engine] => Apc
[path] => E:\wamp\www\cat\app\tmp\cache\
[prefix] => apc_
[lock] => 1
[serialize] =>
[isWindows] => 1
[mask] => 436
[duration] => 86313600
[probability] => 100
[groups] => Array
(
)
)
CakePHP 2.2.4 を使用しています。