
我有一個在WordPress 上運行的電子商務商店(同時使用WooCommerce) - 我們已經運營該網站大約4 年了,在那段時間裡,我們的網站在銷售和客戶註冊方面大幅增長,這很棒,但是,缺點是我們的網站在許多方面變得極其緩慢(這包括執行諸如從商店後端編輯產品等任務,以及從客戶如何瀏覽我們的網站並完成訂單的角度來看)。
我認為這裡的挑戰是,隨著時間的推移,MySQL 資料庫中累積了大量的 postmeta 數據和 usermeta 數據,結果,它導致了效能的真正下降,這導致了我們網站上的多個問題關於載入時間。
確切地說:
- 我們的 postmeta 資料庫表由約 3,554,802 行組成
- 我們的 usermeta 資料庫表由約 2,759,005 行組成
- 最後,woocommerce_order_itemmeta 由約 1,343,448 行組成。
雖然我知道我們可以繼續刪除舊資料(例如舊訂單資料等),但有人可以推荐一種替代方法來解決效能問題,而不刪除資料嗎?
我看過建議使用索引插件的文章,用於對行數較高的資料庫表建立索引,但是,上次我們嘗試這種方法時,我們的資料庫已損壞(但我們有一個備用備份準備恢復) )
我知道有很多關於 WordPress 膨脹的帖子/文章,其中包含在資料庫中建立的大量元數據和帖子數據,但是是否有任何建議,例如更適合的替代資料庫引擎/系統處理大量數據?
或者也許有任何基於對當前資料庫進行最佳化的建議,以便更快地處理具有大量行數的資料庫表? (作為加快頁面載入時間的一種方法)
MySQL 資料庫伺服器規格:
表格引擎:INNODB
我們目前正在遠端資料庫伺服器上執行資料庫,並且使用 MySQL 8.0。
伺服器規格:
- 裸機伺服器
- CPU:16 核心 x 3.0 GHz (AMD Epyc 7302P)
- 記憶體:128GB
- NVMe2 x 960 GB 硬體 RAID 1