PTS + ARMS打造性能和应用诊断利器
服務端的性能測試,尤其是業務性能測試,是用來評估性能容量、診斷性能瓶頸和應用錯誤,或是驗證高可用的能力,以此達到降低成本、提升用戶體驗的目的。但是,當需要有進一步的定位和刨析時,這類性能測試就會顯得有點捉襟見肘。本文將介紹PTS + ARMS的經典組合,在性能容量評估、性能瓶頸診斷和應用錯誤診斷方面的實踐方案。
性能測試PTS(Performance Testing Service)
脫胎于阿里全鏈路壓測平臺,是簡單、直接的云化性能測試工具,可幫助用戶輕松模擬海量訪問的真實業務場景,支持所需資源隨時發起,免去搭建和維護成本。
業務實時監控服務ARMS (Application Real-Time Monitoring Service)
是一款APM類的全鏈路(Tracing)監控產品。用戶可基于ARMS的前端、應用和自定義監控,快速構建實時的業務監控能力。
適用行業
PTS?+?ARMS?組成的經典壓測監控方案,不僅已服務于淘寶、天貓等阿里巴巴集團內部用戶,也正應用于其他多個行業,包括電子商務、互聯網金融、游戲、新媒體、政府及大型央企等,支持新版本性能基線測試、大促場景測試和線上容量規劃等場景。
典型應用場景
- 評估性能容量
以某知名在線教育平臺為例,用戶希望以最小的成本應對常態化的選課高峰,同時,在流量峰值的情況下,用戶體驗不能下降。
根據木桶原理,容量最小的系統也就是木桶最短的板決定了站點的能力。用戶需要做的是識別短板,通過調整長短板之間的機器配比達到拉平系統水位的目的,那么即使是同樣數量的機器也可以提供更大的業務吞吐量,甚至不用額外擴容。
通過PTS集成云監控和ARMS監控,不僅可以準確判斷特定配置下的系統性能容量瓶頸,同時還能定位性能基線的配置短板,如系統性能、數據庫瓶頸、代碼問題等。性能容量評估分為以下3個步驟:
- 診斷性能瓶頸
除了調整容量配比,PTS + ARMS還可以通過探測和識別系統瓶頸點,以提高站點性能的方式,進一步提升同樣機器數量情況下的整體容量水位。
以在線教育平臺上通過瀏覽器登錄為例,最常見的一個操作流程是:登錄 -> 根據用戶的屬性信息列出可選的課程列表 -> 用戶通過查詢條件進行準確的查詢或者篩選 -> 選中最終的課程進行提交。
這個流程,作為一個事務,是有嚴格的先后順序的。在PTS中就是一個串聯鏈路。借助PTS對cookie的友好支持,整個鏈路都可以通過PTS配置出對應的壓力測試流量,并借助ARMS進行監控,從而觀察、分析性能瓶頸。
此外,用戶還可以通過PTS發現接口調用性能瓶頸拐點,一鍵跳轉到ARMS中,并基于具體線程刨息,發現具體代碼棧內的性能瓶頸拐點,從而為優化代碼性能,提供代碼棧級別的證據。
性能瓶頸診斷分為以下3個步驟:
- 診斷應用錯誤
診斷應用錯誤是企業級互聯網應用正式上線前的另一大場景。這類錯誤雖然一般不會直接影響調用耗時從而造成性能瓶頸,但是仍然會由于業務錯誤引發糟糕的用戶體驗。
應用在基線性能下除了耗時以外,通常還可能被返回各類調用錯誤,典型的有:
通過PTS + ARMS的經典組合,可以在壓力增加時,有效發現以上的各類錯誤。
此外,基于PTS的施壓側監控和多維度監控特性,還可以通過ARMS集成關聯到具體的錯誤異常詳情,定位到具體錯誤拋出的詳細代碼,從而以指數級別提高壓測場景下的接口錯誤診斷效率,錯誤接口診斷分為以下3個步驟:
可見,PTS通過集成ARMS的監控能力,可將關鍵的服務端性能指標整合到壓測的整體監控中,以達到更快速、更便捷地識別問題的目的,降低用戶的運維負擔。
阿里云雙十一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/
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的PTS + ARMS打造性能和应用诊断利器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云护航罗振宇2018“时间的朋友”跨
- 下一篇: 阿里巴巴微服务开源项目盘点(持续更新)