CakePHP サイト (2.3.1) で、キャッシュされたビュー ファイルのサイズがページごとに非常に大きい (10-60MB) ことに気付きました。
通常、サイトでは、キャッシングが純粋な HTML 出力を保存することを期待しますが、Cake はシリアル化された PHP をファイルの先頭に追加しています。パフォーマンスの観点からすると、この大きなファイル サイズは問題があり、ギガバイトのスペースを使い果たし (数千ページあります)、APC キャッシュには適していません (デフォルトの最大ファイル サイズは 1MB)。
これは、キャッシュされたビュー ファイルの上部にあるブロックの例です。
<!--cachetime:1363985272--><?php
App::uses('StaticController', 'Controller');
$request = unserialize(base64_decode('<removed>'));
$response = new CakeResponse();
$controller = new StaticController($request, $response);
$controller->plugin = $this->plugin = '';
$controller->helpers = $this->helpers = unserialize(base64_decode('<removed>'));
$controller->layout = $this->layout = 'default';
$controller->theme = $this->theme = '';
$controller->viewVars = unserialize(base64_decode('<removed>'));
Router::setRequestInfo($controller->request);
$this->request = $request;
$this->viewVars = $controller->viewVars;
$this->loadHelpers();
extract($this->viewVars, EXTR_SKIP);
?>
以下の HTML は静的に生成された出力であるため、PHP がまったく含まれていないことをお勧めします。すべてのファイル サイズを占める膨大なオーバーヘッド。
bootstrap.php のキャッシュ設定:
Cache::config('default', array('engine' => 'Apc'));
現在、私の唯一のオプションは、ビュー キャッシュ ファイルのファイル サイズを改善することです。現時点では、このサーバーでは Varnish のようなものを追加することはできません。
ファイルサイズの問題を解決するためのヒントは素晴らしいでしょう.