PHPのAPCの利用によるメモリ使用量の削減について


きたーーーメモリ使用量減った!!


以前から悩んでいたPHPのメモリ使用量が高い問題だがようやく対処方法が分かった


php.iniに下記の設定を追加することで、とあるプログラムでは14MB食ってたのが4MBまで減少した(1プロセス当り)

apc.include_once_override = 1
apc.lazy_classes = 1
apc.lazy_functions = 1


この設定は関数やクラスの遅延読み込み的なことをする設定のようなので、実際には走らないコードを多く含むものについてはそこそこ効くと思われます。


なお、include_once_override の設定はコードの書き方によってはトラブルになることが多いとのことなので、使うならしばらくテスト環境などで寝かせておいてテストした方が良いかもしれません。
また、lazy_classes、lazy_functions は遅延読み込みだとすると性質上、ほんの少しだろうがパフォーマンスの劣化の副作用が伴う可能性があります。