大規模な WordPress E-Com サイト - パフォーマンスが非常に遅い (投稿メタデータと注文データの量が多い)

大規模な WordPress E-Com サイト - パフォーマンスが非常に遅い (投稿メタデータと注文データの量が多い)

私は WordPress で (WooCommerce も使用しながら) 電子商取引ストアを運営しています。このサイトを運営して約 4 年になりますが、その間に当社の Web サイトの売上と顧客登録は大幅に増加しました。これは素晴らしいことですが、多くの部分で Web サイトが非常に遅くなっているという問題があります (これには、ストアのバックエンドからの製品編集などのタスクの実行や、顧客が Web サイト内を移動して注文を完了する方法の観点からの速度低下が含まれます)。

ここでの課題は、時間の経過とともに、大量の投稿メタデータとユーザーメタデータが MySQL データベースに蓄積され、その結果、パフォーマンスが大幅に低下し、読み込み時間に関してサイト全体で複数の問題が発生していることだと思います。

正確に言うと:

  • 私たちのポストメタデータベーステーブルは、約3,554,802行で構成されています。
  • 私たちのusermetaデータベーステーブルは、約2,759,005行で構成されています。
  • 最後に、woocommerce_order_itemmeta は約 1,343,448 行で構成されています。データベースに存在する他のテーブルの多くは、行数で言えば、一般的に 6 桁の範囲内です。

古いデータ(古い注文データなど)を削除できることはわかっていますが、データを削除せずにパフォーマンスの問題を解決するための別のアプローチを推奨してもらえますか?

行数が多いデータベース テーブルにインデックスを作成するためにインデックス プラグインを使用するようアドバイスする記事を見たことがありますが、この方法を最後に試したときにデータベースが破損しました (ただし、復元できるようにスタンバイにバックアップを用意していました)。

大量のメタデータと投稿データがデータベース内に蓄積されることで生じる WordPress の肥大化に関する投稿や記事がたくさんあることは知っていますが、より大量のデータの処理に適した代替データベース エンジンやシステムなど、何か推奨事項はありますか?

あるいは、行数の多い DB テーブルの処理を高速化するために、現在の DB を最適化することに関する推奨事項はありますか? (ページの読み込み時間を短縮する方法として)

MySQL DB サーバーの仕様:

  • テーブルエンジン: INNODB

  • 現在、リモート データベース サーバー上で DB を実行しており、MySQL 8.0 を使用しています。

サーバー仕様:

  • ベアメタルサーバー
  • CPU:16 コア x 3.0 GHz (AMD Epyc 7302P)
  • メモリ:128GB
  • NVMe2 x 960 GB ハードウェア RAID 1

関連情報