ちゃんと覚えておけよ?

忘れちゃいけない事のメモ、覚え書き

php-fpmがメモリを食ってSWAP発生させるので設定を変更してみた。

#プロセスマネージャが子プロセスの数を制御する方法を選択します。
#static – 子プロセスの数は固定 (pm.max_children) です。
#ondemand – プロセスを必要に応じて立ち上げます。 dynamic とは対照的に、リクエストされると pm.start_servers で指定しただけサービスを開始します。
#dynamic – 子プロセスの数は、 pm.max_children、pm.start_servers、 pm.min_spare_servers、pm.max_spare_servers の内容に基づいて動的に設定されます。
#staticは固定値でメモリを保有するので処理は上がります。dynamicは低負荷の場合メモリ消費量が少ないので他の処理にメモリを割り当てることができます。
pm = dynamic

#作成される子プロセスの最大数の設定をします。
pm.max_children = 100

#起動時に作成される子プロセスの数を設定します。(dynamicは必須項目)
pm.start_servers = 10

#アイドル状態のサーバープロセス数の最小値。(dynamicは必須項目)
pm.min_spare_servers = 10

#アイドル状態のサーバープロセス数の最大値。(dynamicは必須項目)
pm.max_spare_servers = 20

#各子プロセスが、再起動するまでに実行するリクエスト数。 メモリリーク対策で1000回実行すると再起動するようにしています。
pm.max_requests = 1000

今回[pm.max_requests]が設定されて折らず、デフォルトの0(無制限)となっていたため、SWAPが発生してしまった。

1000回実行でプロセスを再起動するようにしたことでどのくらい余裕が出るか確かめたいと思う。

これで余裕が出来たらデータベースにメモリを割り当てよう

 

Comment

*