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






















