閱讀530 返回首頁    go 阿裏雲 go 技術社區[雲棲]


淺談應用性能測試 PTS

閱讀原文

我們為什麼要進行性能測試?

1. 評估係統的能力。

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

2. 驗證係統的穩定性和可靠性。

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

3. 改動了核心應用,擔心對鏈路有影響。

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

性能測試關鍵指標

性能測試指標通常分為資源指標和係統指標。其中資源指標是指: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個人的並發,先去測一測,看它的響應時間,然後將此作為我們的基準。

  1. 壓力測試

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

  1. 負載測試

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

  1. 穩定性測試

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

  1. 容量測試

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

性能測試工具選擇

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

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

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

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

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

阿裏雲的性能測試 PTS

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

為什麼選擇阿裏雲的性能測試 (PTS)

  • 簡單易用 平台提供壓測機,無需安裝軟件;腳本場景監控簡單化;1分鍾上手,輕輕鬆鬆做性能測試
  • 安全可靠 服務高質量容災,可用性高達99.99%;測試結果真實準確;多種安全防護措施,保障數據安全
  • 場景豐富
    分布式並發壓測,施壓能力無上限;模擬業務場景,性能缺陷暴露無疑;阿裏性能專家在線服務,測試無憂

性能測試(PTS)的功能

  1. 腳本測試
    腳本支持模板和手工編寫,模板編寫快速創建腳本,手工編寫滿足具體的業務需求。

  2. 測試場景
    常規模式、梯度模式、目標模式的場景滿足各行各業係統業務需求。

  3. 測試報告
    強大的性能日誌分析,讓性能問題無所遁形。

性能測試(PTS)的應用場景

  1. 非阿裏雲機器互聯網係統性能測試

隻要被測係統開通了互聯網訪問,訪問協議為http、https、TCP、UDP就可以使用阿裏雲性能測試。常見被測係統有:企業官網、簡單web應用、圖片視頻網站應用、手機APP、證券係統、P2P係統、網銀係統、考試係統等。

  1. 阿裏雲機器係統性能測試

部署在阿裏雲機器上的係統,不管是否開通了互聯網訪問,都可以使用阿裏雲性能測試。使用私網壓測,不僅減少被測係統帶寬測試費用,並且不用擔心帶寬限製的問題,更能壓測出係統的性能瓶頸。

快速上手

免費使用Lite版,三分鍾入門
閱讀原文 了解優惠

其他解決方案推薦

1. 如何快速構建全渠道零售平台
2. 針對移動互聯網&物聯網場景的消息服務解決方案
3. 如何高效處理 IOT 中的數據與消息
4. Dubbo的商業化解決方案
5. 麵向萬物互聯的高性能時序數據庫 HiTSDB
6. 打造立體化監控體係的最佳實踐
7. 全麵了解企業級互聯網架構和阿裏雲中間件產品

最後更新:2017-07-05 11:32:09

  上一篇:go  阿裏雲邀請碼激活教程
  下一篇:go  一、搭建篇-使用Github-hexo搭建個人博客教程—總結自己爬過的坑