努力應對交通激增

已發表: 2022-03-10
快速總結↬ “如果你建造它,他們就會來。” 當您投入大量時間和精力為客戶構建網站和 PWA 時,這當然是正確的。 但是當“他們會來”變成“他們中的太多人同時來了,現在網站已經關閉”時會發生什麼? 流量激增確實發生了。 但是,本指南不會讓您的網站成為他們的受害者,而是將向您展示如何將其設置為勝利者。

(這是一篇贊助文章。)當流量激增時,您希望您的網站能夠順勢而為,而不是淹沒在它之下。

但是,您如何做到這一點,而不會因為預期可能會或可能不會發生的流量激增而不斷超支服務器資源?

部分原因在於知道如何真正很好地讀取數據,以便您可以預測即將到來的流量上升(或下降)。 即便如此,您的數據的潮起潮落並不總能準確預測流量激增的時間、規模或持續時間。

因此,您需要做的是確保您的客戶的網站準備好承受衝擊,然後維持流量。 我們今天要做的是幫助您創建一個工具、監控和測試系統,使您的網站能夠做到這一點。

如何準備您的網站以應對流量激增

為了讓您的網站為流量激增做好適當的準備,您需要建立一個既主動又被動的系統。 以下是它應該包括的內容:

1. 將您的網站遷移到可擴展的雲解決方案

流量激增能夠對網站造成嚴重破壞的原因是託管服務器和資源沒有準備好處理它們。 純粹而簡單。

也就是說,如果您無法預測何時會出現激增,您如何確保您的主機有能力處理增加的流量負載? 您是否只是為了以防萬一而將更多的錢投入到超大的託管計劃中?

顯然,這不是應對潛在流量激增的經濟高效的方法。 相反,您應該尋找可以滿足您需求的託管解決方案。

利用 DigitalOcean 託管技術

一個可以提供幫助的供應商是 DigitalOcean,它是一家可擴展雲解決方案的開發商。

此選項的好處在於 DigitalOcean 為您提供優化的“液滴”供您選擇。 無需猜測哪個計劃適合您——DigitalOcean 非常有用的用例建議中清楚地說明了所有內容:

數字海洋 vCPU 液滴
DigitalOcean 銷售針對特定用例優化的虛擬 CPU。 (來源:DigitalOcean)(大預覽)

如您所見,Droplet 是為不同類型的網站和應用程序構建的易於配置的虛擬機。 更重要的是,它們通過 KVM 虛擬機管理程序、SSD 存儲和 40GbE 連接進行了開箱即用的速度和安全性配置。

更重要的是,隨著您網站流量的增長,您可以輕鬆升級 Droplet 中的存儲量和帶寬。 而且,如果您以後可以找出流量激增的規律或原因,您就可以快速擴展和縮減資源以適應流量的變化。

也就是說,可擴展的雲託管解決方案不足以應對流量激增。 你還需要幾樣東西。

使用負載均衡器應對浪湧

如果你不熟悉負載均衡技術,讓我們來看看有沒有它的網站的區別。

當有人在沒有負載均衡器的情況下訪問您的網站時會發生這種情況:

DigitalOcean - 無負載平衡圖形
來自 DigitalOcean 的圖表,展示了訪問者如何在沒有負載平衡的情況下訪問網站。 (來源:DigitalOcean)(大預覽)

他們登錄互聯網,在他們的網絡瀏覽器中輸入您的 URL 或單擊指向它的鏈接,然後您的服務器應該將您的網站傳送到他們的屏幕。

但是,如果請求訪問您網站的流量突然激增,這台單獨的服務器可能無法有效地處理負載。 這就是為什麼過高的流量激增會導致網站速度非常慢或完全無法訪問網站的原因。

但是,使用負載均衡器時,您的網絡流量會發生以下情況:

DigitalOcean - 負載平衡圖形
來自 DigitalOcean 的圖表,介紹了實施負載平衡時訪問者如何訪問網站。 (來源:DigitalOcean)(大預覽)

負載均衡器充當服務器的一種代理。 這樣,當流量達到峰值時,您的服務器就不必費力地處理需求。 相反,負載均衡器利用多個服務器來平衡不斷增長的 HTTP 請求量。

