PTS支持兩種壓力模式,分別為并發模式(即虛擬用戶模式)和RPS模式(即Requests Per Second,每秒請求數,吞吐量模式)。 本文為您介紹這兩種壓力模式的區別,以便您根據自身業務場景選擇更合適的壓力模式。
并發模式
“并發”是指虛擬并發用戶數,從業務角度,您也可以理解為同時在線的用戶數。
應用場景
如果您需要從客戶端的角度出發,摸底業務系統各節點能同時承載的在線用戶數,可以使用該模式設置目標并發。
使用說明
- 并發模式下,您需要指定全場景的最大并發數,再設置各串聯鏈路的并發權重。
- 串聯鏈路內各API的響應速度不同(表現為響應時間不同),所以單位時間內API的并發數也會不同。API響應速度越快,單位時間內累積在API上的并發用戶數越少。
假設,目前共有100個虛擬用戶需要操作某個事務(即串聯鏈路)。該串聯鏈路中共有2個API,API 1的響應速度快而API 2響應速度慢。則更多的虛擬用戶將會等待在API 2上,API 2則需要更多的線程資源來處理更多的虛擬用戶請求。
RPS模式
RPS(Requests Per Second)是指每秒請求數。
應用場景
RPS模式即吞吐量模式,通過設置每秒發出的請求數,幫助您從服務端的角度出發,直接衡量系統的吞吐能力,免去從并發到RPS的繁瑣轉化,可快速實現壓測。
使用說明
- API接口(如電商加購物車、下單等)主要用TPS(Transaction Per Second, 每秒事務數)來衡量系統的吞吐能力,選擇該模式可以直接按照預期的TPS設置RPS。如果希望檢驗“下單”接口是否能達到500 TPS的預期,那么設置RPS為500,每秒發送500個請求,可檢驗系統的吞吐能力。
- 該模式下,請求無法及時響應時可能會導致較高的并發,異常情況請及時停止。
- 該模式僅支持非自動遞增進行壓測,即您需在壓測過程中手工調速。具體操作,請參見手動調速模式下調速。
- 同一鏈路中,后一個API的RPS值需小于等于前一個API的RPS值。
基于您的實際業務考慮,一般正常業務鏈路轉化模型應該為漏斗形狀。例如,您的正常業務鏈路為:查看首頁-查看商品詳情-加入購物車-下單-付款。那么通常情況下,查看首頁的用戶數會比查看商品詳情的用戶數多,查看商品詳情的用戶數也會比加入購物車的用戶數多,以此類推,所以后一個API的RPS值需小于前一個API的值,這樣就比較符合漏斗模型。
配置量級及數據
設置好壓測模式后,您還需要在施壓配置頁面設置壓測起始量級與最大量級。
壓測數值
每個API可以視為業務系統的一個節點,處理能力不同導致可承載的業務量也不一致。并發模式與RPS模式施壓的方式不同,故壓測數值上的設置也會不同。
參數 | 描述 |
最大并發權重 | 該串聯鏈路占全場景的權重。如串聯鏈路1置為1,串聯鏈路2置為3,則表示各自在場景最大并發總占25%和75%。 在并發模式下,設置串聯鏈路級別的最大并發權重和起始百分比。并發模式摸底的是系統承載并發用戶數(從客戶端業務考慮),而場景中的多個串聯鏈路(事務)之間一般有一定的業務比例和實際吞吐關系(如下單和加購按照業務評估是1:0.8),故只需在串聯鏈路(事務)維度,依據比例關系,設置最大并發和起始并發。 |
起始百分比 | 該串聯鏈路自身的起始比例,默認10%。 |
最大RPS | 在RPS模式下,摸底的是單API(接口)的服務端吞吐能力,故需要給每個API設置最大RPS與起始RPS。 |
起始RPS | 設置單API的起始RPS。 |
批量設置 | 并發模式和RPS模式均可以使用批量設置。
|