性能測試想得到什么?
-
評估系統的能力。
當應用上線有大量用戶當問的時候,頁面的打開速度直接影響用戶體驗,進而影響用戶的留存。了解用戶的真實使用體驗,對應用做出針對性的性能評估,有效提升用戶體驗。 -
驗證系統的穩定性和可靠性。
在整個的網站應用架構體系中,會有一些接口基礎服務,它的職責是對外輸出一些穩定的查詢,一些服務能力,這個時候系統需要有較高的穩定性,比如訪問量很多,數據量很大,這個時候就需要關注性能。另外對於一些核心系統,可用性很高,對於性能系統也是非常關鍵的。 -
改動了核心應用,擔心對鏈路有影響。
當網站應用比較復雜的時候,比如核心應用被改造了,改造之后我們會擔心這對整條核心鏈路有影響,這個時候也會考慮做性能評估。
性能測試關鍵指標
性能測試指標通常分為資源指標和系統指標。其中資源指標是指:CPU 使用率、內存使用率、磁盤I/O, 網絡帶寬等,系統指標是指:並發用戶數、在線用戶數、平均響應時間和事務成功率等。我們可以從業務方、研發和測試三個角度去看。
通常來說,業務方提出性能指標,比如某段時間內網站可能會帶來100萬UV, 1000萬PV,然后研發將這些指標轉化成實際性能指標,比如要實現多少的成交額、交易量等,再根據目標來設定合理的架構策略,最后測試保障這些性能指標。
大家可能會有疑問,業務方給出一個指標,怎么換算成研發可以實現的指標?比如在對接阿里巴巴廣告類業務時,業務方說:“這個廣告發布以后,會給網站帶來100萬的UV”,那這個怎么換算成研發需要實現的性能指標?這中間其實存在關聯。例如阿里巴巴線上監控會統計通常UV和PV的比例,然后根據放大三倍或者五倍的比例,計算出100個UV對應的PV數,這是一種方式。
另外一種方式就是對業務進行合理的預估。比如像一些平台首頁發布的秒殺頁面,可能秒殺產品只有100多個,但是引流來的人有100萬,這個時候假設這100萬用戶都會去查看這個頁面,再做一些比例放大,然后得出一個相應的PV關系,也可以幫我們做一個推導。當PV數據有了以后,QPS、TPS、RT也是可以換算得出的。
常見的性能測試方法
- 基准測試法
當我們拿到一個性能測試項目的時候,我們會對這個系統架構做個了解,了解最好的方式是做一個基准測試,先談談它的基本情況。所以會去定一個小並發,比如5-10個人的並發,先去測一測,看它的響應時間,然后將此作為我們的基准。
- 壓力測試
如果我們需要快速了解這個系統性能到底是什么情況?我們可以先做一個壓力測試,壓力測試是為了獲取極限性能指標。比如可以設置一個3小時壓測場景,每10分鍾加10個用戶,那到3小時后,可能就是180個用戶了。這個時候觀察,在壓力不斷增大過程中系統的表現。
- 負載測試
這是是為了獲取性能拐點,我們叫最佳性能。當達到這個點的時候,系統能力、極限能力是多少?這個通常用來做線上流量評估。
- 穩定性測試
我們會把用戶真實會發生的場景放大3-5倍,然后在線上運行24小時,在這個階段會發現很多穩定性問題, list回收,java list回收,一旦回收出現問題,可能會出現內存溢出,這個在日常測試過程中,是很難測出來的,所以用穩定性測試查出這些問題。
- 容量測試
當我們業務越來越復雜的時候,比如一場大促,應該怎么評估線上的性能?如何去做合理的擴容?這個就屬於容量測試范疇。
性能測試工具選擇
工欲善其事必先利其器,性能測試時模擬大量負載需要工具幫忙,市面上可供使用的負載工具繁多,如何選擇呢?首先我們要明白負載工具是幫助我們來模擬負載的,對於性能測試來說,工具並不是核心,分析、評估、找出性能問題才是核心,這些是主觀因素;工具是客戶因素,自然要降低其對結果的影響,所以工具選擇時我們有幾個方面要考慮。
(1)專業、穩定、高效,工業級性能負載工具。
(2)簡單易上手,在測試腳本上不用花太多時間。
(3)有技術支持,文檔完善,不用在疑難問題上花費時間,集中精力在性能分析上。
(4)要考慮投入產出比。自研或者使用開源不一定比商業工具更省錢,因為要做技術上的投資,時間上的投資。
阿里雲的性能測試 PTS
阿里雲性能測試(PTS)是全球領先的SaaS性能測試平台,具有強大的分布式壓測能力,可模擬海量用戶真實的業務場景,讓應用性能問題無所遁形。
為什么選擇阿里雲的性能測試 (PTS)
簡單易用
平台提供壓測機,無需安裝軟件;腳本場景監控簡單化;1分鍾上手,輕輕松松做性能測試
安全可靠
服務高質量容災,可用性高達99.99%;測試結果真實准確;多種安全防護措施,保障數據安全
場景豐富
分布式並發壓測,施壓能力無上限;模擬業務場景,性能缺陷暴露無疑;阿里性能專家在線服務,測試無憂
性能測試(PTS)的功能
腳本測試
腳本支持模板和手工編寫,模板編寫快速創建腳本,手工編寫滿足具體的業務需求。
測試場景
常規模式、梯度模式、目標模式的場景滿足各行各業系統業務需求。
測試報告
強大的性能日志分析,讓性能問題無所遁形。
性能測試(PTS)的應用場景
非阿里雲機器互聯網系統性能測試
只要被測系統開通了互聯網訪問,訪問協議為http、https、TCP、UDP就可以使用阿里雲性能測試。常見被測系統有:企業官網、簡單web應用、圖片視頻網站應用、手機APP、證券系統、P2P系統、網銀系統、考試系統等。
阿里雲機器系統性能測試
部署在阿里雲機器上的系統,不管是否開通了互聯網訪問,都可以使用阿里雲性能測試。使用私網壓測,不僅減少被測系統帶寬測試費用,並且不用擔心帶寬限制的問題,更能壓測出系統的性能瓶頸。