這有點像在團隊中分配工作量。 與其繼續對已經超負荷的團隊成員提出請求,不如與有能力的人分享工作。

然而,與現實世界的工作分配不同,負載均衡器在幕後完成所有這些工作,並且不需要您協調任何事情,因為它是完全託管的。

利用性能監控和備份

只要您在 Droplet 中配置了適量的帶寬和存儲空間,並激活了負載平衡,您的網站就會處於良好狀態。 它不會不受流量激增的影響,但它會盡可能接近它。

請記住,對於您在服務器級別進行的所有強化工作,制定應急計劃仍然很重要。

您的業務(網站)連續性計劃應包括使您的網站恢復正常所需做的所有事情,包括如何:

  • 恢復網站,
  • 調查導致它的事件,
  • 並與受影響的訪客和客戶聯繫。

也就是說,DigitalOcean 可以幫助您完成連續性計劃的某些部分。

自動備份對於任何網站都是必不可少的,但如果您知道您的網站容易受到流量激增的影響,那麼它們絕對至關重要。 24/7 支持是另一個必須的,也是 DigitalOcean 提供的。

要尋找的另一件事是內置的性能監控——我將在這篇文章中進一步討論。

2. 優化您的資產

有了可靠的雲託管解決方案,您當然可以為您的網站提供在巨大的流量激增中生存所需的幫助。 但是,它不能全部落在您的主機上。 您需要儘自己的一份力量使您的網站“輕”到足以一次又一次地服務於訪問者的猛烈攻擊。

您可以採取以下措施來優化您的網站及其資產以獲得更高的性能:

啟用緩存和其他文件優化

想讓您的數字資產更易於處理嗎? 然後,您需要配置以下優化:

緩存

有多種方法可以實現緩存並加快您的網站交付給訪問者瀏覽器的速度。 您可以在服務器、頁面、瀏覽器數據庫級別執行此操作。

您的虛擬主機可以幫助您配置服務器緩存。

如果您使用 WordPress 等內容管理系統構建了您的網站,您可以安裝一個緩存插件來為您處理網站和數據庫備份。 (它還會做一些事情,比如文件縮小、Gzip 壓縮結合 CSS 和 JavaScript 文件。)

您始終可以手動啟用緩存。 您將使用緩存標頭和兩種機制——緩存控制和過期——來配置緩存內容的方式。

圖像優化

不要忘記您的媒體。 圖像和視頻文件會佔用您服務器上的大量空間,並在流量激增期間阻礙服務器的運行速度。 要優化這些資產,您應該使用文件壓縮和調整大小。

要批量壓縮圖像,我將使用 TinyPNG 或 TinyJPG 等在線工具為我處理。

TinyPNG 圖像壓縮
TinyPNG 提供了一種快速簡便的批量壓縮圖像資源的方法。 (來源:TinyPNG)(大預覽)

平均而言,我通常可以使用這個工具將文件大小減少約 75%。

為了進一步縮小圖像的分量,您應該調整它們的大小。 如果您要使用的最大寬度為 1280 像素左右,則沒有理由將完整尺寸的資產上傳到網站。

為此,我要么使用我的文件軟件一次性完成所有操作,要么使用批量調整照片等在線服務。

批量調整照片圖像大小調整工具
批量調整照片大小提供了一種使用各種調整大小方法批量調整圖像資源大小的簡單方法。 (來源:批量調整照片大小)(大預覽)

在如何調整圖像大小方面有很大的靈活性,但我發現設置最大寬度通常效果最好。

使用託管數據庫

除了優化您放入網站的資產外,您還應該注意優化您的數據庫。 也就是說,說起來容易做起來難。

雖然我熟悉數據庫清理和優化插件,您可以將其與 WordPress 一起使用以保持運行更順暢,但在流量激增時,這並沒有多大幫助。 您需要一些可以幫助您的數據庫繼續以更高速率處理傳入數據請求的東西。

為此,您最好使用託管數據庫解決方案——您可以從 DigitalOcean 提供該解決方案。

當檢測到流量激增時,託管數據庫服務會簡化需要執行的操作,以便相應地擴展您的資源。 無需計算; 只需登錄您的帳戶並根據需要添加更多資源。

