5

以下の設定で CakePHP (バージョン 1.3.8) と APC (バージョン 3.1.3p1) を使用しています。

apc.ini

extension=apc.so
apc.enabled=1
apc.enable_cli=0
apc.shm_size=128
apc.stat=0
apc.num_files_hint=10000
apc.user_entries_hint=10000
apc.max_file_size=5
apc.user_ttl = 3600
apc.ttl = 3600

ケーキコアの設定:

Cache::config('default', array(
        'engine' => 'Apc',
        'duration'=> '+5 minutes',
        'probability'=> 100,
        'prefix' => Inflector::slug(APP_DIR) . '_',
));

また、何らかの理由で、ユーザー キャッシュ エントリ (mysite.com/apc.php で表示) のタイムアウトはすべて 86313600 秒 (999 日) です。apc.ini で apc.user_ttl と apc.ttl の両方を設定し、Cake を介して期間を設定したことを考えると、なぜそれほど高くなるのかわかりません。すべての APC キャッシュをクリアして、Apache を再起動しようとしました。

どんな援助でも大歓迎です。ありがとう。

編集: apc.php を介して表示されるランタイム設定には、apc.ini 構成に従って適切な TTL が設定されていることに言及する価値があると考えました。

apc.cache_by_default: 1
apc.canonicalize: 1
apc.coredump_unmap: 0
apc.enable_cli: 0
apc.enabled: 1
apc.file_md5: 0
apc.file_update_protection: 2
apc.filters 
apc.gc_ttl: 3600
apc.include_once_override: 0
apc.lazy_classes: 0
apc.lazy_functions: 0
apc.max_file_size: 5
apc.mmap_file_mask  
apc.num_files_hint: 10000
apc.preload_path
apc.report_autofilter: 0
apc.rfc1867: 0
apc.rfc1867_freq: 0
apc.rfc1867_name: APC_UPLOAD_PROGRESS
apc.rfc1867_prefix: upload_
apc.rfc1867_ttl: 3600
apc.shm_segments: 1
apc.shm_size: 128
apc.stat: 0
apc.stat_ctime: 0
apc.ttl: 3600
apc.use_request_time: 1
apc.user_entries_hint: 10000
apc.user_ttl: 3600
apc.write_lock: 1
4

3 に答える 3

0

あなたが話しているユーザーキャッシュエントリttlは、設定したttlによって設定されていません。apc.rfc1867-ttl によって設定されます。

こちらをご覧ください: http://www.php.net/manual/en/apc.configuration.php#ini.apc.rfc1867-ttl

ユーザーがアップロードできるファイルの有効期間です。

于 2013-10-08T14:51:06.930 に答える
0

最初の提案はおそらく最も簡単です: Zend Optimizer (5.5 に組み込まれています) に切り替えます。

2 番目の提案は... デフォルト設定を確認しましたか? 通常、/etc/php.d/apc.ini にあります。これらは Cake によって設定を上書きする可能性があります (Cake を使用していないのでわかりませんが、APC 設定が構成レベルであることはわかっています)。

于 2013-10-07T20:02:13.307 に答える