Kusanagiでリソースの変更時には最適化のコマンドを実行する

目次

概要

今回、VPSで利用しているKusanagiを利用しているWordPressについて、CPUやメモリを増やすなど、リソースの変更を行いました。

その際に、MySQLやPHPなどの設定を新しいVPSのリソースに合わせて変更する必要があったので、その方法について紹介します。

環境

  • KUSANAGI Version 9.3.3-1.el9
  • WordPress 6.3.1

何をしたか

これまで、WebArena IndigoというVPSのサービスで使うことができるKusanagiを利用して、WordPressを構築していました。Kusanagiを利用することで、サーバーの設定等、あまりしなくて済むため採用していました。

これまで、VPSはメモリが2GBのプランを利用していましたが、動作が重く感じるようになりました。そこで、利用しているVPSのインスタンスタイプをメモリが4GBのものに変更することにしました。

変更自体は、現在のインスタンスについてスナップショットを作成し、そのスナップショットをもとに、新しい拡張したインスタンスタイプでインスタンスを作成するだけでできました。

しかし、実際に利用してみると、2GBから4GBにメモリを増やしたのに、2GBを超えてメモリがあまり使われていません。最初は、起動してすぐだからメモリの使用量が少ないのかと思ったのですが、数時間経過しても変化がなかったため、何かおかしいと思うようになりました。

やるべきこと

そこで、設定を確認してみると、PHPやMySQL(MariaDB)において、メモリやCPUの使用量の設定が少ないように見えました。

調べてみると、Kusanagiでは、最初の設定時に実行するkusanagi initコマンドの実行時に、MySQLやPHPのリソース使用について設定を行っていることが分かりました。そのため、VPSのインスタンスを変更して、メモリやCPUの数が変更された場合には、改めてコマンドを実行して、設定にリソースを反映させる必要があるようです。

リソースの反映は次のふたつのコマンドを実行すると、現在のリソースに応じて設定してくれます。

$ kusanagi dbinit mariadb
$ kusanagi php

これで、現在のリソースに合わせてMySQLやPHPの実行環境が最適化され、Kusanagiの力を最大限発揮できるようになります。

さいごに

今回のスケールアップ時には、あまり問題にならないかもしれませんが、スケールダウン時には、サーバーに実際に割り当てられているメモリやCPUよりも、MySQLやPHPなどにリソースが割り当てられ、サーバーの不安定化につながる恐れがあります。

そのため、リソースを変更したのであれば、現在のリソースに合わせて最適化を行うようにしましょう。

現在、メモリが2GBから4GBのプランに変更したことで、WordPressの管理画面が高速に動くようになりました。記事を書くのが楽しいです。