託管服務在這些情況下非常理想的另一個原因是它們內置的高可用性。 這不僅僅是 99.9% 正常運行時間的籠統承諾。 如果您查看主機的 SLA,您會發現它會竭盡全力防止停機時間過長。

添加 CDN

當流量激增時,還有另一層優化可以添加到您的網站:CDN。

出於多種原因,內容交付網絡很有用。 它們非常適合為全球訪問者提供網​​站。 對於想要提供更快結賬體驗的電子商務網站來說,它們絕對很方便。 它們為偶爾遇到流量高漲的網站提供額外的速度、安全性和故障轉移。

如果您計劃使用 DigitalOcean 來託管您的網站,請查看其 Spaces 產品(具有內置 CDN 集成),以更有效地存儲和交付您的資產。

3. 分析您的流量報告

一般來說,努力從您的網站收集數據非常重要。 在與流量激增作鬥爭時尤其如此。 原因如下:

如果您的網站流量有可預測的高點和低點,您就會知道何時以及如何準確地規劃它們。 這不僅意味著優化您的網站和服務器以處理流量,還意味著擁有適量的員工來監控和管理流量。

為此,請使用谷歌分析來密切關註一切。

谷歌分析 - 繪製網頁瀏覽量
來自 Google Analytics 的示例流量和瀏覽量圖表。 (來源:谷歌分析)(大預覽)

此示例是 12 個月的數據拉取,顯示每天(或多或少)發生的頁面瀏覽量。 您也可以使用其他指標(例如用戶數或會話數)來執行此操作。 然而,主要目標是確定全年壓力的任何來源,過多的網頁瀏覽量(或電子商務轉換,如果相關)可能是衡量這一點的更有效方法。

您可以在這裡看到發生了許多高點和低點:

谷歌分析 - 流量激增搜索
谷歌分析用戶如何在他們的數據中尋找流量激增的一個例子。 (來源:谷歌分析)(大預覽)

與其從表面上看,不如將它們與其他數據點進行交叉引用,以確保您看到的是可以從中學習的流量激增。

排除 Web 開發

例如,當時是否有任何現場開發正在進行? 如果有人正在修復錯誤或設計新頁面,則可能會導致頁面瀏覽量大大增加。

如果這種情況經常發生,最好在 Google Analytics 級別自動從您的報告中刪除這些數據。 您可以從“管理”菜單執行此操作。

轉到查看 > 過濾器 > 添加過濾器:

谷歌分析過濾器
谷歌分析用戶可以從結果中刪除他們的個人訪問和瀏覽量指標。 (來源:谷歌分析)(大預覽)

通過過濾掉您的 IP 地址以及可能出於測試或內容創建目的而經常預覽站點的任何其他人的數據,您可以更準確地了解您的流量水平。

假設流量高峰不是來自您的內部團隊。 接下來,您需要查看這些流量激增(或下降)是否以可預測的時間間隔發生。

尋找可預測的浪湧

如果您的網站已上線一年以上,您可以使用 Google Analytics(分析)查看是否存在相關性。 只需將您的日期設置為與上一年的同一時間範圍進行比較:

谷歌分析日期範圍比較
谷歌分析允許用戶並排比較兩個日期範圍。 (來源:谷歌分析)(大預覽)

然後,尋找流量激增的重疊:

Google Analytics 日期範圍比較數據
Google Analytics 用戶可以同時查看兩個日期範圍的流量激增可預測性。 (來源:谷歌分析)(大預覽)

在這種情況下,這兩年可能只有一兩個顯著的峰值出現。 第一個是在 4 月初,另一個是在 11 月中旬左右。

如果這兩年都出現過大的激增——至少是平時流量的五倍——我會說它們值得調查。 然而,在這個例子中,這可能只是一個巧合,可以排除它們。

檢查日曆

如果您發現數據中有明顯的流量激增,最後要做的就是對照您的日曆進行檢查。

您正在尋找的是可能導致激增的事件。 像:

  • 假日銷售引起了轟動。
  • 在主要新聞專線上獲得的新聞稿。
  • 您發送的病毒式博客文章或電子郵件優惠。

我還建議在流量激增後的幾天或幾週內查看流量。

是怎麼變細的? 是突然燃燒還是緩慢燃燒? 由於激增,該網站是否能夠改善其每日訪問量 - 甚至是輕微的?

