十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1 什么是全鏈路壓測?
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、贊皇ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的贊皇網(wǎng)站制作公司
基于實際的生產(chǎn)業(yè)務(wù)場景、系統(tǒng)環(huán)境,模擬海量的用戶請求和數(shù)據(jù)對整個業(yè)務(wù)鏈進(jìn)行壓力測試,并持續(xù)調(diào)優(yōu)的過程
2 全鏈路壓測解決什么問題?
驗證峰值流量下服務(wù)的穩(wěn)定性和伸縮性
驗證新上線功能的穩(wěn)定性
進(jìn)行降級、報警等故障演練
對線上服務(wù)進(jìn)行更準(zhǔn)確的容量評估
機(jī)房故障,流量突增的支撐能力評估
3 什么時機(jī)下需要?
業(yè)務(wù)發(fā)展速度(業(yè)務(wù)的不斷發(fā)展,依賴的模塊不斷增多。需要找出短板來進(jìn)行解決)
在可以預(yù)期的一段時間(最好是半年,一個季度有點晚)內(nèi),業(yè)務(wù)會有較快速的發(fā)展,線上機(jī)器必須要大幅度擴(kuò)容
擴(kuò)容有的時候并不是線性的,從兩臺擴(kuò)展到四臺,你得服務(wù)能力或者能提高兩倍
繼續(xù)擴(kuò)容服務(wù)能力就有可能提高不上去了,因為要受限于其他的模塊,比如 DB、公共組建、中間件等
對單機(jī)壓測結(jié)果越來越?jīng)]有自信
3.1 一個很好的指標(biāo),一般而言,我們都會壓一下我們自己的模塊
3.2 單機(jī)的壓測不代表真實的線上場景,內(nèi)心會越來越虛,這個時候,就要考慮全鏈路了
4 壓力測試方式分為幾個階段?
對線上的單機(jī)或集群發(fā)起服務(wù)調(diào)用
將線上流量進(jìn)行錄制,然后在單臺機(jī)器上進(jìn)行回放
通過修改權(quán)重的方式進(jìn)行引流壓測
全鏈路壓測(難點在于梳理清楚鏈路的邊界)
全鏈路壓測針對的是現(xiàn)代越來越復(fù)雜的業(yè)務(wù)場景和全鏈路的系統(tǒng)依賴。所以首先應(yīng)該將核心業(yè)務(wù)和非核心業(yè)務(wù)進(jìn)行拆分,確認(rèn)流量高峰針對的是哪些業(yè)務(wù)場景和模塊,針對性的進(jìn)行擴(kuò)容準(zhǔn)備,而不是為了解決海量流量沖擊而所有的系統(tǒng)服務(wù)集群擴(kuò)容幾十倍,這樣會造成不必要的成本投入。
5 全鏈路壓測核心功能有哪些?
數(shù)據(jù)構(gòu)造
壓測隔離
服務(wù)隔離
數(shù)據(jù)隔離
6 壓測需要做哪些工作?
數(shù)據(jù)模型構(gòu)建
壓測平臺搭建
6.1 壓測機(jī)中的機(jī)器數(shù)據(jù)能夠?qū)崟r的收集查看到、可以隨時停止壓測、一定時間內(nèi)實時錯誤率達(dá)到閾值自動熔斷
系統(tǒng)代碼改造(壓測標(biāo)記,mock,業(yè)務(wù)邏輯)
6.2 寫請求寫到影子區(qū)域(比如header頭中做標(biāo)記,存儲、緩存、消息、日志等一系列的狀態(tài)數(shù)據(jù))、依賴的外部服務(wù)做 mock 處理(短信、郵件、push 等等),多線程改造
真實流量蓄水池,分批釋放(回放業(yè)務(wù)高峰期產(chǎn)生的流量)
逐步壓測
7 為什么需要容量規(guī)劃?
什么時候增減機(jī)器、保障系統(tǒng)穩(wěn)定性、節(jié)約成本
8 壓測關(guān)注哪些指標(biāo)?
應(yīng)用層面
服務(wù)器資源
基礎(chǔ)服務(wù):中間件和數(shù)據(jù)庫
核心指標(biāo):(響應(yīng)時間不要用平均響應(yīng)時間,關(guān)注95線;吞吐量和響應(yīng)時間掛鉤;吞吐量和成功率掛鉤)
系統(tǒng):
系統(tǒng)容量
業(yè)務(wù)性能
基礎(chǔ)設(shè)施瓶頸
中間件瓶頸
系統(tǒng)直接的依賴影響
9 如何獲取單臺機(jī)器的服務(wù)能力
模擬請求 通過對生產(chǎn)環(huán)境的一臺機(jī)器發(fā)起模擬請求調(diào)用來達(dá)到壓力測試的目的
請求轉(zhuǎn)發(fā) 將分布式環(huán)境中多臺機(jī)器的請求轉(zhuǎn)發(fā)到一臺機(jī)器
調(diào)整負(fù)載均衡 修改負(fù)載均衡設(shè)備的權(quán)重,讓壓測的機(jī)器分配更多的請求
9.1 在進(jìn)行壓測的同時,實時探測壓測機(jī)器的系統(tǒng)負(fù)載,一旦系統(tǒng)負(fù)載達(dá)到預(yù)設(shè)的閾值即立刻停止壓測,同時輸出一份壓測報告 通過單機(jī)壓測獲取的單機(jī)服務(wù)能力值也是容量規(guī)劃一個非常重要的參考依據(jù)
最小機(jī)器數(shù) = 預(yù)估的業(yè)務(wù)訪問量 / 單機(jī)能力
9.2 在做單個系統(tǒng)的容量規(guī)劃時,所有的依賴環(huán)節(jié)能力是無限的,進(jìn)而使得我們獲取的單機(jī)能力值是偏樂觀的;
9.3 采用單系統(tǒng)規(guī)劃時,無法保證所有系統(tǒng)均一步到位,大多數(shù)精力都集中核心少數(shù)核心系統(tǒng);
9.4 部分問題只有在真正大流量下才會暴露,比如網(wǎng)絡(luò)帶寬等等。
全鏈路壓測改造關(guān)注點:https://www.codercto.com/a/55270.html
美團(tuán)quake壓測:https://tech.meituan.com/2018/09/27/quake-introduction.html
美團(tuán)全鏈路壓測自動化實踐
阿里全鏈路壓測
有贊全鏈路壓測
京東全鏈路壓測
餓了么全鏈路壓測
滴滴全鏈路壓測解決之道
邏輯思維在全鏈路壓測方面的實踐