阿里SaaS性能測試平臺PTS最佳實踐

摘要: PTS(Performance Testing Service)是web化的卓越的SaaS性能測試平臺,具有強大的分佈式壓測能力,可方便的模擬海量用戶的真實業務場景。PTS鉑金版在功能上強調頁面可視化編排,目前也在快速迭代中,倡導無需編碼的複雜交互式壓測;除了上面說起的特性以外,TPS壓測模式、實時調控實時生效的調速能力也都是領先於業界的。web

 

原文地址:http://click.aliyun.com/m/43778/網絡

 

PTS(Performance Testing Service)是web化的卓越的SaaS性能測試平臺,具有強大的分佈式壓測能力,可方便的模擬海量用戶的真實業務場景。PTS於2015年正式在阿里雲上線,爲廣大用戶提供極具性價比和業界領先的性能壓測解決方案。併發

 

PTS鉑金版是2016年8月正式發佈的全新產品,核心能力基於服務阿里全生態多達4年以上的單鏈路/全鏈路壓測平臺,該平臺對內除了支持平常的外部流量壓測以外,同時支持了大大小小的大促活動,如天貓雙十一、雙12和年貨節等等;PTS鉑金版的壓力發起來源是遍及全國上百個城市和各運營商的CDN節點,相比業界產品的雲主機發起,更快速,來源更普遍,脈衝能力和流量掌控能力更強。分佈式

 

PTS鉑金版在功能上強調頁面可視化編排,目前也在快速迭代中,倡導無需編碼的複雜交互式壓測;除了上面說起的特性以外,TPS壓測模式、實時調控實時生效的調速能力也都是領先於業界的。PTS鉑金版會持續的提供高性價比的最佳實踐。高併發

 

PTS鉑金版有哪些特色,涉及哪些術語和概念?性能

 

咱們(阿里高可用團隊)但願將性能壓測自己的工做持續地簡化,將更多的精力迴歸到業務和性能自己,經過性能、體驗的提高創造更大的價值,更好的下降成本,更穩定地支持核心的活動。咱們選擇經過PTS鉑金版這款好用不貴的產品輸出咱們的最佳實踐。PTS鉑金版就是由阿里巴巴 中間件-高可用團隊創造和維護的產品。測試

那麼,在一個壓測閉環中,PTS及其餘阿里雲產品覆蓋了重要的三部分的能力:翻譯構造流量的能力、模擬掌控真實流量的能力、展示和定位問題的能力。阿里雲

PTS鉑金版涉及的幾個主要的術語和概念以下:編碼

  • VUM:VUM(每虛擬用戶每分鐘)是性能測試PTS的計費單位,VUM=VU(壓測任務併發用戶數值)* M(壓測任務執行時長,按分鐘粒度,不滿一分鐘按一分鐘計算),舉例:100併發用戶運行10分鐘即1000VUM, 1併發用戶運行1000分鐘也是1000VUM,以此類推。比較貼心的是PTS鉑金版並非同大部分SaaS壓測產品那樣基於壓測時間預設的最高併發計算VUM,而是按照實際的消耗VUM計費。
  • 鏈路:在 PTS 中被定義爲一種業務行爲,能夠是一個接口、頁面等,是一個最小的單位。以電商爲例,登陸、查詢商品詳情、提交訂單和付款等都是一個鏈路。
  • 串聯鏈路:串聯鏈路是一組含有某種業務含義的鏈路的有序集合(事務),鏈路只有在同一個串聯鏈路中才能進行入參和出參關聯(運行時數據傳遞)等。
  • 場景:串聯鏈路的一組集合組成場景,場景也就能模擬各類有序集合的組合形態,也就是複雜業務場景。
  • 壓測模式:PTS鉑金版支持併發模式和TPS模式兩種,特別是第二種是首創的一種壓測模式,更側重一步到位地評估被壓測端的吞吐能力,由於所謂的併發在服務端最終是被網絡解耦爲有前後順序的請求。
  • 指令:爲了更加貼合業務邏輯、更加真實地模擬用戶行爲,PTS鉑金版提供了一系列的指令功能,指令是一種能夠改變、控制鏈路執行的行爲和流程的功能組件。指令能夠穿插在串聯鏈路的各個位置,通常來講只會對單個串聯鏈路起做用,某些特殊的指令也會對多個串聯鏈路同時起做用。

 