另外,看看組織是如何受到影響的。 這對於提供客戶支持和產品退貨的電子商務網站尤其重要。 激增後的售後活動是否有所增加? 什麼時候打的? 它持續了多長時間?

如果您能弄清楚流量激增發生的原因(即是什麼事件觸發了它)以及後果是什麼,那麼您將來實際上可以利用它來發揮自己的優勢。 例如,如果您知道銷售或病毒式帖子導致激增,您可以在下一個之前計劃您的服務器和人力資源。

無論您在查看舊報告時發現什麼,這都需要成為您正在進行的流程的一部分。 設置 Google Analytics 以生成流量報告並定期通過電子郵件發送給您。 這樣,隨著流量水平的變化(無論好壞),您將始終了解正在發生的事情,並可以相應地調整您的策略。

4.實時性能監控

Google Analytics 將幫助您了解過去發生的事情,並更有效地為未來的流量激增做好準備。 另一方面,實時性能監控將使您能夠在瞬間對流量激增和其他性能變化做出反應。

您可以使用各種工具進行實時監控。 這裡只是其中的一個示例:

前端性能監控

當頁面速度突然開始下降或您的網站出現故障時,沒有時間可以浪費了。 也就是說,您不應該定期登錄您的網​​站以確保一切正常。

相反,您可以使用 Pingdom 之類的正常運行時間和速度監控服務:

Pingdom 監控和警報服務
用戶可以使用 Pingdom 自動監控正常運行時間、用戶和速度。 (來源:Pingdom)(大預覽)

它處理繁瑣的工作,監控您的網站流量增加、速度或正常運行時間問題以及結帳時檢測到的問題。 它還將為您提供實時通知,以便您可以在流量激增之前解決問題。

這樣,您只需要在流量激增對性能產生負面影響時給予您的網站所需的關注和關心,而不是一直擔心它。

後端性能監控

雖然擁有前端監控服務來告訴您流量何時出現異常是很棒的,但這還不夠。 您還需要知道後端發生了什麼。

當然,使用託管託管解決方案,您將從您的提供商那裡獲得一些幫助。 但是,讓自己熟悉服務器指標是一個好主意,這樣您就可以積極主動地抵禦浪湧的破壞性影響。

以下是一些需要關注的指標:

  • 託管資源(如內存和磁盤空間),
  • 您的應用程序性能(如錯誤率和資源使用情況),
  • 連接性(如延遲和帶寬利用率)。

熟悉這些關鍵指標,這樣您就不會急於弄清楚您的網站發生了什麼或如何修復它。

現在,有了 DigitalOcean,您不僅可以訪問這些方便的指標。 它還將為您設置實時監控和警報。 這還不是全部。

許多監控系統的問題在於它們就是這樣:它們會尋找中斷、錯誤和不穩定性,但採取行動仍然取決於您。 但是,使用 DigitalOcean,您可以在檢測到特定場景時自動執行某些操作。

例如,假設您的網站收到的流量比您對假日促銷的預期要大得多。 您的資源消耗得太快,這通常會使網站面臨緩慢爬行或完全崩潰的風險。 但是在這種情況下,監控機制已經註意到了這個問題,並且您的自動縮放操作已被觸發。

想像一下,將服務器對某些事件的響應自動化是多麼有用。 您可以花更少的時間擔心如何恢復您的網站,而是專注於如何不斷優化您的服務器資產以維持高水平的流量。

包起來

如果您客戶的網站或 PWA 還沒有為流量激增做好準備,那麼一旦塵埃落定,這可能會給他們的業務帶來重大麻煩。 不僅僅是停機時間或加載緩慢的頁面會讓他們(或您)付出代價。

讓所有這些額外的訪問者看到一個狀況不佳的網站——從損壞的結帳或表單到惡意軟件感染——也會損害您的業務。

與其交叉手指或告訴自己您的網站不夠大或不夠受歡迎,無法體驗其中一種流量激增,不如做好準備。 通過從 DigitalOcean 的實用雲託管解決方案開始,然後優化您的服務器、資產和圍繞它們的流程,您將提高您的網站不僅能夠完好無損地生存,而且還能從中獲利的機會。