為什么需要全鏈路壓測
發(fā)布時(shí)間:2020-12-22
最近看了篇關(guān)于餓了么全鏈路壓測文章,收獲頗多。
在整個(gè)項(xiàng)目或者應(yīng)用平臺中業(yè)務(wù)流程,困難在于評估從用戶登錄到完成全部交易的整個(gè)環(huán)節(jié)中,核心頁面和交易關(guān)鍵交易的實(shí)際承載能力。如果得到了各個(gè)系統(tǒng)的實(shí)際承載能力,就可以在路由網(wǎng)關(guān)進(jìn)行相關(guān)交易限流控制,來防止在大并發(fā)來了以后系統(tǒng)出現(xiàn)宕機(jī)服務(wù)癱瘓,我們都知道一旦系統(tǒng)宕機(jī)就會導(dǎo)致災(zāi)難性的后果,而且就算運(yùn)維短時(shí)間重啟了起來恢復(fù)了運(yùn)行,但是可能過了一會兒過程系統(tǒng)承載量又出現(xiàn)宕機(jī),早期電商的時(shí)候就發(fā)生過這樣的問題,系統(tǒng)在搶購時(shí),出現(xiàn)大面積癱瘓,重啟后又癱瘓,為什么會出現(xiàn)這個(gè)問題,就是因?yàn)榇蠹覍φ麄€(gè)全交易鏈條上的各個(gè)環(huán)節(jié)的系統(tǒng)承壓能力不清楚,所以在出現(xiàn)了全鏈路壓測,一方面能夠讓各個(gè)產(chǎn)品知道自己的承壓極限在哪?有人會問了通過單系統(tǒng)壓測不是也可以知道各個(gè)系統(tǒng)的承壓能力嗎?但是實(shí)際情況不可能那么簡單,那么順利,在活動開始的瞬間,從網(wǎng)絡(luò)優(yōu)化加速技術(shù)、網(wǎng)關(guān)接入、UI、緩存、中間件、后臺服務(wù)、數(shù)據(jù)庫整個(gè)交易鏈路都會面臨巨大的訪問壓力,這個(gè)時(shí)候系統(tǒng)服務(wù)除了受自生的影響,還依賴于其他關(guān)聯(lián)系統(tǒng)的情況,并且影響會一直蔓延,只要有一個(gè)節(jié)點(diǎn)出現(xiàn)故障,那么故障在上下游系統(tǒng)經(jīng)過層層累加后會造成的影響誰都說不清楚,所以可靠的辦法就是模擬完全的真實(shí)情況來做到提前心里有數(shù)。提前測試的辦法就是讓事件提前發(fā)生,通過全鏈路壓測就可以提早發(fā)現(xiàn)問題。
換個(gè)角度來說,也可以讓各個(gè)系統(tǒng)能夠有個(gè)明確的優(yōu)化目標(biāo)并找出性能測試瓶頸,同時(shí)對于一些特殊環(huán)節(jié)可以通過臨時(shí)增加公有云的方式來提高整體的性能,一旦通過全鏈路壓測,了解了瓶頸所在就可以坦然的去按照壓測指標(biāo)去申請公有云資源,活動結(jié)束后再釋放資源,這樣做到成本較低化。
本文內(nèi)容不用于商業(yè)目的,如涉及知識產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。