KUSANAGI MAGAZINEで「きもおたわーどぷれす。」が紹介されました! クリックで公式サイトが開きます。

KUSANAGIが頻繁に落ちるのでMySQLとphp-fpmをチューニングして対処してみる【KUSANAGI9】

この記事は約7分で読めます。
記事内に広告が含まれています。

ここのところKUSANAGIが頻繁に落ちるようになりました。
管理画面で少し操作するだけで落ちてしまいます。
何もしなくても落ちてしまいます。

KUSANAGI9にしたのが悪いのか。
WEXALの適用サイト数を増やしたのが悪いのか。
それとも他の要因なのか。

何かわかりませんけど、とにかく対処してみることにしました。

スポンサーリンク

確定している要因から対処する

サーバーが落ちる要因として一つは確定しています。
バックアッププラグインBackwup。
KUSANAGI8の時から、処理が重いせいで作業途中に一度は落ちてました。

夜中ですし、最近はサイト運営どうでもよかったので放置してました。
ただKUSANAGI9へ移行して新たな環境になり。
いい機会として対処することにしました。

(KUSANAGI・WEXAL環境で)重いBackWPupプラグインを軽く動かすための対策と工夫を紹介します
BackWPupはバックアップWordPressプラグインの定番。 私も使っています。 しかし重すぎて、バックアップ途中でサーバーダウンするのも頻繁。 夜中にc...

バックアップファイルを減らして作業量を減らすという原始的な方法で対処。
寝てる間にcronで3サイト分のバックアップを実行させてみたところ、無事に作業完了。
死活監視のサーバーダウンメールも届いてませんでした。

この問題は一件落着です。

スポンサーリンク

不明な要因を探る

実のところ、前項の問題で終わったと思っていました。
しかし今朝、

サーバーが落ちる!
バックアップと関係無く落ちる!
3時間で3回も落ちた!

何もしてないのに。

KUSANAGI8の時はこんなことなかったんです。
変わったところといえば、

  • 移行する際にサイト分割して2サイトから3サイトにした。
  • WEXALを1サイトから3サイト適用に増やした。

しかしサイトは元々あったのを分割しただけ。
WEXALもクロール&戦略生成の際に落ちるのは仕方ないとして、通常時はリソース消費少ない。
そこまで大きく変わると思えないんだけど……。

ただ、そういえば、

移行してから管理画面がやたら重いし、ちょっとした弾みで500エラーやデータベース接続エラー出るんだよな

根本的に問題ありそうなので調べてみることにしました。

スポンサーリンク

ConoHa VPSのリソースモニターで簡易的に調べる

ConoHa VPSにはリソースモニターがあり、簡易的・視覚的に利用状況を調べることができます。
覗いてみてびっくり。

なんじゃ、こりゃ!

CPU。

ディスクIO。

突如として利用量が跳ね上がっています。
この跳ね上がっているときにサーバーが落ちているわけですが……。

いったいどうして?

スポンサーリンク

アクセスログをチェックする

まさかDDoS攻撃?
念のため全てのサイトの本日のアクセスログをチェック。
少なくとも2回目3回目のダウンは関係なさそう。

というか、もしそうだったら、

やれるだけの対策はほとんどやってるのでお手上げ

やってないのはREST APIの停止。
プラグイン動かす点で不便なので、きっちり動作検証する時間があるときやろうと思います。

スポンサーリンク

リソース利用状況を詳細に調べる

sarコマンドでリソース利用状況を調べます。

KUSANAGI にインストールされている保守向けコマンド(sar編) - KUSANAGI Tech Column
KUSANAGI環境で、サーバのトラブル対応を行うときに、よく使うコマンドと、その結果に対する指標などを紹介していきたいと思います。実行結果の項目の意味について...

KUSANAGIには予めインストールされています。

# sar

サーバーダウンしたところで、突発的に%systemが100近くまで跳ね上がっています。

しかしその理由については、

わからない、見当すらつかない

私、完全なる素人ですんで。
わかるくらいならエンジニアとして働いてます。
なので、とりあえず放置します。

続けてCPUとメモリの状況を俯瞰。

#top

平常時でもメモリ使用量が高く、swapまで大量に使ってしまっている。
これは何かあれば、すぐにswapまで食いつぶしてしまって落ちるであろうことは想像つきます。

まずはこの現象からなんとかしましょう

スポンサーリンク

他に似た人がいないか調べてみる。

