五大問題,詳解阿里雲PTS鉑金版


阿里雲PTS鉑金版,具備強大的分布式壓測能力,相比業界產品的雲主機發起,該產品更快速,來源更廣泛,脈沖能力和流量掌控能力更強。日前,阿里雲推出了PTS鉑金版嘗鮮包,旨在為用戶提供高性價比的最佳實踐。我們就產品的相關問題,采訪了阿里雲中間件相關產品負責人,聽他為我們解析阿里雲PTS鉑金版。

1、PTS鉑金版是什么?
PTS(Performance Testing Service)是web化的卓越的SaaS性能測試平台,具備強大的分布式壓測能力,可方便的模擬海量用戶的真實業務場景。PTS於2015年正式在阿里雲上線,為廣大用戶提供極具性價比和業界領先的性能壓測解決方案。

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

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

2、PTS鉑金版有哪些特點?
我們(阿里高可用團隊)希望將性能壓測本身的工作持續地簡化,將更多的精力回歸到業務和性能本身,通過性能、體驗的提升創造更大的價值,更好的降低成本,更穩定地支持核心的活動。我們選擇通過PTS鉑金版這款好用不貴的產品輸出我們的最佳實踐。PTS鉑金版就是由阿里巴巴 中間件-高可用團隊創造和維護的產品。

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

3、PTS鉑金版涉及哪些主要術語和概念?
VUM:VUM(每虛擬用戶每分鍾)是性能測試PTS的計費單位,VUM=VU(壓測任務並發用戶數值)M(壓測任務執行時長,按分鍾粒度,不滿一分鍾按一分鍾計算),舉例:100並發用戶運行10分鍾即1000VUM, 1並發用戶運行1000分鍾也是1000VUM,以此類推。比較貼心的是PTS鉑金版並不是同大部分SaaS壓測產品那樣基於壓測時間預設的最高並發計算VUM,而是按照實際的消耗VUM計費。

鏈路:在 PTS 中被定義為一種業務行為,可以是一個接口、頁面等,是一個最小的單位。以電商為例,登錄、查詢商品詳情、提交訂單和付款等都是一個鏈路。

串聯鏈路:串聯鏈路是一組含有某種業務含義的鏈路的有序集合(事務),鏈路只有在同一個串聯鏈路中才能進行入參和出參關聯(運行時數據傳遞)等。

場景:串聯鏈路的一組集合組成場景,場景也就能模擬各種有序集合的組合形態,也就是復雜業務場景。

壓測模式:PTS鉑金版支持並發模式和TPS模式兩種,特別是第二種是獨創的一種壓測模式,更側重一步到位地評估被壓測端的吞吐能力,因為所謂的並發在服務端最終是被網絡解耦為有先后順序的請求。

指令:為了更加貼合業務邏輯、更加真實地模擬用戶行為,PTS鉑金版提供了一系列的指令功能,指令是一種可以改變、控制鏈路執行的行為和流程的功能組件。指令可以穿插在串聯鏈路的各個位置,一般來說只會對單個串聯鏈路起作用,某些特殊的指令也會對多個串聯鏈路同時起作用。

4、PTS鉑金版如何做一次壓測?
下面介紹一個簡單的壓測配置過程,更多強大的擴展可以通過購買資源包自行做深度體驗。

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

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

如果需要給每個請求單獨構造請求體、請求頭、Cookie或者是URL的,那么按照PTS的文檔介紹構造完成之后上傳即可。

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

對應的,需要出參的鏈路定義一個入參,並在場景中關聯(后面場景部分再介紹)。入參的定義很簡單,主要是一個變量的申明,需要使用的的時候可以直接在文件中直接通過 #{param} 占位符來引用。舉例說明,詳情鏈路有一個名為 “itemid” 的入參,那么壓測文件中只需要 itemid=#{itemid}&age=12 這么使用即可。
4

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

前面有講到,場景中只有一個串聯鏈路,然后在串聯鏈路中添加前面配置的業務鏈路,在添加的時候如下圖所示關聯前后的出/入參,設置單個鏈路的起步和目標壓測值即可。
6
7
8

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

其他還有一系列的指令,如集合點、Cookie的導入導出等等,具體參見文檔並視業務情況使用即可。
全部配置完成之后的效果如下:
10

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

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

當壓測完成之后會自動生成報表,分為概覽和明細兩部分,話不多少直接看圖:
14

5、PTS鉑金版資源包有哪些?
PTS鉑金版的資源包選擇較多,並發最高可達100W或者更高,VUM總量上也有很多選擇,一般購買較多的是1000元以上的資源包。為了能讓更多的用戶體驗到優秀的SaaS化壓測產品,最近又重磅推出9.9的超值嘗鮮包,享有完整的功能,最高500的並發,CDN發起流量,總量1萬的VUM,也就是說500並發對應可能是幾千的TPS,如此吞吐量的情況下也能進行20分鍾的壓測哦,好用不貴!

閱讀原文


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM