データベースの最適化
Thank you for reading this post, don't forget to subscribe!
記事の保存はデータベースへの書き込みを伴います。データベースが肥大化したり、インデックスが適切に構築されていない場合、クエリの実行時間が長くなり、保存に時間がかかることがあります。
私のサイトでもつい先日、記事を再編集して「保存」しようとした時、
「 」ボタンが中々アクティブ「 」に成らなかったり、「 」のまま変わらなかったりすることが頻発する様になった。
サーバーのphpメモリ上限とphp Postサイズ上限を、512Mから1,024Mに増やす変更しても改善されなかった。
今回、追記編集しようとした記事は、
「5年前のパソコンでもWindows11は動くのか? Let’s note sz6 Core i5-7200U」は、2021/07/09に初投稿したもので、現在の文字数が31,372。Window 11の更新(KBメンテでBuild Noが上がる)都度、50数回に渡り追記・編集してきたもので、細かな修正も含めると60個程度のリビジョンが溜まっていた。
「使っちゃいけないプラグイン 153本 [発見次第更新]使ってはいけないWordPress Plugin ➡️解除も! 」は、2021/02/19に初投稿したもので、現在61,316文字。Pluginの発見都度、2022年に23回、2023年に35回、2024年は既に26回、追記・編集してきたもの。こちらなんと90近いリビジョンが溜まっていた。
「WordPress 脆弱性とバージョン推移 」では、2019/08/28の初投稿以来、WordPressの新バージョンが発表・公開される都度、追記・編集してきた。現在の文字数は、12,683
これら以外にもリライトを続けているものもあるが、これらは今後もリライトを続けていくことになるので、この課題は解決しなくてはならない。
課題整理と問題解決に向けて
問題は、リライトを続けることでリビジョンNoが上がりWordPressや多くのCMSが管理する同じ記事に関連する古いリビジョンが溜まっていくことになり、データベースへの影響(パフォーマンスやデータベース領域の像祭)が進む。
記事が少ない内や、リライト回数が少ない内は気にしなくても良かったもので、これまで一度もリビジョン管理など気にもしていなかった。
今回の事象でそうも行かないこと、今後も「保存」で待たされることになる・・・ということに対処しなければという思いに至った。
手動でリビジョン管理が管理画面からできる「Concrete CMS」の様なものもあるが、WordPressでは、プラグインに頼る必要がある。
さりとてリビジョン管理ができるPluginは多数WordPress.orgに上がっているが、どれが妥当か?、どのPluginが自分にとって好ましいのか分からない。
生成AI GEMINIに聞く
GEMINIに質問した内容は以下。
「WordPressのデータベースを最適化するのにオススメのPluginを利用の多い順に5つ程度教えて
回答は3種類
GEMINIは1回の質問で3通りの答えを出してくれる。
利用の多い順に5つという質問に対して、3通り其々の内容(同じプラグインであったり、順位が違ったり、中には目的としない(質問の内容と食い違う)プラグインがあったりとか、WordPress.orgに掲載されていないものとか)
GEMINIの回答は3通りあってその中から判断し「
Revision管理Pluginではない「 」も2度(5位と4位で)提示されたが、今回はフルバックアップ(データベースのバックアップとファイルのバックアップ)用として使用することに
GEMINIの回答は下の表にまとめておきますので、同じような課題を抱えている人たちへのご参考として、この記事で共有できればと思います。
UpdraftPlus
普段のバックアップは、ホスティングサービス任せなのでバックアップの為のプラグインを利用することがなかったが、今回フルバックアップ(WordPress全体のバックアップ)ということで利用した。
WP-Optimize
GEMINIが提示したPluginのまとめ
Revision control
_ | # | Plugin 名 | WordPress.org Install WP ver. |
主な機能 | 特徴 | GEMINI提示 3回 |
---|---|---|---|---|---|---|
1 |
WP-Optimize |
1,000,000+ WP 6.6.2 |
◉ 不要なリビジョンの削除 ◉ 一時的なデータの削除 ◉ スパムコメントの削除 ◉ オプティマイズスケジュール設定 ◉ データベースの分析 ◉ データベーステーブルの最適化 ◉ スケジュールによる自動最適化 ◉ キャッシュのクリア |
◉ シンプルな操作性 ◉ 高いパフォーマンス ◉ 多機能 |
1位 1位 1位 |
|
2 |
Optimize Database after Deleting Revisions |
80,000+ WP 6.6.2 |
◉ リビジョン削除後の自動最適化 ◉ 手動による最適化も可能 ◉ カスタム投稿タイプのリビジョン管理 ◉ 添付ファイルのリビジョン管理 ◉ 自動スケジュールによる最適化 |
◉ 特定の機能に特化しているため、シンプルで使いやすい ◉ リビジョン削除とデータベース最適化をワンストップで実行できる |
2位 4位 2位 |
|
3 |
WP-Sweep |
100,000+ WP 6.6.2 |
◉ トランジェント、自動保存、投稿メタ、コメントメタなどの削除 ◉ カスタム投稿タイプやタクソノミーの削除 ◉ スケジュールによる自動クリーンアップ |
◉データベースのクリーンアップを細かく設定できる | 3位 | |
3 |
WP -DBManager |
80,000+ WP 6.3.5 |
◉データベースのバックアップ ◉データベースの修復 ◉データベースの最適化 ◉テーブルの修復 ◉データベースのエクスポート/インポート ◉SQLクエリの実行 |
◉多機能 ◉高度な設定が可能 ◉データベース管理を包括的に行える |
3位 | |
4 |
Advanced Database Cleaner |
100,000+ WP 6.6.2 |
◉カスタムSQLクエリによるクリーンアップ ◉バックアップの作成 ◉詳細なログ |
◉高度なデータベースクリーンアップ機能を提供する | 4位 | |
5 |
UpdraftPlus – Backup /Restore |
3,000,000+ WP 6.6.2 |
◉WordPress全体のバックアップ ◉データベースのバックアップ ◉データベースの最適化 ◉ファイルのバックアップ ◉自動スケジュールによるバックアップ ◉クラウドストレージへのバックアップ ◉スケジュール設定による自動バックアップ ◉復元機能 |
◉バックアップと最適化を同時に実行できる ◉クラウドストレージとの連携が可能 ◉多様なバックアップオプション |
5位 4位 ※ Revsion管理用として提示されたが、 BackUpプラグイン |
|
5 |
Clean Up – WordPress |
NotFound | ◉データベースのクリーンアップ ◉不要なショートコードの削除 ◉CSS/JavaScriptの最適化 ◉不要なデータの削除(不要な投稿、コメント、タグ、カテゴリーの削除) ◉トランザクションテーブルの最適化 ◉自動保存データの削除 ◉カスタムテーブルの管理 ◉データベースの分析 ◉トランジェントの削除 ◉オプションの削除 |
◉不要なデータを細かく指定して削除できる ◉データベースを軽量化できる |
5位 2位 5位 ※ WordPress.orgに 存在せず |
そこで、GIMINIに聞いた見た結果から判断して「WP-Optimize」を利用することとした。