LiteSpeedでWordPressを半年以上動かしてわかったことは、「メモリが少ないと頻繁にハングする」ということ。
実際、メモリが0.6GBのf1-microサーバ(GCE)では3日に1回くらいアクセス不可が発生していたけど、メモリだけ3GBに増やしたら一切起きなくなった。
とはいえ、無料で使えるf1-microは変えたくないし、キャッシュ機能などが充実しているLiteSpeedも離れがたい。どうにか現状のリソースで対応できないか、と考えた末、Swapを追加すればいいんでない?と思い付いた。
Swapの設定方法
早速、現在のSwapを確認してみる。
$ sudo swapon --show
なにも表示されない。どうやら、GCPのMarketplaceから作ったOpenLiteSpeedサーバだと、デフォルトではSwapが設定されてないようだ。
というわけでSwapを新規作成する。手順は以下のサイトを参考にさせてもらった。
まず、Swap領域として使うファイルを作成する。
$ sudo fallocate -l 4G /swapfile
一般的に、サイズは実メモリの2倍(今回の場合は0.6G×2=1.2G)が目安らしいけど、なんか心許ない気がして4Gにした。正直適当。
作成したファイルの権限を変更する。
$ sudo chmod 600 /swapfile
作成したファイルをSwap領域として指定する。
$ sudo mkswap /swapfile
Swap領域を有効化する。
$ sudo swapon /swapfile
この状態では再起動時にリセットされてしまうため、起動時に自動でSwapがマウントされるように、fstabに追記する。
$ sudo vi /etc/fstab /swapfile none swap sw 0 0
ここまで3分もかからず。
最後に、Swapの動作状況を確認してみる。
$ sudo swapon --show NAME TYPE SIZE USED PRIO /swapfile file 4G 85.5M -2
無事動いている様子。めでたし。
で、実際どうなの
設定して1週間ほど動かしているけど、今のところ問題なく動作している。
少し気になるのはSwapの使用量が緩やかに上昇し続けてること。どうやら以下のコマンドで意図的に解放(RAMへの反映?)するまでは単調増加するのだとか。
$ sudo swapoff -a && swapon -a
増加量は1日当たり数十MB程度なのですぐに対処する必要はなさそうだけど、いちいち気にするのは面倒なので、いずれ自動化したい。