どっちにしても重いのは間違いないので対処することにします。
KUSANAGI 落ちるのワードで片っ端から調べてみました。
すると……いました。

KUSANAGI, データベースが落ちたときの対応。低スペックで運用するときのコツ。
KUSANAGIが推奨メモリ以下だと、ちょっとしたアクセス集中で結構な頻度のデータベース落ちが発生します。(メモリ2Gで検証。)『Systemdの自動リカバリ(...

PHPとデータベースが問題、ふんふん。
少なくともデータベースは私の環境でも言えそう。

ざっと読んだ後、冒頭に書かれていた記述に気づきます。

kusanagi configure
を実行すればいいと。

このコマンドは環境に最適な設定をするようですね?

※現在はcofigureコマンドありません。dbinitとphpコマンドに変わっています。

これって逆じゃなかったっけ?

configureするとKUSANAGIデフォルトの数字に戻ります。
しかし低スペックVPSでデフォルトだとサーバーに負担かかるから調整した方がよかったような。
それで私は自分でやってconfigureしないよう気をつけてたような……ん?

どうして著者はそんなことしたんだ?

困ったことは大抵備忘録にして記事にしてますので読み返してみました。

スポンサーリンク

過去の行動を思い出した

過去にデータベースの数値を調整した記事はこちらでした。

KUSANAGI for ConoHaの1GプランのMySQLの設定を変更して高速化する
本記事は「KUSANAGI for ConoHaの1Gプラン」限定の話です。 とはいえ、恐らく私みたいなライトユーザーが一番契約しているプランですので、多くの方...

メモリ不足によるスワップ頻発で重くなったのをMySQL(MariaDB)の設定を変えることで対処しました。
とりあえず少しはマシになり、いつの間にか解決してしまってました。

そういえば……

2GBプランに変えた後でkusanagi configureしたっけ?

configureさえしなければ設定した数字がそのまま残ります。
1GBプランの設定を更に軽くして2GBで使ってたわけですからエラーも起こりづらいはずです。

KUSANAGI8の時のサーバーは削除してしまったので確認はできませんが。
KUSANAGI9にアップグレードする際は自分で設定した数値がリセットされます。
もしかしたらそのせいで重くなってたのかも?

昔の数字に戻して試してみましょうか

スポンサーリンク

MySQL(MariaDB)をチューニングする

KUSANAGI9のデフォルトは、

query_cache_size = 128M
innodb_buffer_pool_size = 384M

2GBプランでも、過去の1GBプランデフォルトと同じでした。
これを過去に設定していた数字に変更します。

ファイルは次の場所にあります。

/etc/my.cnf.d/server.cof

該当箇所を次の数字に変更します。

query_cache_size = 64M
innodb_buffer_pool_size = 128M
スポンサーリンク

php-fpmをチューニングする

php-fpmも調整しておきます。
次のファイルを編集します。

/etc/opt/kusanagi/php-fpm.d/www.conf

次の数値を変更します。

pm.max_children = 15

デフォルトは50です。

スポンサーリンク

参考記事(文中リンク以外)

php-fpmとRAMのお勉強メモ。KUSANAGIで試した。

単独のサーバーの「負荷」の正体を突き止める

KUSANAGI にインストールされている保守向けコマンド(top編)

スポンサーリンク

まとめ

ひとまず管理画面重いのは直りました。
これまで「落ちる!」と思った状況でも持ちこたえるようになりました。
ただ通常時でもスワップをかなり食ってるので不安なのは変わりません。

まあ、とりあえずこれで様子見てみる

このまま落ちないといいわね……

場合によってはWEXALを止めて手動チューニングに戻すことも考えています。

サイトを始めたい・引っ越したい方へ

おすすめレンタルサーバー「ConoHa WING」
Webサーバー処理速度 国内最速!
サイト管理・カスタマイズのタイパも抜群!
自動化AIのWEXALによって他社より負担を減らせます
各種キャンペーン施策によりコスパも抜群!
ConoHaに初めて入会かつ12か月以上のWINGパックなら
下のボタン経由で契約すると最大5000円の割引が受けられます

この記事を書いた人

素人の備忘録です。
素人がゆえにトラブルにぶつかりまくってきたので、同じように困った方の役に立てたらいいなと思ってます。
8年来のKUSANAGI推し。

元公安調査庁職員、発達障害(ADHD)

天満川 鈴をフォローする
KUSANAGI・WEXAL
タイトルとURLをコピーしました