PHP-FPM

子プロセスの数を固定しメモリ使用量を抑制

現象

  • Amazon Lightsail に移行後 Nginx 上で稼働させている WordPress にて頻繁に「データベース接続確立エラー」が発生することを確認した。
  • Nginx と連携させている php-fpm がメモリを食い潰していることを確認した。

対応

$ free -tm
メモリ使用量を確認
$ vim /etc/php-fpm.d/www.conf
:
;pm = dynamic
pm = static
:
;pm.max_children = 50
pm.max_children = 5
:
;pm.start_servers = 5
pm.start_servers = 3
:
;pm.min_spare_servers = 5
pm.min_spare_servers = 2
:
;pm.max_spare_servers = 35
pm.max_spare_servers = 5
:
$ systemctl restart php-fpm
$ free -tm
メモリ使用量が減っていることを確認