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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

如何使用 PTS 快速发起微服务压测

發布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用 PTS 快速发起微服务压测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:亦炎

什么是微服務

通常而言,微服務架構是一種架構模式或者說是一種架構風格。

本文闡述了:

  • 什么是微服務架構
  • 微服務架構對系統穩定性帶來的影響,以及用性能測試驗證穩定性的必要性
  • 用戶進行微服務壓測的痛點和 PTS 的獨特優勢
  • 云上使用 PTS 快速發起微服務壓測的步驟,以及壓測完成后排查分析相關問題的 Tips
  • 它提倡將單一應用程序劃分成一組小的服務,每個服務運行獨立的自己的進程中,服務之間互相協調、互相配合,為用戶提供最終價值。服務之間采用輕量級的通信機制互相溝通(通常是基于 HTTP 的 RESTful API)。每個服務都圍繞著具體業務進行構建,并且能夠被獨立地部署到生產環境、類生產環境等。

    微服務以其高內聚、低耦合等特性,提供了更好等容錯性,也更適應業務等快速迭代,為開發人員帶來很多便利。但是隨著業務的發展,微服務拆分越來越復雜,模塊越來越多,意味著服務間的調用鏈路比以前延長很多,在調用鏈路上發生故障的幾率也就隨之增大,這給我們的系統穩定性帶來不小的挑戰。比如:

  • 在單服務流量激增情況下,需要快速響應擴容;
  • 當一個服務無法承受大請求壓力的時候,是否會影響所依賴的其他服務;
  • 整個系統被拆成了很多的微服務,當某個服務出現故障時,是否有容錯手段能夠讓業務繼續跑下去,而不影響整體應用。
  • 利用性能壓測驗證微服務穩定性

    保障微服務穩定性的常見方式

    1.超時機制如果調用一個接口,但遲遲沒有返回響應的時候,我們往往需要設置一個超時時間,以防自己被遠程調用拖死。超時時間的設置也是有講究的,設置的太長起的作用就小,自己被拖垮的風險就大,設置的太短又有可能誤判一些正常請求,大幅提升錯誤率。在實際使用中,我們可以取該應用一段時間內的 TP999 的值,或者取 TP95 的值 * 2。

    2.限流限流就是限制服務請求流量,服務提供者可以根據自身情況(容量)給請求設置一個閾值,當超過這個閾值后就丟棄請求,這樣就保證了自身服務的正常運行。閾值的設置可以針對兩個方面考慮,一是 QPS 即每秒請求數,二是并發線程數。從實踐來看,我們往往會選擇后者,因為 QPS 高往往是由于處理能力高,并不能反映出系統“不堪重負”。

    3.降級熔斷由于微服務調用關系的復雜性,如果調用鏈路中的某個資源不穩定,最終會導致請求發生堆積。我們需要在調用鏈路中某個資源出現不穩定狀態時(例如調用超時或異常比例升高),對這個資源的調用進行限制,讓請求快速失敗,避免影響到其它的資源而導致級聯錯誤。當資源被降級后,在接下來的降級時間窗口之內,對該資源的調用都自動熔斷。

    4.擴容鏈路中的某一應用可能出現 cpu 使用率較高或者連接池資源不夠用(rpc、jdbc、redis 連接池等),但本身對于拿到連接的請求處理又很快,這一類需要橫向擴展資源。

    利用性能壓測驗證微服務穩定性

    那么如何驗證上述保障穩定性的措施是否滿足我們的需要?

  • 通過微服務性能測試,我們可以得到系統在“高壓”下 RT 的 TP95 和 TP999 等指標分布,根據這些指標設計合理的超時時間;

  • 在 RT 沒有明顯飆升的情況下能承受多高并發的請求,摸清調用鏈路請求堆積的節點,設計合理的限流、降級熔斷策略,在盡可能不影響用戶體驗的情況下,更好的提升微服務穩定性。

  • 驗證服務擴容的有效性。

  • 因此,無論是為了評估單服務上線或變更對系統性能對影響,還是需要對服務精準擴容并驗證擴容的有效性,在全面正式壓測前,對重點微服務應用做性能測試,摸清局部對性能極限,都是必不可少的。

    微服務壓測痛點

    目前常見的微服務壓測工具,比如基于自定義插件的 JMeter 和 Gatling,都存在以下難以避免的痛點:

  • 出于安全性的考慮,單個微服務應用不會暴露公網入口,這時就需要壓測工具有打通 VPC 內網的能力,用戶自建成本較高。

  • 無法模擬跨應用多接口的調用。

  • 每個服務的注冊中心地址、接口名和參數配置起來十分繁瑣。

  • 缺乏直觀的調用鏈分析和監控。

  • 使用 PTS 壓測微服務的優勢

    PTS 作為具備強大的分布式壓測能力的 SaaS 平臺,用戶不需要去管底層環境的搭建,便可直接使用百萬級的并發模擬能力和數據分析匯總能力,在微服務壓測領域具有獨特優勢。

  • 安全實惠,支持 VPC 內網壓測PTS 支持 VPC 內網壓測,可以在壓測時快速打通施壓機與用戶VPC網絡,保證內網壓測的網絡暢通。在壓測結束后,也會即時關閉網路通道,保證網絡安全。

  • 隨心所欲,支持多應用多接口場景編排 一個微服務應用從開發到上線需要做哪些性能測試?首先我們需要對單服務的接口進行性能測試,可能會發現一些應用邏輯的問題,這時候有針對性的進行性能優化。當我們把單服務接口性能優化完以后,我們就需要結合用戶場景進行多應用多接口的場景性能測試,這時候可能會發現一些服務與服務之間的接口調用的問題,同樣也會進行對應的性能優化;最后我們還需要關注服務的伸縮能力驗證,從而確定我們每一個服務所支持的擴容模型。

  • 使用簡單,支持直接壓測 EDAS/MSE 應用PTS 天然打通 EDAS/MSE 應用,可直接對其發起壓測,省去配置各項服務參數的煩惱,快捷方便。

  • 直觀清晰,支持調用鏈分析和監控在啟動壓測之前,用戶可以接入 PTS 的問題診斷功能,實現微服務應用之間的調用鏈分析和監控。針對 Java 類型的服務,用戶側無需進行業務側代碼改造即可完成問題診斷的探針接入。對于壓測中出現的各種異常信息,即使調用關系十分復雜,用戶也能清晰地分析問題所在。

  • PTS 微服務壓測的原理

    我們通常會使用 RPC 框架來實現微服務間的遠程調用,RPC 框架包含三個最重要的組件,如下圖所示,分別是客戶端、服務端和注冊中心。

    在一次 RPC 調用流程中,這三個組件是這樣交互的:

    ? 服務端在啟動后,會將它提供的服務列表發布到注冊中心,客戶端向注冊中心訂閱服務地址;
    ? 客戶端會通過本地代理模塊 Proxy 調用服務端,Proxy 模塊收到負責將方法、參數等數據轉化成網絡字節流;
    ? 客戶端從服務列表中選取其中一個的服務地址,并將數據通過網絡發送給服務端;
    ? 服務端接收到數據后進行解碼,得到請求信息;
    ? 服務端根據解碼后的請求信息調用對應的服務,然后將調用結果返回給客戶端。

    在實際壓測中,PTS 扮演著客戶端的角色,并且在本地維護了一個服務列表,每 5 秒主動請求一次注冊中心,更新該服務列表,在保證實時性的同時,盡可能降低注冊中心的負載。原理如圖所示。

    云上使用 PTS 快速發起微服務壓測

  • 創建場景。PTS 目前支持 Dubbo、Spring Cloud 和 gRPC 三種微服務框架,這里以 Dubbo 為例,壓測事先接入的 EDAS 應用。首先,我們在 PTS 控制臺的【壓測中心】->【創建場景】中創建 Dubbo 壓測場景;
  • 選擇應用。我們選擇壓測應用來源為【EDAS】,地域為【杭州】,選擇默認微服務空間;
  • 編輯場景。在場景配置-基礎配置頁中選擇需要壓測的應用、接口和方法,設置合理的連接和響應超時時間;PTS 支持同時壓測多應用和多接口,還可以借助控制器與定時器
    實現場景編排。
  • 最后,在施壓配置頁中,用戶只需要選擇微服務應用所在的 VPC 內網、安全組、交換機,即可開啟 VPC 內網壓測。讓您的服務無需暴露公網入口,也可以探測出性能指標。此外,PTS 還推出了 VPC 壓測專屬資源包[1],價格只需公網壓測 1/10。
  • 常見微服務性能測試問題分析

  • 存在部分響應超時:
    a) 服務器繁忙,如某個服務節點 CPU 利用率高
    b) 網絡 IO 超過 VM/EIP 帶寬
    c) 后端微服務、數據庫的超時時間設置過長

  • TPS 未隨著并發數增長而上升:
    a) 系統性能到達瓶頸,持續并發加壓過程中響應時延增加(可觀察響應區間統計)
    b) 驗證進一步加壓是否會出現非正常響應

  • 3. 運行一段時間后全部響應超時或者檢查點校驗不通過
    a) 大壓力導致系統中某個微服務崩潰
    b) 后端數據庫無響應

    4. TP90 響應時延較短,TP99 時延高:
    a) 系統性能接近瓶頸
    b) 驗證進一步加壓是否會出現非正常響應

    總結

    本文闡述了:
    什么是微服務架構
    微服務架構對系統穩定性帶來的影響,以及用性能測試驗證穩定性的必要性
    用戶進行微服務壓測的痛點和 PTS 的獨特優勢
    云上使用 PTS 快速發起微服務壓測的步驟,以及壓測完成后排查分析相關問題的 Tips
    同時,PTS 全新售賣方式來襲,基礎版價格直降 50%!百萬并發價格只需 6200!更有新用戶 0.99 體驗版、VPC 壓測專屬版,歡迎大家選購!

    相關鏈接

    [1]購買壓測資源包
    https://common-buy.aliyun.com/?commodityCode=pts_bag_dp_cn

    點擊此處,了解性能測試 PTS 更多資訊!

    總結

    以上是生活随笔為你收集整理的如何使用 PTS 快速发起微服务压测的全部內容,希望文章能夠幫你解決所遇到的問題。

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