DigitalOcean 上 Nginx 環境中單個 WordPress 站點中的慢速 TTFB(20 美元)
在託管在 20 美元DigitalOcean液滴上的所有預設 Ubuntu 16.04 Nginx 環境中,我只有一個帶有少量數據的 WordPress 站點:大約 10 個網頁、10 個圖像(每個大約 100kb)和 6 個常用外掛(全部採用預設配置) .
在此站點中,我的一般載入時間 ( TTFB )有點慢。
配置文件
WordPress 記憶體(自動優化):
操作碼記憶體:
我的問題
自從我在大約一個半月前上傳該網站以來,在每個Google PageSpeed Insights 測試 (GPI)中,我不斷收到以下錯誤:
減少伺服器響應時間
在我們的測試中,您的伺服器響應時間為 0.95 秒。有許多因素會減慢您的伺服器響應時間。請閱讀我們的建議,了解如何監控和衡量伺服器花費最多時間的位置。
它始終是0.93 到 1.20,儘管根據我給出的數據,直覺上我覺得它應該比這低得多。
為什麼 WordPress 不是問題
- 該站點的主題是Astra,沒有子主題。同樣的問題也發生在其他主題上。
- 我已經使用外掛AutoPtimize以及 Nginx 記憶體(見下文)啟用了 CSS-JS 縮小、資源壓縮和 WordPress 記憶體。
- 我試圖關閉所有外掛,但沒有看到任何嚴重的變化;我從 900 毫秒下降到 450 毫秒左右,但仍然有錯誤。
- 一切都是最新的,來自 CLI(無人參與升級 和WP-CLI)的自動升級。
我的問題
鑑於我所有的測試都表明這是一個 Nginx/PHP 問題,我在 Nginx/PHP 配置中缺少什麼來降低載入時間(比如最多 0.10)?兩者都是預設的,所以我不能說這會有什麼不好。
更新
使用完整(嚴格)SSL 處理啟動 Cloudflare 的免費計劃並沒有帶來任何 TTFB 重大變化。
在實現更好的 TTFB 時,自動優化是這裡的主要問題,其他因素也有影響,但自動優化使 TTFB 設計為等於頁面生成時間。
它使用輸出緩衝區來收集所有輸出到瀏覽器的內容,攔截並儲存它。然後,一旦頁面完成生成,它會處理頁面輸出以連接 CSS 和 JS,並在最後一次將所有字節吐出。
我強烈建議解除安裝它。如果您想要提高性能,請使用對象記憶體以及 memcached 或 redis 之類的東西。這將採取 a
wp-content/object-cache.php
和 enableWP_CACHE
的形式,wp-config.php
並安裝和配置 memcached 或等效項。這將顯著提升幾乎所有領域的網站性能如果您不解除安裝它,那麼您的選擇將受到嚴重限制。按照設計,TTFB 將始終等於頁面生成時間 + 自動優化所需的時間。您也失去了 HTTP/2 的所有性能優勢。
因此,安裝此外掛後減少 TTFB 的唯一方法是提高 PHP 中的頁面生成時間。這可能是通過對象記憶體、重構數據庫查詢、升級 PHP,但如果您的頁面載入時間已經很短,那麼幾乎沒有什麼可做的。
我的建議是研究並研究解決有關樣式表和腳本的 google 頁面速度分數的替代方法,並嘗試提高頁面生成速度。這些解決方案將提高您的站點性能,即使啟動了自動優化