閱讀558 返回首頁    go 阿裏雲 go 技術社區[雲棲]


係統穩定性保障核武器——全鏈路壓測

不確定性帶來的係統可用性問題

f12eebda58b0025ed17977cea926023bf583c596

線上單機與單係統壓測

4ef117bf496902d277c16daea5f81282f5a33f83

單係統壓測的問題

66ce65a9ad10163274df57412db11dcecb5195e7

1d21ac8cb7436c426d3f50ac8a898961190217b8

  • 壓測環境,它是指具備數據與流量隔離能力的生產環境,不能影響到原有的用戶體驗和用戶流程、BI報表以及推薦算法等;
  • 壓測基礎數據,它主要包括壓測用戶、店鋪、商品等基礎數據;
  • 壓測場景模型,它主要是指壓測哪些業務場景,每個場景下壓測多大量等;
  • 壓測流量,它主要由壓測請求的協議來決定壓測流量的輸出;

壓測環境

17e6879cfa7eb566f57386da2a1ce26ecc13190f

壓測基礎數據&壓測場景模型

a75b8701afcb97f5b946f42d24a51747ced10fce

壓測流量平台整體結構

6babbfc9cd51a46c5f7e0ea5d16aa8403656c0d9

壓測流量平台挑戰

壓測流量平台技術選型

035b62bcc980b5829226541bf725717dfae01997

壓測流量平台——壓測引擎

0f5acc82591fd0acb6b8b7790f1814b8ff4e606c

  • 協議支持,主要支持的PC端協議包括Http、Https、websocket,無線端協議是Spdy、http2、accs、acds、mqtt。由於真正在雙11時,用戶使用的瀏覽器各異,進而導致與服務端協商的加密算法不一致,為了盡量模擬準確性,需要支持SSL 2.0\3.0、TLS1.0\1.1\1.2不同算法套件靈活配比,貼近用戶端行為。
  • 請求發送,由於全鏈路壓測是利用現有的CDN集群,為了不影響現有CDN業務的正常運轉,需要做Cgroup資源隔離(主要包括CPU和網絡),為了實現性能最優,通常采用異步Reactor模型發送請求,鏈路間線程池隔離。
  • 集群協作,控製中心Master充當大腦來發送指令,所有節點根據收到的指令執行下一步操作,並且所有slave壓測節點會實時將自身狀態同步到Master,以便於其做決策,如果slave節點狀態不好,master則將其剔除。如果壓測引擎與控製中心失聯,則壓測引擎會自殺,避免流量浪費。

772c3700f4e04cbc46922c2872df714622161957

雙11全鏈路壓測現場

62960baa85c8b9523f571ac4175c8b9e81ca4aa8

6d244b485b6182d80f7080f50fa661d981b5ecbc

全鏈路壓測平台

9c473bd9a6c70311d648a0f96a7ed142ee4a4ba4

最後更新:2017-08-13 22:26:07

  上一篇:go  想知道一個互聯網項目如何實現持續集成嗎?(含視頻)
  下一篇:go  DTCMS 欄目調用方法