提高性能

提高性能

性能是任何網站的關鍵,希望本指南能讓您走上正確的軌道,以優化您的網站以在您的社區發展的同時執行。

主機託管

您擁有的服務器是快速網站最重要的一步,整體性能從您的主機服務器和硬件開始。

確保您擁有功能強大且功能強大的服務器,例如 Apache,或者使用 Nginx,因為它非常高效,但任何可以運行 PHP 或 MySQL 的服務器都應該沒問題。

如果您的社區開始大幅增長,請將您的託管環境升級到虛擬專用服務器或更好的專用服務器,以便每天處理大量用户和帖子。雖然可以在共享託管環境中運行 bbPress,並且對於小型社區來説效果很好,但您的社區發展得越多,您的站點就越慢,共享託管就越不是一個可行的選擇。

bbPress 和 WordPress 在豐富的託管環境中工作得最好。要為您的主機尋找推薦的解決方案,您可以查看此特色 WordPress 主機列表

操作碼緩存

顯着提高性能的一種極好方法是在您的服務器上安裝 Opcode 緩存器。這可以通過緩存來自先前請求的 PHP 操作碼來提高頁面加載和每秒請求數。

要安裝 Opcode 緩存器,您需要聯繫您的託管服務提供商並要求他們為您安裝它,或者詢問他們是否有幫助您在服務器上安裝它的指南。

請注意,在大多數情況下,您將無法在共享主機上安裝操作碼緩存器,因為運行它需要大量內存。

以下是眾所周知的 Opcode 緩存器列表:

對象緩存

對象緩存是緩存複雜的 SQL 查詢,因此它們不會在頁面加載中多次執行。使用對象緩存器將使用 WordPress 緩存 API 緩存任何內容,這將阻止 WordPress 緩存到默認選項表,而是使用您安裝的任何對象緩存後端。

然後,您需要選擇要使用的持久緩存類型。您還可以使用其中一些操作碼緩存器來進行對象緩存。

也可以在您站點上的內存對象緩存器中使用這些。

要使對象緩存與 WordPress 一起使用,您需要安裝一個插件,該插件會將對象緩存插入文件添加到您的 WordPress 站點。有多個對象緩存後端插件會添加這個對象緩存插入文件,例如這個用於 APC 或這個用於 Memcached  ,W3 Total Cache 也支持其中的大部分。

對於多服務器設置,您可能需要考慮使用 Memcached 。

在共享服務器上,您可以使用磁盤來存儲經常訪問的數據,但這可能會導致問題並實際上降低站點的速度。

頁面緩存

頁面緩存非常適合您的網站頁面、博客文章和網站首頁,但由於論壇高度動態且用户不斷更新,頁面緩存實際上取決於您如何設置 bbPress 論壇。

如果您只允許用户在登錄時發帖,最好只為訪客用户提供緩存。如果您在插件中找到設置緩存刷新的選項,請確保將其設置為較短的時間,例如大約一兩個小時。同樣在 bbPress 文章類型更新後,大多數 bbPress 兼容緩存插件將刷新緩存,一切都應該再次新鮮。

如果您允許用户在未註冊到您的站點的情況下發帖,頁面緩存可能不是非常實用的解決方案。因此,建議從頁面緩存中排除 bbPress 論壇頁面,以便您的論壇頁面不會向訪客用户顯示過時的信息。如果您的論壇非常活躍,您也可以考慮這樣做。

要禁止頁面緩存中的論壇頁面,請進入您最喜歡的緩存插件並將這些字符串添加到被拒絕的頁面/字符串以緩存設置。

如果您為您的論壇保留了論壇 root slug,您可以將此論壇字符串用於大多數 bbPress 頁面,以及主題存檔的主題字符串。

/forums/  /topics/

如果您在論壇設置中禁用了論壇 root slug,則可以使用這些字符串集。

/forums/  /forum/  /topics/  /topic/  /reply/

如果您在論壇設置中設置了自定義 slug,您可以將我放置的字符串替換為您的自定義字符串。

為了獲得更好的頁面緩存性能,可以允許使用操作碼緩存器 Redis 。或 Memcached 將您的頁面存儲在內存中,但請記住,論壇往往有更多可緩存的頁面,您可能需要密切關注網站上的 RAM 使用情況。

