日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蚂蚁集团技术专家山丘:性能优化常见压测模型及优缺点

發布時間:2025/3/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蚂蚁集团技术专家山丘:性能优化常见压测模型及优缺点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

陳顯銘(山丘)

讀完需要

6

分鐘

速讀僅需 2 分鐘

陳顯銘,花名山丘,就職于螞蟻集團,對分布式應用架構、服務化、性能優化等有深入的理解。參與支付寶支付鏈路核心系統,設計、調優應用系統關鍵能力, 高效、穩定保障系統平穩支撐大促。曾歷經多年雙十一大促,對于性能調優、構建高可用系統有豐富的實戰經驗。熟悉常見的性能優化模式,比如應用結構優化、鏈路級、單系統優化等多種優化方式。對于常見的壓測模式,如單機壓測、鏈路級壓測都有深厚的積累。作為一名性能專家,以追求性能最大化為己任,與之相伴的自然是高技巧、高難度的代碼優化。這也是一名性能專家的畢生追求。

通過性能優化的常見模式及趨勢,我們大概知道了性能優化的一些招式,但是發現有性能問題的常見模式還是壓測。本章列舉常見的壓測模型并對其進行闡述分析。

1

? ?

壓測模型抽象

壓測模型可以被抽象為圖 18.1 的模型。該模型主要包含如下三大部分。

  • 壓測任務管理:負責對壓測場景、目標、策略進行管理。比如對支付業務場景進行壓測時需要持續 30 分鐘,且需要使 QPS 的壓力值達到 1WQPS 等。

  • 壓測任務執行:通過單機、分布式等壓力機執行壓測策略層下的壓測任務,并在壓測系統中輸出相關監控指標。

  • 壓測結果分析:壓測機會產出相關的系統性能日志,之后通過監控系統、工具體系進行數據分析,分析壓測情況,優化壓測策略,找到系統瓶頸。

圖 18.1

1.1

? ?

壓測環境準備

環境準備是壓測的基礎,下面是需要準備的主要軟件和硬件環境的內容。

  • 壓力機資源。

  • 被壓測系統。

  • 依賴資源(壓測數據、第三方依賴)。

1.2

? ?

壓測執行閉環

壓測是一個不斷調整壓測參數、進行壓測、找到問題、解決問題、再次驗證等一系列

過程的組合,并不能一次性就可以做到完整、極致。整個的壓測過程是一個閉環過程,這個過程可以拆分為如下的幾個方面:

  • 使用壓力機進行壓測。

  • 分析程序收集壓測數據(RT、QPS/TPS、成功率、錯誤、內存、I/O 等)。

  • 分析壓測報告。

  • 確定優化計劃。

  • 反饋到壓測系統或者調整壓測策略。

2

? ?

線下壓測模型

線下壓測模型最多,也是最容易實現的。對于有技術實力的公司,開發環境和壓測環境是隔離的。圖 18.2 所示的是分布式系統結構的線下壓測模型拓撲圖,實線是同步調用,虛線是消息類調用。

圖 18.2

線下壓測模型的優缺點如下。

2.1

? ?

優點

  • 可以實現快速壓測。

  • 壓測場景可以自由自定。

  • 可以進行穩定性測試或者鏈路性能回歸。

2.2

? ?

