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模式施壓的方式不同,故壓測數值上的設置也會不同。
無論選擇何種壓測模式,各場景最大值的總和不可超過該賬戶下對應資源包的最大VU、RPS。
參數 | 描述 |
最大虛擬用戶權重 | 該業務會話占全場景的權重。如業務會話1置為1,業務會話2置為3,則表示各自在場景中的最大虛擬用戶總占25%和75%。 在虛擬用戶模式下,設置業務會話級別的最大虛擬用戶權重和起始百分比。虛擬用戶模式模擬的是系統承載虛擬用戶數(從客戶端業務考慮),而場景中的多個業務會話(事務)之間一般有一定的業務比例和實際吞吐關系(如下單和加購按照業務評估是1:0.8),故只需在業務會話(事務)維度,依據比例關系,設置最大虛擬用戶和起始虛擬用戶。 |
起始百分比 | 該業務會話自身的起始比例,默認10%。 |
最大RPS | 在RPS模式下,摸底的是單API(接口)的服務端吞吐能力,故需要給每個API設置最大RPS與起始RPS。 |
起始RPS | 設置單API的起始RPS。 |
批量設置 | 虛擬用戶模式和RPS模式均可以使用批量設置。
|