喺一部配備i5-10400同16GB記憶體嘅OptiPlex 7070上跑服務,意味住你要一直諗辦法由呢套配置入面榨出每一分性能。為呢個網站嘅速度做優化嘅呢段經歷,最後帶嚟咗一個改變一切嘅發現,而且同升級硬件冇關係。
性能之謎
優化之旅係由用Chrome DevTools MCP測試網站速度開始嘅。結果相當打臉——一個自行託管網站根本冇辦法同Apple呢類正式生產網站相比,甚至比唔上我最近投遞簡歷嗰間公司嘅網站。自然而然,呢個促使我去請教AI助手,並做研究,想搞清楚點解人哋嘅網站表現咁好。
好快就浮現出一個模式:大多數高性能網站都喺度洗錢買高級托管服務。而呢邊,我用嘅卻係自行託管嘅電力同網絡。呢個令我開始懷疑,呢套配置本身係咪就唔夠格。
自行託管嘅現實檢驗
經過一輪計算,OptiPlex 7070呢套配置同付費托管方案相比,其實相當有競爭力。諗吓:由托管服務商嗰度攞到6個vCPU,通常每月要洗大約20美元,一年就係240美元,而且你仲淨係可以用嚟托管你嘅網站。
而呢套配置,唔止跑呢個網站,仲處理住好多其他自行託管服務。硬件投入係一次性嘅成本,雖然確實有持續嘅電費同網費(單係網絡就大約每月50美元),但由此得到嘅靈活性同學習機會,遠遠超過呢啲開銷。
自行託管唔止係慳錢,佢仲關乎理解網絡運作、排查真實世界嘅問題,以及由踩過嘅坑度學習。用托管服務係攞唔到呢種實操經驗嘅。
網絡瓶頸
最初嘅診斷睇落好明確:問題出喺網絡連接上。速度唔穩定,頻寬有限,網站嘅首字節時間(TTFB)長達2秒,整體加載時間要5秒。同幾乎瞬間加載完成嘅專業網站相比,呢啲數字實在令人失望。
感覺自己已經觸到咗自行託管可以達到嘅極限。畢竟,如果網絡就係瓶頸,仲可以做咩呢?將呢種速度當作自行託管配置「夠用就好」嘅結果嚟接受,似乎係唯一嘅選擇。
CDN帶嚟嘅頓悟
然後靈光一閃嘅時刻嚟咗:原來CDN(內容分發網絡)快取呢件事,我根本冇真正理解過。
呢啲域名一早就註冊喺Cloudflare上,理論上都知道CDN會快取頁面,但一直冇正確設定。性能就咁樣喺唔知唔覺中被白白浪費咗。
深入研究CDN快取設定之後,一切都變咗。網站嘅TTFB由2秒跌到咗200毫秒以下,提升咗10倍。以前要5秒先加載完嘅頁面,對回訪用戶嚟講而家幾乎係瞬間就出現咗。
但都有個坑:性能並唔穩定,因為唔係每次快取命中都會成功。快取未命中時,訪客體驗到嘅仲係屋企伺服器嗰種較慢嘅加載速度。但一旦快取命中——對熱門頁面嚟講呢係大多數情況——體驗就快到驚人。
關鍵收穫
- 硬件唔一定係瓶頸。呢部中端配置嘅OptiPlex從來都唔係問題所在,問題出喺網絡延遲同設定上。
- 自行託管係可行嘅。有咗合適嘅CDN設定,自行託管網站即使跑喺屋企網絡上,都可以同專業托管嘅網站一較高下。
- 理解先係關鍵。呢次突破唔係靠洗錢買更好嘅托管方案得嚟嘅,而係靠理解CDN快取嘅運作原理並正確設定佢。
- 邊做邊學。自行託管逼住你去理解成個技術棧。當某個環節出問題時,你必須深挖落去,搞清楚原因。呢係非常寶貴嘅經驗。
接下嚟嘅路
提高快取命中率、優化邊啲內容應該快取幾耐,呢啲工作仲喺度繼續。但由TTFB2秒到200毫秒以下回應時間嘅呢番轉變,已經證明咗當初揀自行託管係啱嘅。
畀正考慮緊自行託管嘅人一句說話:唔好畀最初嘅性能數字嚇退。好多時候,解決方案唔係更好嘅硬件或更快嘅網絡,而係理解並正確設定你手頭已經有嘅工具。
有時候,最好嘅優化唔係升級,而係終於學識點樣用好你已經擁有嘅嘢。