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