4

私の問題:

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 を使用しています。

4

1 に答える 1