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