【轉】京東金融App端鏈路服務端全鏈路壓測策略

京東金融移動端全鏈路壓測歷時三個月,測試和服務端同窗通過無很多天日夜夜,通宵達旦,終於完成了移動端鏈路的測試任務。整個測試有部分涉及到公司敏感數據,本文只對策略部分進行論述。服務器

1.系統架構與策略

在聊性能測試以前,簡單的對金融系統架構進行簡單的梳理。京東金融App架構較爲複雜,爲了說明問題對架構進行簡化和抽象。架構

金融App客戶端主要是經過原生主框架和運營平臺(樂高)配置搭建組成App客戶端;主框架和運營平臺(樂高)經過調用網關接口鏈接各個業務系統。實現整個業務正常運轉。金融App移動端618專項測試包含App客戶端專項測試和App鏈路服務端性能兩部份內容,本文主要對App鏈路服務端性能進行簡單說明。併發

 

京東金融App業務模擬示意圖框架

根據架構特色和業務特色,將金融移動App鏈路服務端性能測試。共分爲三個階段,服務端基礎能力測試、服務端相關業務鏈路測試、服務端全鏈路預演等三個階段。運維

2.測試方案及實施要點

經過對移動端業務的特色和架構綜合分析,將移動端鏈路分爲三個階段進行測試,每一個測試階段側重點和目標不一樣,經過分階段實施,一步步測試和驗證金融App鏈路是否可以完成並知足618業務要求。高併發

在本次618備戰服務端測試主要分三個階段,第一階段主要進行服務端能力和故障模擬;第二階段主要進行業務能力測試和業務鏈路性能測試。第三階段主要進行全鏈路壓測,模擬線上用戶在高併發下服務端各業務的表現及業務升降級演練。性能

1)服務端能力及服務故障模擬階段測試

服務端第一輪性能測試,涉及核心業務網關和樂高基礎能力性能測試。設計

經過模擬正常業務、業務超時、應答錯誤,業務方無響應、業務數據包超大,業務數據包丟失,業務數據包不完整、接口限流等業務能力。DB不可用、鏈接數佔滿、硬盤,應用服務器硬盤沾滿、應用服務器cpu太高、內存太高等系統資源問題,以及樂高或網管系統擴容和縮容測試。調試

經過模擬各類異常狀況驗證系統基礎能力是否知足高峯期間業務流量。

 

基礎能力測試

第一階段性能測試難度較大,一則是由於基礎能力測試和傳統業務測試在思考方式上有較大差別;另外基礎能力測試須要模擬各類異常狀況,須要高度抽象各類業務狀況,須要編寫各類模擬代碼,對傳統測試能力要求較高。

2)基礎能力業務測試和業務鏈路性能測試

服務端第二輪性能測試,包含兩部份內容,一部分主要是對第一階段測試基礎能力(樂高、網關)系統接入真實的業務進行業務性能測試。在接入業務時測試時,網關係統接入下游業務策略是選擇高峯時期top30的業務接口進行進行測試。樂高系統經過線上流量複製,按照線上調用業務模板的比例進行等比配置,覆蓋全部模板實例,確保趨近於模擬線上真實業務模板實例和後臺接口測試樂高系統。

在選擇接入下游系統數據和接口時,選擇的策略不一樣,測試的結果差別較大,因此採用什麼樣的選擇策略就顯得尤其重要。

另一部分是App基礎業務、高頻和關鍵業務性能測試,這部分主要經過對單業務或者單業務鏈路的測試,驗證該業務鏈路是否知足系統要求。這部分和大部分公司平常的性能測試方案和方法一致。在此再也不贅述。

另外在此階段有一個很是重要測試演練,不斷要測試集羣的性能,還須要進行單機的性能,根據擴容行測試,評估和預測擴容機器。

3)測試服務端全鏈路預演

基於前面兩個階段對基礎能力性能測試和基礎業務、高頻業務、基礎業務、活動等業務的性能測試和評估,各業務根據618移動端鏈路流量預估,造成總體移動端鏈路壓測方案。關於全鏈路壓測網上的方案很是之多,本文不在贅述。

在第三個階段,除了驗證業務支撐能力,能不能知足預估流量;還須要重點關注高峯時段流量對App業務影響,並根據壓測狀況對業務實時升降級處理。若是超過預估流量或者發生意外時,那些業務能夠進行降級,若是降級,會不會影響到其餘業務等等。

此階段重要的一個任務就是演練,模擬演練618洪峯流量對業務對App的影響,性能測試須要測試和評估出每一個業務升降級的臨界數據,配合開發和運維同窗在測試過程當中進行故障模擬和演練。

3.總結

全鏈路壓測和日常壓測的一個很重要的區別是,全鏈路壓測是證實容量規劃的準確,流量控制策略得當。流量控制策略最核心的能夠作到限流分流降級,限流分流降級提及來很容易,但須要開發、測試同窗在前期作好大量工做,業務是否作到解耦和具有升降級能力,測試同窗是否經過測試準確的驗證容量規劃的合理性,業務升降級的臨界值是否合理得當等等。

4.感謝

整個任務完成之時,還懼怕哪塊沒準備好,有點擔憂。但在6月1號寫完此文,心裏無比堅決的認爲此次備戰確定是成功的。寫此文一則是爲了總結經驗,二則是爲了感謝爲這次備戰準備了三個月身邊的小夥伴。

感謝爲保障此次測試任務的全部移動端測試同窗,在那麼短的時間,那麼少的人手,完成了幾乎是日常工做量2倍的工做,大家是最棒的,感謝大家。

感謝移動端開發,幫忙一塊梳理業務,每一個邊邊角角都幫咱們補充到。喜歡大家認真的樣子。

感謝服務端的同窗,不厭其煩的配合咱們一次次調試差問題,和咱們一塊兒加班,一塊兒看星星,一塊兒看日出,一塊兒悲傷,一塊兒歡樂。

固然必須再此感謝全部參與此次移動端鏈路功能專項測試,客戶端專項性能測試,服務端的同窗。

寫在後面的話:完美的遺憾

總體來講本次移動端鏈路備戰很是成功,但有個小小的遺憾,在618當天晚上八點活動中由於瞬間業務(5秒)訪問新高,觸發熔斷機制,致使業務失敗率較高。出現瞬間訪問太高的緣由是由於活動結束後,用戶瞬間返回主頁面,致使主頁面業務訪問量太高。

建議後期在業務設計時必定要考慮業務完成的狀況,儘量創建多層級的業務分流機制。避免業務完成時的瞬間訪問量發生。同時也要創建自動降級的策略,防止業務瞬間訪問量上升致使的降級策略失效的問題。

做者:土司阿哈連接:https://www.jianshu.com/p/2e79b546d321來源:簡書

相關文章
相關標籤/搜索