天天看點

全鍊路壓測演進之疊代式壓測

作者:閃念基因

一、背景原因

!! 做系統服務壓測都是比較耗時耗人力的,特别是在生産環境上做壓測,壓測的時間都是在晚上23點後,甚至在淩晨1-4點,每次投入的人力成本較高(經常是晚上通宵加班壓測,疲憊感十足),對于團隊來說,每次大家都很辛苦,但是又不得不做,這是非常苦惱的煩心事。

為了緩解團隊每次投入做壓測的疲憊感,以及降低投入的人力成本,對現有的壓測流程做進一步的改善:現有的壓測模式:常态化壓測(例行壓測,摸底壓測)、大促全鍊路壓測,這兩種壓測模式的執行是根據現有業務發展而制定的,但都存在一定時效上的問題,且投入人力成本也不低。

為推進常态化壓測更高效,更貼近業務進行壓測,且分化所有業務流量的焦點集中在大促壓測上,把一些正常壓測操作前置到日常業務疊代需求項目上,根據中、大規模的需求項目試行疊代式壓測,提供更細緻、更小範圍的壓測方式,嘗試解決在壓測上的時效和人力問題

二、壓測流程改進分析

1、以往的壓測模式,主要是常态化壓測為主,全鍊路壓測為輔,壓測時間段也隻有特定的幾個時間段(618大促,雙11大促等)才會安排。

2、每次壓測主要針對大促流量的性能名額上考慮,而各服務本身的每個環節存在的問題,等到全鍊路壓測的時候才暴露出來,往往已經滞後了很多(線上壓測存在的弊端)。

3、壓測的投入,雖然每次的壓測都能拿想要的結果,但是人力的成本和時效,并不是很理想。

4、服務間互相的調量大小,以及能承載多少請求,隻有通過常态化壓測/全鍊路壓測才發現存在的問題,日常缺少沉澱,經常壓測過程會有逾時、限流、熔斷等情況出現,導緻壓測的有效性降低

三、疊代式壓測流程

結合分析的方向,制定疊代式壓測流程如下:

全鍊路壓測演進之疊代式壓測

結合公司現有的壓測流程,以及存在的不足問題綜合分析考慮,把現有的壓測流程做調整優化(降本增效),通過日常疊代項目上線後做壓測,即可做到貼合業務,以可滿足壓測需要,主要有以下5個方向改進:

壓測服務的穩定性

通過疊代項目上線後壓測,可以提前了解到服務本身的穩定性,是否有存在隐藏的問題。日常疊代需求較多,關聯依賴也多,上線後壓測可以快速了解影響範圍,及隐藏的性能問題,如有問題,可根據項目疊代,靈活安排優化版本上線。

壓測環境的穩定性

以往生産環境壓測,機器存在問題,經常是通過擴容/或更換機器的方式,臨時解決,并不能提前知道原因是什麼,處理結果相對是滞後的。通過日常疊代項目的壓測,可以提前暴露出在日常條件下生産環境機器是否存在問題,為大促壓測提前做規避措施

壓測時效

快進快出,項目上線後,最小機關安排壓測任務,且主要以定時壓測為主,靈活壓測時間,第二天上班收集壓測報告,快速得出壓測結果

全鍊路壓測演進之疊代式壓測

壓測人員

1、降低産研發團隊QA的學習門檻,把壓測流程和壓測平台做到足夠簡單

全鍊路壓測演進之疊代式壓測

2、不再局限于特定的幾個人才能做壓測,讓業務團隊每個QA都能有參與壓測的機會

貼合業務

日常疊代項目,參與項目的成員,根據業務的特性評估是否壓測:

1、如不需要壓測,後續則降低/不考慮該業務場景對大促活動的影響面

2、需要壓測,則評估影響面範圍:

後端重構項目,影響主流程業務
業務需求新增/變更,涉及有核心接口場景
核心業務場景調整
依賴服務接口變更
……
           

以項目次元評估壓測範圍比較小,能快速明确壓測的名額,以及壓測場景

3、增加業務QA人員對壓測的參與度,同時讓個人在過程可以學習到相關性能測試的知識技能,可作為常态的測試手段

4、剛好項目測試完,熟悉度還比較熱乎,花費最低成本去建立壓測腳本和壓測資料,定時壓測完成後,得出結果進行分析的成本也比較低

全鍊路壓測演進之疊代式壓測

5、項目次元的壓測結果沉澱,對後續大促壓測場景規劃,提供更明确壓測範圍,以及可以提前規避掉服務存在的瓶頸問題

四、全流程壓測模式演進

【壓測流程流向】

以小聚多,把疊代式壓測作為最小壓測機關,最後彙總為例行壓測(常态化壓測)、全鍊路壓測,保障各種鍊路次元覆寫業務不同顆粒度。參考:常态化壓測 、全鍊路壓測

全鍊路壓測演進之疊代式壓測

【服務流量流向】

全鍊路壓測演進之疊代式壓測

五、壓測模式對比

全鍊路壓測演進之疊代式壓測

六、疊代式壓測回報效果

【業務價值】

2月份開始以來,已完成幾個需求的壓測,壓測過程能明顯暴露出6個服務隐藏的性能問題,為業務服務規避掉隐藏的性能風險。

【結果回報】

全鍊路壓測演進之疊代式壓測

七、總結

1、業務團隊的QA人員需要具備一定的性能測試技能,學會識别項目需求中是否存在隐藏的性能風險

2、以項目需求作為壓測機關,可能不會覆寫到服務所有功能,但在日常疊代過程,疊代式壓測相對會比較頻繁,以點到面的切入條件,被壓測的功能也會逐漸積少成多

3、稀釋大促全鍊路壓測和常态化壓測準備及計劃的壓力,融入需求生命周期管理,輕量分布式的完成壓測資産沉澱

關于作者

莊錦弟,深圳業務支撐組負責人/性能虛拟組負責人,主負責case用例平台建設、轉轉性能測試流程體系建設,以及全鍊路壓測落地實施

來源:微信公衆号:轉轉QA

出處:https://mp.weixin.qq.com/s/MrKr7ZljPvRSTyh3tqbSjw

繼續閱讀