さくらVPSでIOPS制限をくらうとメチャメチャ遅くなってしまうことがある
さくらVPSで利用しているサーバが「IOPS制限」をくらってしまいました。
制限をうけているサーバではwordpressのサイトが稼働している状況でしたが、管理画面含めてサイトがまったく表示されない状況でしたね。
「IOPS制限中」のマークが表示されている状態であることがわかります。
※ブルーライトカットしている状態のスマホでキャプチャしたため、黄色っぽくなってしまいました。
原因調査
さくらのVPSのコントロールパネルから状況を確認したところ、DISK I/Oが高いことがわかりました。
※急いでいたため画面キャプチャを取り損ねました。
そして、サーバへログインし、vmstatコマンドで確認したところ、swapの値非常に大きいことがわかりました。
原因はswap過多によるI/O増加ですね。
対応策
swap過多によるI/O増加の場合、swap領域を開放することで状況が改善します。
具体的には以下の方法ですね。
- swap領域のデータをメモリに移す
- swap領域のデータを削除する
- サーバを再起動する
1点目の対応には物理メモリに空きがある必要があります。
カモトラは急いでいたこともあり、サーバの再起動を実施しました。
再起動後にさくらのVPSのコントロールパネルでDISK I/Oの箇所をキャプチャした画面が以下です。
画面の右側部分、ちょうどDISK I/Oのグラフがほぼなくなっている箇所が再起動後の状態です。
この状態の場合でもIOPS制限は継続していましたが、サイトは表示されるようになりました。
結論
今回のカモトラのケースでは、IOPS制限の原因は大量swapの発生によるものでした。
swap過多が解消されることでIOPS制限であってもサイトは表示されました。
とはいえ、swap領域を大量に使用する原因については別途調査する必要がありそうですね。