VPSのストレージが90%以上になって空き容量が無くなっている〜WordPressのキャッシュ関係が怪しいので調べてクリーニングする

sasapurin debian GNU/Linux

VPSのストレージ容量が圧迫されたため、ディスク使用量を調査できるncduを導入して原因を特定しました。WordPressプラグインによるキャッシュファイルの肥大化が原因と判明し、キャッシュ消去と設定調整によって正常な空き容量へ回復させました。

CUI環境においてncduはフォルダごとの占有容量を直感的に確認できるツールです。キー操作で簡単にディレクトリ移動やファイルの削除が行えるため、リモートサーバーでの効率的なストレージ管理に役立ちます。

いつの間にかストレージが90%以上使われている

さくらVPSにdebian GNU/Linuxを最小インストールして、必要なLAMP環境を整えてWordPressを動かしていますが、気がついてみるとストレージの空きが殆無くなってしまっていました。せっかくのVPSなので、たまに動画ファイルをアップロードしてffpmegを使って簡単なエンコード処理をしたりするのですが、空きが無くなってしまうとこれも出来なくなってしまうから困りものです。

一番怪しいのはサイトのレスポンスを改善するキャッシュする高速化機能です。キャッシュファイルがどんどん溜まってしまうと肥大する一方なので一番怪しいです。どこのフォルダが原因なのかを調べるため、ncduをインストールすることにしました。

~$ sudo apt update
~$ sudo apt install -y ncdu

ncduを実行します。(/から調べる場合はsudoで実行する必要あり)

~$ ncdu /home/sasapurin/wp-mypace/

視覚的にわかりやすい診断結果が表示されました。/wp-contentが73.3GiBも食ってます。こかから絞り込んでいけるので分かりやすいです。選んでENTERで下層に潜り込んでいきます。

--- /home/sasapurin/wp-mypace --------------------------------------------------------
   73.3 GiB [############] /wp-content
   89.9 MiB [            ] /wp-includes
   10.6 MiB [            ] /wp-admin
  512.0 KiB [            ]  .htaccess
   52.0 KiB [            ]  wp-login.php
   36.0 KiB [            ]  wp-signup.php
   36.0 KiB [            ]  wp-settings.php
   20.0 KiB [            ]  license.txt
   16.0 KiB [            ]  .wp-config.php.swp
   12.0 KiB [            ]  wp-mail.php
    8.0 KiB [            ]  wp-activate.php
    8.0 KiB [            ]  readme.html
    8.0 KiB [            ]  wp-cron.php
    8.0 KiB [            ]  wp-trackback.php
    8.0 KiB [            ]  .htaccess.cocoon
    8.0 KiB [            ]  wp-config.php
e   4.0 KiB [            ] /.well-known
    4.0 KiB [            ]  wp-load.php
    4.0 KiB [            ]  wp-config-sample.php
    4.0 KiB [            ]  xmlrpc.php
    4.0 KiB [            ]  wp-links-opml.php
    4.0 KiB [            ]  wp-comments-post.php
    4.0 KiB [            ]  index.php
    4.0 KiB [            ]  wp-blog-header.phpCode language: PHP (php)

ncduはキャラクターベースのUIですが視覚的にわかりやすく、このようにしてフォルダーに入り込みながら専有している容量を調べていけるので便利です。

終了するには”q”をタイプすると終了します。

やはりwpo-cacheが肥大していて70GiB以上食っていました。wpo-minifyが肥大しまくっています。これは明らかに異常なので一番怪しいプラグイン「WP-Optimize」を弄って暴走を止めます。一旦キャッシュクリアしてクリーニングすることも必要です。

--- /home/sasapurin/wp-mypace/wp-content/cache ---------------------------------------
                           /..
  360.3 MiB [############] /wpo-cache
  184.0 KiB [            ] /page
   76.0 KiB [            ] /page_enhanced
e  72.0 KiB [            ] /object
   20.0 KiB [            ] /wpo-minify
   16.0 KiB [            ] /stats
e   4.0 KiB [            ] /tmp
    0.0   B [            ]  index.html
Code language: PHP (php)

通常レベルに回復したと思われますが、しばらく様子見をしなくてはいけなさそうです。

--- /home/sasapurin/wp-mypace --------------------------------------------------------
    2.1 GiB [############] /wp-content
   89.9 MiB [            ] /wp-includes
   10.6 MiB [            ] /wp-admin
  504.0 KiB [            ]  .htaccess
   52.0 KiB [            ]  wp-login.php
   36.0 KiB [            ]  wp-signup.php
   36.0 KiB [            ]  wp-settings.php
   20.0 KiB [            ]  license.txt
   16.0 KiB [            ]  .wp-config.php.swp
   12.0 KiB [            ]  wp-mail.php
    8.0 KiB [            ]  wp-activate.php
    8.0 KiB [            ]  readme.html
    8.0 KiB [            ]  wp-cron.php
    8.0 KiB [            ]  wp-trackback.php
    8.0 KiB [            ]  .htaccess.cocoon
    8.0 KiB [            ]  wp-config.php
e   4.0 KiB [            ] /.well-known
    4.0 KiB [            ]  wp-load.php
    4.0 KiB [            ]  wp-config-sample.php
    4.0 KiB [            ]  xmlrpc.php
    4.0 KiB [            ]  wp-links-opml.php
    4.0 KiB [            ]  wp-comments-post.php
    4.0 KiB [            ]  index.php
    4.0 KiB [            ]  wp-blog-header.phpCode language: PHP (php)

ストレージを喰らいまくっている原因を追求するには、ncduコマンド(アプリ)はとても便利ですね。

ncduの使い方

Linuxサーバーの運営管理のために便利なncduを活用できそうです。備忘録がてら要点のみ残しておきます。

操作キー

  • ↑↓キー:選択肢の移動
  • ENTERキー:フォルダの中に入る
  • dキー:選択したフォルダ/ファイルを削除(確認が表示される)
  • qキー:ncduを終了

行頭のプレフィックス

  • e:Enpty(空)
  • @:Symlink/Socket
  • <:Excluded
  • !:Error
  • .:Other
  • H:Hardlink

今回の調査について

ncduを使うことでSSHでの接続(コマンドライン操作)でもとても簡単に調査が行えました。このVPSはどうせSSHリモートだしVPSのスペックも一番低い(安価)プランにしているのでGUI環境をインストールしていません。

正直いうと、コマンド操作だけで調べていくはしんどいところ、ncduのおかげでサクッと原因を突き詰めていくことが出来ました。便利なツールは使わないと損ですね。

ディスク使用量アナライザ(Linux Mint Cinnamon)

GUI環境を備えたLinux環境の多くはディスクスペースの占有状況をグラフ等で視覚的にレポートしてくれる便利なアプリ(例:上図の様なディスク使用量アナライザ)が用意されていますが、CUIでも見方は違えど視覚的な情報収集を諦める必要はなさそうです。

コメント

コメント通知

ブロックしたスパム

タイトルとURLをコピーしました