購物季來襲:六大負載測試技巧
譯文【51CTO.com快譯】又一波購物狂潮即將襲來——您的網站或者應用準備好了嗎?
無論是國外的黑色星期五還是國內的雙十一,又一波購物狂潮即將來臨。我們該如何確保自己的網站或者應用做好戰斗準備?以下六項負載測試技巧也許能夠為大家帶來一些啟示。
1.盡早開始性能測試
俗話說“早起的鳥兒有蟲吃”,性能測試同樣遵循此理。負載測試工作開始得越早,您將擁有更多時間對相關問題加以解決,這將使大家在面對購物季時更具信心。
隨著開發流程的演進,越來越多企業開始將持續集成(簡稱CI)、持續開發(簡稱CD)與持續測試(簡稱CT)策略納入其中。通過在每一次變更代碼、提升build及部署時定期執行負載測試,大家將隨時了解到可能出現的問題,并在購物季開始前加以防范。當然,除了常規檢查之外,大事件前的臨時性特殊測試同樣非常重要——正如演出前需要組織彩排一樣。
2.對完整堆棧進行負載測試
在進行負載測試籌備時,請注意對整體基礎設施、軟件以及應用進行全面測試。其中包括通信設備、數據庫以及網絡等等。通過盡可能縮小測試環境與生產環境間的差異,大家能夠獲得更為準確的測試結果,從而及時發現更多性能瓶頸并降低在購物季過程中出現意外狀況的可能。
3.監控負載測試的后端結果
負載測試允許大家查看并分析各類性能KPI,包括響應時間與延遲,外加不同指標間的關聯性。不過我們同樣需要關注各項后端KPI,例如緩存命中率與數據庫查詢量等,檢查意外狀況下的錯誤日志,同時關注CPU/內存/網絡使用量以及自動規模伸縮狀態等標準硬件指標。
目前市面上存在多種能夠分析測試結果的解決方案。New Relic提供應用性能監控工具,AppDynamics提供最終用戶監控方案,而Amazon Cloud Watch則專門面向AWS云資源。
4.創建并模擬真實用戶場景
在進行負載測試時,大家的用戶及其需求必須得到著重考量。具體來講,您需要根據其使用習慣創建場景。如果他們傾向于花大把時間瀏覽應用分類列表,則應將重點放在這一層面。如果他們習慣仔細查看網站表單上的詳盡信息,請確保負載測試將這部分內容加入進來。總之,趨近于真實的負載測試能夠幫助我們消除性能瓶頸,最終實現理想的用戶體驗。
5. 監控用戶體驗
負載測試能夠確保您的站點或者應用不致崩潰,但大家可能仍需要保證用戶擁有理想的使用體驗。作為DevOps與CI(即持續集成)方案中的組成部分,我們建議大家同樣對各類網絡瀏覽器及操作系統進行測試,相關工具包括Selenium與Sauce Labs。如此一來,您將了解到任何所作出的變更是否會對性能造成影響。
6.將第三方合作伙伴與供應商納入測試范疇
在對應用或者站點者變更時,大家不僅會影響到自身產品,同時亦會對應用或者站點上的第三方腳本、設備以及未經充分準備的服務器造成影響。舉例來說,不同的CDN要求不同的實現方案,例如AWS負載均衡服務(簡稱ELB)就要求在進行負載均衡前首先進行預熱。
另外,我們建議大家在進行測試之前聯系您的合作伙伴,并進行一切必要的準備。這將確保負載測試能夠考慮到其準備情況及全部既有處理能力(在未經通知的情況下,這種能力可能大打折扣)。除了帶來更為準確的測試結果外,廣泛知會還能確保大家節約時間與精力——即盡可能減少由第三方問題帶來的意外。
原文標題:6 Load Testing Tips for Black Friday,原文作者:Vitali Bykhovsky
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】