私は自分のサーバーで 10 のショップを運営しており、apc.ini の推奨設定で APC をセットアップしています。
extension = apc.so #APC キャッシュのインストールに依存する名前 【APC】 apc.enabled = 1 # APC キャッシュをオンにする apc.optimization = 0 # 実験的なキープオフ apc.shm_segments = 1 # 共有メモリ セグメント apc.shm_size = 128 # OS に依存する最大共有メモリ apc.ttl = 7200 apc.user_ttl = 7200 apc.num_files_hint = 1024 apc.mmap_file_mask = /tmp/apc.XXXXXX apc.enable_cli = 1 # コマンドライン php の機能を許可 apc.cache_by_default = 1 # 有効、フィルターの場合は 0 apc.max_file_size = 10M # キャッシュされたファイルの最大サイズ apc.stat = 1 # dev の場合は 1、プロダクションの場合は 0、ソース ファイルの mod 日付をチェックするかどうか #apc.include_once_override = 1 # include_once の最適化には PHP5.3+ を使用
そして、約 99% のヒット率でうまく機能しており、サイトはうまく機能しているようです。しかし、ある時点で私の
shm.size
が枯渇し、メモリが 100% 使用されました。その結果、すべてのショップが動作を停止し、0 行目のメモリ プールのエラーが表示されました。次に、その特定の変数のサイズを 1GB に増やし、すべての Web ショップが完全に機能するようになりました。
したがって、私の質問は、webshop ごとに設定する shm.size の最適化された値とは何かということです。20 のショップがある場合、値を 20 の倍数で増やす必要があります。