缺點

  • 仿真度不高。

  • 環境部署復雜。

  • 多個壓測任務一般不能并行。

  • 存在環境問題:

  • 依賴系統可能缺失。

  • 測試環境和線上環境的數據量不一樣。

  • 服務化后,線上各應用是集群部署,比如 A 可能是 1000 臺,B 可能是 100 臺, 是 10:1 的比例關系,但是線下的比例一般是 1:1,這個比例是失真的。

  • 3

    ? ?

    線上引流壓測模型

    線上引流壓測模型是使用比較多的高仿真壓測,其模型結構如圖 18.3 所示。該模型的優缺點如下。

    圖 18.3

    3.1

    ? ?

    優點

    • 真實的業務場景測試。

    • 可以按需縮容。

    • 可以快速回退。

    3.2

    ? ?

    缺點

    • 無法對鏈路節點進行壓測(與全鏈路壓測相比,該壓測方式存在著數據庫流量可能不夠、網絡節點不全等問題)。

    • 很難進行超出業務流量的壓測。

    • 很難評估鏈路性能。

    線上引流壓測是不錯的壓測模式,其使用的關鍵技術如下。

    • 流量的控制能力??梢园葱枨袚Q流量,Web 層(諸如使用 Ngnix)以及服務和服務調用之間也需要按需切換。如果想要對流量有更強的控制,則建議在需要控制的各層加入代理層,在代理層上可以實現路由算法,通過調整路由算法達到控制的目的, 比如可以擴展 Ngnix 的模塊。如果使用的是 Dubbo,則可以擴展服務調用的尋址邏輯。

    • 服務監控能力。如何在線上進行壓測并快速識別壓測情況?如果壓測在單臺機器上進行,登錄一臺機器即可確認情況,但是如果有多臺機器怎么辦?必須依靠自動化監控核心指標。

    服務化后的系統使用普通的線上壓測模式很難發現鏈路上的問題,所以就需要使用下面要介紹的線上全鏈路壓測模型。

    4

    ? ?

    線上全鏈路壓測模型

    目前,在阿里巴巴已經實現了線上全鏈路壓測模型的落地,如圖 18.4 所示,用于對大促等爆發流量進行模擬。使用完全真實的線上環境進行高仿真的線上壓測,可以按照線上真實的容量部署情況進行鏈路壓測。

    圖 18.4

    線上全鏈路壓測模型的優缺點如下。

    4.1

    ? ?

    優點

    • 高仿真。

    • 可以構造比日常容量大得多的請求量。

    4.2

    ? ?

    缺點

    該模型的實施成本很高,一般的公司可以不這么做,用前面的方式已經足夠了。

    5

    ? ?

    總結

    本章介紹的幾種壓測模型是現在主要使用的模型,可能會有一些變體模型,但不會相差太大。壓測時還有些需要注意的點,諸如要小心壓力機的瓶頸。現在常用的工具有 JMeter 等,在此不做詳解。

    - EOF -想要加入中生代架構群的小伙伴,請添加群合伙人大白的微信 申請備注(姓名+公司+技術方向)才能通過哦!

    往期推薦

    京東平臺研發朱志國:領域驅動設計(DDD)理論啟示

    2020-10-27

    架構專家高磊:緩存為王——無線緩存架構優化

    2020-10-22

    三湘銀行中臺總助黎慧劍:銀行業務中臺建設實戰

    2020-10-21

    阿里文娛技術專家戰獒: 領域驅動設計詳解之What, Why, How?

    2020-10-20

    螞蟻集團技術專家山丘:性能優化的常見模式及趨勢

    2020-10-18

    阿里專家馬飛翔:一文讀懂架構整潔之道

    2020-10-16

    美團技術專家云鵬:寫給工程師的十條精進原則!

    2020-10-15

    架構專家李偉山:電商系統之訂單系統

    2020-10-14

    DDD專家張逸:構建領域驅動設計知識體系

    2020-10-13

    京東架構師閆文廣:訂單系統高可用架構及演變過程

    2020-10-12

    前阿里高級技術專家杜仲:再談中年危機和應對策略

    2020-10-10

    阿里高級技術專家張建飛:面對復雜業務,if-else coder 如何升級?

    2020-09-30

    阿里專家常昊:新人如何上手項目管理?

    2020-09-29

    快狗打車CTO沈劍:如何利用計劃管理提升團隊效率和產能

    2020-09-27

    阿里技術專家麒燁:修煉測試基本功

    2020-09-16

    ? ?END ? ?? #架構師必備#點分享點點贊點在看

    總結

    以上是生活随笔為你收集整理的蚂蚁集团技术专家山丘:性能优化常见压测模型及优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。