天天看點

淺談應用性能測試 PTS

<a href="https://www.aliyun.com/aliware/hotproducts/pts_case1">閱讀原文</a>

當應用上線有大量使用者當問的時候,頁面的打開速度直接影響使用者體驗,進而影響使用者的留存。了解使用者的真實使用體驗,對應用做出針對性的性能評估,有效提升使用者體驗。

在整個的網站應用架構體系中,會有一些接口基礎服務,它的職責是對外輸出一些穩定的查詢,一些服務能力,這個時候系統需要有較高的穩定性,比如通路量很多,資料量很大,這個時候就需要關注性能。另外對于一些核心系統,可用性很高,對于性能系統也是非常關鍵的。

當網站應用比較複雜的時候,比如核心應用被改造了,改造之後我們會擔心這對整條核心鍊路有影響,這個時候也會考慮做性能評估。

性能測試名額通常分為資源名額和系統名額。其中資源名額是指:cpu 使用率、記憶體使用率、磁盤i/o, 網絡帶寬等,系統名額是指:并發使用者數、線上使用者數、平均響應時間和事務成功率等。我們可以從業務方、研發和測試三個角度去看。

通常來說,業務方提出性能名額,比如某段時間内網站可能會帶來100萬uv, 1000萬pv,然後研發将這些名額轉化成實際性能名額,比如要實作多少的成交額、交易量等,再根據目标來設定合理的架構政策,最後測試保障這些性能名額。

大家可能會有疑問,業務方給出一個名額,怎麼換算成研發可以實作的名額?比如在對接阿裡巴巴廣告類業務時,業務方說:“這個廣告釋出以後,會給網站帶來100萬的uv”,那這個怎麼換算成研發需要實作的性能名額?這中間其實存在關聯。例如阿裡巴巴線上監控會統計通常uv和pv的比例,然後根據放大三倍或者五倍的比例,計算出100個uv對應的pv數,這是一種方式。

另外一種方式就是對業務進行合理的預估。比如像一些平台首頁釋出的秒殺頁面,可能秒殺産品隻有100多個,但是引流來的人有100萬,這個時候假設這100萬使用者都會去檢視這個頁面,再做一些比例放大,然後得出一個相應的pv關系,也可以幫我們做一個推導。當pv資料有了以後,qps、tps、rt也是可以換算得出的。

1. 基準測試法

當我們拿到一個性能測試項目的時候,我們會對這個系統架構做個了解,了解最好的方式是做一個基準測試,先談談它的基本情況。是以會去定一個小并發,比如5-10個人的并發,先去測一測,看它的響應時間,然後将此作為我們的基準。

2. 壓力測試

如果我們需要快速了解這個系統性能到底是什麼情況?我們可以先做一個壓力測試,壓力測試是為了擷取極限性能名額。比如可以設定一個3小時壓測場景,每10分鐘加10個使用者,那到3小時後,可能就是180個使用者了。這個時候觀察,在壓力不斷增大過程中系統的表現。

3. 負載測試

這是是為了擷取性能拐點,我們叫最佳性能。當達到這個點的時候,系統能力、極限能力是多少?這個通常用來做線上流量評估。

4. 穩定性測試

我們會把使用者真實會發生的場景放大3-5倍,然後線上上運作24小時,在這個階段會發現很多穩定性問題, list回收,java list回收,一旦回收出現問題,可能會出現記憶體溢出,這個在日常測試過程中,是很難測出來的,是以用穩定性測試查出這些問題。

5. 容量測試

當我們業務越來越複雜的時候,比如一場大促,應該怎麼評估線上的性能?如何去做合理的擴容?這個就屬于容量測試範疇。

工欲善其事必先利其器,性能測試時模拟大量負載需要工具幫忙,市面上可供使用的負載工具繁多,如何選擇呢?首先我們要明白負載工具是幫助我們來模拟負載的,對于性能測試來說,工具并不是核心,分析、評估、找出性能問題才是核心,這些是主觀因素;工具是客戶因素,自然要降低其對結果的影響,是以工具選擇時我們有幾個方面要考慮。

(1)專業、穩定、高效,工業級性能負載工具。

(2)簡單易上手,在測試腳本上不用花太多時間。

(3)有技術支援,文檔完善,不用在疑難問題上花費時間,集中精力在性能分析上。

(4)要考慮投入産出比。自研或者使用開源不一定比商業工具更省錢,因為要做技術上的投資,時間上的投資。

阿裡雲性能測試(pts)是全球領先的saas性能測試平台,具有強大的分布式壓測能力,可模拟海量使用者真實的業務場景,讓應用性能問題無所遁形。

簡單易用

平台提供壓測機,無需安裝軟體;腳本場景監控簡單化;1分鐘上手,輕輕松松做性能測試

安全可靠

服務高品質容災,可用性高達99.99%;測試結果真實準确;多種安全防護措施,保障資料安全

場景豐富

分布式并發壓測,施壓能力無上限;模拟業務場景,性能缺陷暴露無疑;阿裡性能專家線上服務,測試無憂

腳本測試

腳本支援模闆和手工編寫,模闆編寫快速建立腳本,手工編寫滿足具體的業務需求。

測試場景

正常模式、梯度模式、目标模式的場景滿足各行各業系統業務需求。

測試報告

強大的性能日志分析,讓性能問題無所遁形。

非阿裡雲機器網際網路系統性能測試

隻要被測系統開通了網際網路通路,通路協定為http、https、tcp、udp就可以使用阿裡雲性能測試。常見被測系統有:企業官網、簡單web應用、圖檔視訊網站應用、手機app、證券系統、p2p系統、網銀系統、考試系統等。

阿裡雲機器系統性能測試

部署在阿裡雲機器上的系統,不管是否開通了網際網路通路,都可以使用阿裡雲性能測試。使用私網壓測,不僅減少被測系統帶寬測試費用,并且不用擔心帶寬限制的問題,更能壓測出系統的性能瓶頸。

<a href="https://pts.aliyun.com/lite/test.htm">免費使用lite版,三分鐘入門</a>

<a href="https://www.aliyun.com/aliware/hotproducts/pts_case1">閱讀原文 了解優惠</a>

<a href="https://www.aliyun.com/aliware/scenarios/case2">1. 如何快速建構全管道零售平台</a>

<a href="https://www.aliyun.com/aliware/hotproducts/mq_case2">2. 針對移動網際網路&amp;物聯網場景的消息服務解決方案</a>

<a href="https://www.aliyun.com/aliware/scenarios/case1">3. 如何高效處理 iot 中的資料與消息</a>

<a href="https://www.aliyun.com/aliware/hotproducts/edas_case2">4. dubbo的商業化解決方案</a>

<a href="https://www.aliyun.com/aliware/hotproducts/hitsdb_case1">5. 面向萬物互聯的高性能時序資料庫 hitsdb</a>

<a href="https://www.aliyun.com/aliware/news/monitoringsolution">6. 打造立體化監控體系的最佳實踐</a>

<a href="https://www.aliyun.com/aliware">7. 全面了解企業級網際網路架構和阿裡雲中間件産品</a>

繼續閱讀