經典組合 | PTS + ARMS打造性能和應用診斷利器

服務端的性能測試,尤爲是業務性能測試,是用來評估性能容量、診斷性能瓶頸和應用錯誤,或是驗證高可用的能力,以此達到下降成本、提高用戶體驗的目的。可是,當須要有進一步的定位和刨析時,這類性能測試就會顯得有點捉襟見肘。本文將介紹PTS + ARMS的經典組合,在性能容量評估、性能瓶頸診斷和應用錯誤診斷方面的實踐方案。前端

性能測試PTS(Performance Testing Service)

脫胎於阿里全鏈路壓測平臺,是簡單、直接的雲化性能測試工具,可幫助用戶輕鬆模擬海量訪問的真實業務場景,支持所需資源隨時發起,免去搭建和維護成本。數據庫

業務實時監控服務ARMS (Application Real-Time Monitoring Service)

是一款APM類的全鏈路(Tracing)監控產品。用戶可基於ARMS的前端、應用和自定義監控,快速構建實時的業務監控能力。後端

 

image.png | left | 380x242

適用行業

PTS + ARMS 組成的經典壓測監控方案,不只已服務於淘寶、天貓等阿里巴巴集團內部用戶,也正應用於其餘多個行業,包括電子商務、互聯網金融、遊戲、新媒體、政府及大型央企等,支持新版本性能基線測試、大促場景測試和線上容量規劃等場景。瀏覽器

 

image.png | left | 355x246

典型應用場景

  • 評估性能容量

以某知名在線教育平臺爲例,用戶但願以最小的成本應對常態化的選課高峯,同時,在流量峯值的狀況下,用戶體驗不能降低。服務器

根據木桶原理,容量最小的系統也就是木桶最短的板決定了站點的能力。用戶須要作的是識別短板,經過調整長短板之間的機器配比達到拉平系統水位的目的,那麼即便是一樣數量的機器也能夠提供更大的業務吞吐量,甚至不用額外擴容。cookie

經過PTS集成雲監控和ARMS監控,不只能夠準確判斷特定配置下的系統性能容量瓶頸,同時還能定位性能基線的配置短板,如系統性能、數據庫瓶頸、代碼問題等。性能容量評估分爲如下3個步驟:運維

  1. 使用PTS快速構建高仿真業務壓測;
  2. 經過PTS控制檯一站式觀察壓測發起側(客戶側)及服務側(雲監控)的端到端全監控,瞭解高壓下的業務表現和各核心系統的性能水位狀況;
  3. 再經過ARMS集成,快速找到應用瓶頸點,列出接口快照,結合系統性能診斷慢快照具體耗時緣由,如系統性能,慢SQL,或其餘代碼問題。

image.png | left | 827x457

  • 診斷性能瓶頸

除了調整容量配比,PTS + ARMS還能夠經過探測和識別系統瓶頸點,以提升站點性能的方式,進一步提高一樣機器數量狀況下的總體容量水位。工具

以在線教育平臺上經過瀏覽器登陸爲例,最多見的一個操做流程是:登陸 -> 根據用戶的屬性信息列出可選的課程列表 -> 用戶經過查詢條件進行準確的查詢或者篩選 -> 選中最終的課程進行提交。性能

這個流程,做爲一個事務,是有嚴格的前後順序的。在PTS中就是一個串聯鏈路。藉助PTS對cookie的友好支持,整個鏈路均可以經過PTS配置出對應的壓力測試流量,並藉助ARMS進行監控,從而觀察、分析性能瓶頸。測試

此外,用戶還能夠經過PTS發現接口調用性能瓶頸拐點,一鍵跳轉到ARMS中,並基於具體線程刨息,發現具體代碼棧內的性能瓶頸拐點,從而爲優化代碼性能,提供代碼棧級別的證據。

性能瓶頸診斷分爲如下3個步驟:

  1. 使用PTS快速構建壓測並一站式觀察相關應用的接口調用耗時,尋找性能瓶頸點;
  2. 使用ARMS觀察對應應用的接口耗時,並找到對應的慢接口調用的線程進行刨析;
  3. 經過線程刨析找到對應接口的線程快照,分析性能瓶頸。

image.png | left | 827x411

  • 診斷應用錯誤

診斷應用錯誤是企業級互聯網應用正式上線前的另外一大場景。這類錯誤雖然通常不會直接影響調用耗時從而形成性能瓶頸,可是仍然會因爲業務錯誤引起糟糕的用戶體驗。

應用在基線性能下除了耗時之外,一般還可能被返回各種調用錯誤,典型的有:

  1. 超時錯誤(timeout):當後端服務來不及響應時,可能會在客戶端形成timeout 錯誤;
  2. 熔斷錯誤:該類錯誤主要是被各種熔斷組件觸發(如Sentinal), 保護後端應用性能;
  3. 其餘系統組件引發的錯誤:如性能超載引發的IOException等。

經過PTS + ARMS的經典組合,能夠在壓力增長時,有效發現以上的各種錯誤。

此外,基於PTS的施壓側監控和多維度監控特性,還能夠經過ARMS集成關聯到具體的錯誤異常詳情,定位到具體錯誤拋出的詳細代碼,從而以指數級別提升壓測場景下的接口錯誤診斷效率,錯誤接口診斷分爲如下3個步驟:

  1. 使用PTS,觀察壓測增長時是否發生業務異常/錯誤;
  2. 使用ARMS,觀察對應應用的整體錯誤調用,判斷問題點。
  3. 打開錯誤的異常詳情,經過異常的快照詳情判斷根系錯誤根因。

image.png | left | 827x417

可見,PTS經過集成ARMS的監控能力,可將關鍵的服務端性能指標整合到壓測的總體監控中,以達到更快速、更便捷地識別問題的目的,下降用戶的運維負擔。

http://click.aliyun.com/m/1000020293/

雙十一廣告:阿里雲雙十一1折拼團活動:已滿6人,都是最低折扣了
【滿6人】1核2G雲服務器99.5元一年298.5元三年 2核4G雲服務器545元一年 1227元三年
【滿6人】1核1G MySQL數據庫 119.5元一年
【滿6人】3000條國內短信包 60元每6月
參團地址:http://click.aliyun.com/m/1000020293/

做者: 中間件小哥
原文連接 本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索