画像がアップできない?「リビジョン」のデータが多すぎるとデータベース容量が足りなくなる問題

こんにちは! ヨス(プロフィールはこちら)です。

先日、このブログ「ヨッセンス」で新しい画像がアップロードできないというエラーが出て困っていました。

今回はこの問題の原因であった「データベースの容量がオーバーしていた」ということについて詳しくお話します。

ヨス

ちなみにここで紹介している問題は、原因不明でお手上げ状態だったところをブログまわりの専門家の ものくろさんにお願いし、解決しました!

【問題】新しい画像がアップロードできない

ことの発端は、わたしのブログで新しい画像がアップロードできないという問題でした。

ふつうにWordPressの記事投稿画面で画像を入れようとするとこんなメッセージが出ていたんです。

データベースに投稿を追加できませんでした

ヨス

データベース? やばい!!
苦手な言葉が出てきた!

問題の原因はデータベースの容量オーバー

結論から言うと、この問題の原因はデータベースの容量オーバーでした。

データベースって何?という方は下記をご参考に。

データベースは、WordPressの場合はテキストデータ(文字)のみが格納されています。

テキストデータは非常に軽いため、普通のブログでは容量がいっぱいになることはめったにありません

「画像」のような重いデータはデータベースに入っていませんからね。

ところが、わたしのブログでは
1GBをオーバーしていました。

ヨス

通常のWEBサーバーだとデータベースの容量はどこでも1サイトにつき1GBです。

データベースの容量オーバーの原因は「リビジョン」

「テキストデータ」というのは非常に軽いのが特徴です。

1GBも使い切るなんて、このブログに1,500記事以上あるとはいえ、少し考えられません。

原因は「リビジョン」でした。

リビジョン
リビジョン

リビジョンというのは、一度書いて保存した記事を訂正して保存したときに、前回の状態も保管しておくという機能です。

つまり、一度書いた記事を訂正して更新ボタンを押せば押るほど、データを圧迫してしまうということですね。

わたしの場合、プロフィールを例に出すと300回以上リライトしているので、それは莫大な容量を使っていたことでしょう。

ヨス

文字データは軽いですが、「塵も積もれば……」です。

データベース容量を圧迫していると危険

今回、ものくろさんに見てもらったときには、1GBどころかすでにオーバーしていました。

ものくろさん、涼しい顔でこんなことをサラッと……

ものくろ

よくこの状態で普通に動いていたね♪

「時間帯によって、ときどき重くなっていたことがある」と話すと「そりゃあそうだ」と納得されました。

言うなれば、風船に空気をパンパンに入れた状態で運営していたので、いつ割れても(ブログが壊れても)おかしくなかったんだそうです。

しかも、すでにデータベースをオーバーしているということは、「リビジョンのデータを削除する作業」すら耐えられるか……というレベルの危険状態だったそうです……。聞いているだけで怖い。

バックアップなどで「もしものこと」にそなえた上で臨んでくださり、結果としてうまくいきました。

なんと、データベース容量が5分の1以下になりました! どれだけムダなデータが残っていたのかと驚くばかりです。

 

データベースの容量が8分の1に!
データベースの容量が5分の1以下に!

正確には1024.27MB(マックス)180.33MBになりましたよ!

【解決方法】リビジョンを無制限に保存しない方法

このリビジョンですが、無制限に保存できるようにしているから問題なんですよね。

リビジョンは、「あ! 書き直したけど、さっきの状態に戻したい!」というときに便利ですが、あんまり使わない人のほうが多いでしょう。

対策として、リビジョンの保存をしなくする方法や、リビジョンの保存を「3つまで」のように制限する方法もあります。

ヨス

くわしくは、下記のものくろさんの記事をご覧くださいね。

参考: WordPress リビジョンを作らない(無効化)ように 設定をwp-config.php に追記する - ものくろぼっくす

サーバーへの負荷が大きいプラグインにも注意

ものくろさんにご指摘いただいたことはもう1つあります。

それはプラグインによってはサーバーへの負荷が大きくなるということです。

ここでは指摘をいただいた2つを紹介しますね。

Broken Link Checker

まずは「Broken Link Checker」。

「Broken Link Checker」は、リンク切れしたとき(記事内からリンクを張っているリンク先のページが削除されたとき)に教えてくれる便利なプラグインです。

このプラグインもデータを残していくため、データベースの容量をたくさん使ってしまうらしいです。

ずっと「有効化」しておくのは重くなる原因だそうですが……常にリンク切れを教えてもらうには有効化しなくてはならないし。

悩みどころです……。

WordPress Popular Posts

ブログ内でランキング(人気のある記事に順位をつける)表示をしてくれるプラグイン「WordPress Popular Posts」。

こちらはじつは、ずっと前にWordPress改造の専門家よっしーさんの記事を見て「Simple GA Ranking」に変更しました。

参考: 【WordPress】Google Analyticsのデータで人気記事ランキングを作れるプラグイン「Simple GA Ranking」が軽くてよさげ | よしあかつき

「Simple GA Ranking」はGoogleアナリティクスのデータを使うため重くなりませんよ。

というわけで、ものくろ さんには本当に助けられました。

ブログを長く運営している人で、「リビジョンがたまってデータベースが圧迫されているかも」と思ったら、ぜひ ものくろ さんへご連絡を!

データベースの中をいじるのは、素人がやると危険なのでやらないほうがいいので……。

ものくろ さんにお問い合わせする