優化您的數據庫

這是可選的。

當刪除帖子、頻繁編輯帖子、將帖子標記為垃圾郵件時,您的數據庫將開始積累大量額外數據。即使每個部分單獨可能是幾個字節的數據,一段時間後這些數據將開始累加並可能影響您的服務器從數據庫表中檢索信息的時間。通過清理和刪除您可能不需要的數據 (例如佔用數據庫的垃圾郵件),優化數據庫會略微提高性能並減小數據庫大小。

雖然您可以使用 SQL 命令 OPTIMIZE TABLE 優化數據庫表,或者通過選擇每個表並從下拉菜單中選擇優化表來運行優化 phpMyAdmin 中的數據庫表的功​​能,但您只需使用一個方便的 WordPress 插件來優化您的數據庫。安裝 WP-DBManagerWP-Sweep 等插件或任何其他替代品,將允許您優化大部分數據庫。

使用這些插件之一優化數據庫時,您可能會看到刪除此類數據的選項。我只是要告訴您在我看來可能很重要的選項,為什麼您可能不運行它,以及為什麼運行一個選項可能有用。我還建議至少一兩個月優化一次數據庫。

在執行任何操作之前,建議您在運行任何選項之前執行數據庫備份,因為刪除數據是永久性的。

  • 刪除修訂——雖然這可能很有用,尤其是當您瘋狂地編輯您的帖子時,bbPress 使用 WordPress 中的帖子修訂系統來進行話題和回覆編輯日誌記錄。如果您想在您的帖子中保留編輯日誌,其他插件可能是自定義 CSS 插件的修訂系統。如果您覺得可能會丟失一些重要的東西,請不要運行它。
  • 刪除已刪除/已刪除的帖子- 如果您認為您刪除的任何類型的帖子 (包括話題、回覆和博客帖子) 都應該被刪除而不會出現任何錯誤,您可以運行此程序。
  • 刪除垃圾郵件- 此選項通常包括垃圾郵件評論。垃圾評論可以很好地擴大您的數據庫,它們通常每月至少會被 WordPress 自動刪除一次,但使用這些插件可以縮短時間。

由於您可能有大量垃圾郵件話題和回覆,因此請確保如果要運行此功能,您最好刪除所有回覆和話題垃圾郵件。

  1. 轉到 WordPress 後端中的回覆 > 所有回覆或話題 > 所有話題。
  2. 單擊垃圾郵件操作鏈接,您可以查看所選文章類型的所有垃圾郵件。
  3. 現在點擊清空垃圾郵件按鈕刪除所有文章類型的垃圾郵件。
  • 優化表- 在 WP-Sweep 和 WP-DBManger 中,這應該類似於 phpMyAdmin 優化數據庫表的方式。

核心代碼改進

就像生活中的任何事情一樣,總是有更多的改進空間。 bbPress 2.6 版將啓動一些性能改進,任何能夠幫助測試並在 bbPress trac 中為現有 trac 票證創建補丁的人,或者只是為 bbPress 貢獻任何可能的代碼改進建議的人都將不勝感激。

提高性能的其他方法

  • 刪除不必要的對象、功能和插件——只使用您需要的。
  • 將數據卸載到外部源——使用 CDN 或附加服務器來保存靜態內容,可以大大減少帶寬、服務器負載並加快您的網站速度。
  • 縮小或組合您的網站 CSS 和 JS – 縮小 JavaScript 和 CSS 可以減少文件的大小,而組合將最大限度地減少對多個文件的請求。
  • 啓用瀏覽器緩存
  • 頭部的 CSS 和頁腳的 JS
  • 優化圖像– 如果您的用户使用 bbPress 插件在您的論壇中上傳了大量 Gif 和 JPEG,您會注意到這些圖像會減慢您的主題加載時間。啓用某種圖像優化將減小這些圖像的大小並使帶有圖像的帖子加載速度更快。
  • 使用延遲加載– 使用延遲加載插件 (如 Lazy LoadRocket Lazy Load)將最小化請求並僅在用户可見時顯示圖像。
  • 使用 Gzip 壓縮

其他資源

報告拼寫錯誤

以下文本將發送給我們的編輯: