php-fpm設定の検討

昨日、適当に設定を行い正常に動作していますが、将来的なアクセス増加に備えてもう少し検討することしました。

仮想メモリのマウントから外し、再起動直後の状態です。
htopコマンドで確認すると、php-fpmのプロセスが5つ起動しており、1つのプロセス当たり1.2MB のメモリを消費していることがわかります。

その後、トップページでF5連打して、php-fpmのメモリ消費どのくらい増えるか確認しました。私のページでは、1つのプロセス当たり5.5MB のメモリを消費していました。

空きメモリが587MB – 345MB = 242MBなので、
242MB ÷ 5.5MB = 44 になりました。
しかし、実際には、2割(117MB)くらいはメモリ空き容量を確保しておきたいと考えて、追加で22プロセス(合計27プロセス)起動する設定にしました。
この設定で、様子を見たいと思います。


#vi /etc/php-fpm.d/www.conf
 ;pm.max_children = 50
 pm.max_children = 27
 pm.start_servers = 5
 pm.min_spare_servers = 5
 ;pm.max_spare_servers = 35
 pm.max_spare_servers = 10

php-fpm設定について

GCPで無料で利用できる、 f1-micro(vCPU x 1、メモリ 0.6 GB)のインスタンスで運用しています。
メモリが600MBしかないため、php-fpmをデフォルトの設定で 使用してしまうと、すぐにメモリがなくなってしまうようです。
そのため、現状のリソースに合わせて、設定を見直しました。

【作業前】

#free -h
               total        used        free      shared  buff/cache   available
 Mem:           587M        448M         46M        1.5M         92M         38M
 Swap:          4.0G        164M        3.8G

【設定変更内容 】

# vi /etc/php-fpm.d/www.conf
 ;pm.max_children = 50
 pm.max_children = 10

 ;pm.max_spare_servers = 35
 pm.max_spare_servers = 5
 # systemctl restart php-fpm

【作業後】

#free -h
              total        used        free      shared  buff/cache   available
Mem:           587M        126M        354M        1.5M        105M        354M
Swap:          4.0G        133M        3.9G