AWSサービスの一つLightsailは、EC2以上に簡単に仮想サーバを作って利用できるので便利です。
起こった現象
早速、今あるWordPressベースのWebサイトをどんどんこちらに移行を進めています。
WordPressサイトを7,8個Lightsail上に移行させて稼働させたところ、急にCPU使用率が上がってレスポンスが全く返ってこなくなってしまいました。
topやpsコマンド、Apacheのerror_logなどを確認しながら原因を調べていたのですが今までにない現象だったのでなかなか原因救命に手こずりました。
結果的に原因はphp-fpmでした。今まで全く触ったことがなかったので設定変更もちょっと怖い分野。。。
以下の記事も参考にさせていただきながら、試しに静的構成にして同時稼働数も抑えたところ無事に安定しました。
具体的な対応内容
LightsailはBitnamiベースなので参考にした記事とは設定ファイルのある場所が異なります。
具体的には、~/stack/php/etc/php-fpm.d/www.conf内で以下のように修正。
# pm=dynamicの記載を以下に変更
pm=static
次に~/stack/php/etc/memory.confを以下のように修正
pm.max_children=1 # CPU数に合わせる
pm.max.request=1500 # GoogleAnalyticsなどでPV数を確認しながら設定するといいかも
その後php-fpmを再起動
sudo /opt/bitnami/ctlscript.sh stop apache
sudo /opt/bitnami/ctlscript.sh restart php-fpm
sudo /opt/bitnami/ctlscript.sh start apache
その後AWSのLightsail管理画面でメトリクスを表示し、CPU使用率が安定しているかを確認してください。
上のグラフを見ると、夜10:00くらいに設定変更作業していたのですが無事にその後安定するようにな他のがわかります。
ひとまず安心。とはいえ、CPU数を増やすなどの対策も今後考えておいた方がよさそうです。
ついでにCPU使用率が一定量を超えるとアラートが飛ぶようにも設定しておきました。