PTS鉑金版如何作一次壓測?翻譯

 

因爲篇幅緣由,下面介紹一個簡單的壓測配置過程,更多強大的擴展能夠經過購買資源包自行作深度體驗。

假設咱們的壓測場景是一個 首頁 -> 搜索 -> 詳情 -> 思考時間 -> 下單 的流程,也就是說壓測場景中包含一個串聯鏈路,一個串聯鏈路中是4個鏈路。

那麼咱們首先錄入和設置這4個鏈路,在左側導航欄中單擊鏈路管理,在鏈路列表頁面右上角單擊新增鏈路,錄入基本信息。

若是須要給每一個請求單獨構造請求體、請求頭、Cookie或者是URL的,那麼按照PTS的文檔介紹構造完成以後上傳便可。

在業務上某些鏈路須要輸出一些值給到後續鏈路的,好比首頁傳遞userid、name給到後續鏈路,搜索傳遞搜索到的itemId給到詳情和下單頁面的,那麼須要在相應的鏈路中定義出參(支持正則和JSON表達式的解析,詳見文檔)。

對應的,須要出參的鏈路定義一個入參,並在場景中關聯(後面場景部分再介紹)。入參的定義很簡單,主要是一個變量的申明,須要使用的的時候能夠直接在文件中直接經過 #{param} 佔位符來引用。舉例說明,詳情鏈路有一個名爲 「itemid」 的入參,那麼壓測文件中只須要 itemid=#{itemid}&age=12 這麼使用便可。

 

接下來進入場景構建步驟,在控制檯左側導航欄中單擊場景管理,在場景列表頁面單擊新增場景。輸入場景名稱(能夠以業務來命名),設置持續時間(壓測的最長時間),選擇模式(TPS 或 併發 模式),而後單擊肯定。

 

前面有講到,場景中只有一個串聯鏈路,而後在串聯鏈路中添加前面配置的業務鏈路,在添加的時候以下圖所示關聯先後的出/入參,設置單個鏈路的起步和目標壓測值便可。

 

 

在指令部分,這個例子中增長了最多見的思考時間,思考時間用於模擬用戶在先後兩個節點間思考、反應花費的時間,支持多種模式,如固定值、均勻分佈和正態分佈。

 

其餘還有一系列的指令,如集合點、Cookie的導入導出等等,具體參見文檔並視業務狀況使用便可。

所有配置完成以後的效果以下:

 

固然啓動前可使用調試場景的功能方便的進行場景的調試,在不計費的狀況下會跑一條數據或者一次輪詢並結構化地展現各鏈路的請求/響應狀況,對出入參/斷言都會單獨展現出來便於問題的排查。

接着保存配置或者直接去壓測,實時的客戶端視角的監控和報表效果以下圖:

 

當壓測完成以後會自動生成報表,分爲概覽和明細兩部分,話很少少直接看圖:

怎麼樣,是否是已經躍躍欲試了,PTS鉑金版現重磅推出9.9的超值嚐鮮包,享有完整的功能,最高500的併發,CDN發起流量,總量1萬的VUM,也就是說500併發對應多是幾千的TPS,如此吞吐量的狀況下也能進行20分鐘的壓測哦,好用不貴!同時還有最高1W併發的超值包以及持續往上的大量資源包可選。---詳情點擊【傳送門

 

識別如下二維碼,閱讀更多幹貨

相關文章
相關標籤/搜索