CentOS 6.5:nginx,php-fpm環境が「重い」と感じる場合の対応

Webサーバーの高速化を狙い「Apache」から「Nginx」に切り替えてみたもの、予想していた「パフォーマンス」がでない…と感じている場合、「php-fpm」のプロセスがサーバーのメモリを食い潰している可能性があります。特に「VPS」など、使用可能メモリが少なく上限がある環境では、「php-fpm」のチューニングを行うことで、メモリまわりの改善が期待できます。(2015/05/09作成)

WikimediaImages / Pixabay

0.環境

1.確認

プロセス毎のメモリ使用量(単位:kb)

2.チューニング

プロセスマネージャが子プロセスの数を制御する方法を選択します。 使用可能な値: static, ondemand, dynamic このオプションは必須です。

pm が static の場合は作成される子プロセスの数、 pm が dynamic の場合は作成される子プロセスの最大数。 このオプションは必須です。

アイドル状態のサーバープロセス数の最大値。 pm が dynamic の場合にのみ使います。 また、この場合には必須となります。

各子プロセスが、再起動するまでに実行するリクエスト数。 サードパーティのライブラリにおけるメモリリークの回避策として便利です。 再起動せずにずっとリクエストを処理させる場合は ‘0’ を指定します。 PHP_FCGI_MAX_REQUESTS と同じです。デフォルト値: 0

3.設定反映

以上

Pocket

コメントを残す