多摩川登戸A

ロリポップのファイル数上限のヤバみ💧

主にbaserCMSでサイト運用している私が使っているサーバー、ロリポップ。初心者には割と操作しやすいサーバーですが、ある時から容量とはまた別に、ファイル数にまで上限が設定されることとなりました。その時から、ウェブマスターはファイル数制限との闘いが開始されたのです。

画像1

ウイルス感染をしたわけではなく・・・

ある時、サーバーのディスク容量を見たら、ファイル数がド偉いことになっておりました。ロリポップにおけるスタンダードプランのファイル数上限は50万ファイルですが、なんと22万ファイルも埋まってしまっていたのです。
昨年の12月にこの画面を見た時は17万ファイルでしたので、僅か2ヶ月で5万ファイルも埋めやがったわけです。
「んなにCMS設置しとったかいな?」
以前も実は解決していなかった課題ではあり、ロリポップ側に確認した際は「ウイルス感染してないっすか?」
と問い合わせていたわけですが、結果は「感染してへんで」で終了です。

baserCMSの基本的な仕組み:サーバーキャッシュ

私はWordpresserではなく、他のCMSでWEBサイトを構築しています。その中で最もよく使うのがbaserCMS。
もともと私はDrupalがCMSデビューの切っ掛けですし、その後に触ったCMSは全部がWordPress以外のものでやっているわけです。
baserCMSは国産システムとして敢えて探したもので、ロリポップはオフィシャルパートナーになってます。それ故にbaserCMSで作ったサイトはそこそこ多く、今後もメインで使うことになるのは、ほぼ間違いないでしょう。
さて、baserCMSはCakePHPで作られています。
サイトの表示を速めるためにサーバーキャッシュの仕組みを使っています。

このサーバーキャッシュがファイル数と非常に関係します。結構CMSにはサーバーキャッシュを使うものがあったりするわけですが、このサーバーキャッシュを使うCMSは定期的なメンテナンスが必要ということだけ覚えておきましょう。

暫く更新してないから大丈夫…なわけではない

baserCMSの仕組みとして/app/tmp/cache/にキャッシュを払い出すのは知ってはいたんです。そう、知ってはいた。
ただですねぇ、ファイル数を肥大化させるサイトが「現在更新を続けてるもの」だけだと思い込んでいたんで、しばらく放置してたサイトに目が行かなかったんですよ。
で、TermiusでSSHコマンド叩いたら、意外なとこに犯人がいたわけです。

画像2

💻入力したコマンド💻

$ for x in * ; do echo $x ; ls -1UR $x | wc -l ; done

実はなんと、更新してなかったサイト方に127775個ものゴミが溜まっていたわけなんです!
いや、まさかビックリ。いや、更新してなくてもアクセスがあればきっと、キャッシュは溜まっていくんですよね。でも輿水幸子よろしく、サーチコンソール見た時はそんなにアクセスは無かったのですが・・・。

とにかくサーバー清掃する:ロリポップFTPで原因除去

画像3

とにかくサーバーをお掃除しなければなりません。
baserCMSの/app/tmp/cacheの下は上のような構成になっています。
さて、この内とくにお掃除が必要なフォルダがdatasです。この中が悲惨。
一先ずdatasフォルダに入り、中身を一括選択して削除を実行します。

画像4

ロリポップFTPから削除をするとGateWayTimeOutになるんですが、辛抱強く待ちましょう。裏では動いてますから。

画像5

おかげ様で一気に10万ファイル減りました。
やはりこうして時にはメンテナンスしないとダメですね。
これで安心してWEBサイトを運用再開できますね。
あと、SSHアプリとしてTermiusは使いやすいので、割とオススメです。

まとめ

㊀CMSには高速化の為にキャッシュを払い出すものがある
㊁更新してないからと言ってもキャッシュは払い出し続ける
㊂定期的にCMSを入れたサーバーはメンテナンスをしましょう

ご一読ありがとうございます。お読みいただいた記事がもし無料、あるいは価格以上の価値があると思ったら、フォローならびに、サポートいただけますと幸いです。