作者:京東零售 張強
導讀
本文主要講解了Forcebot壓測平臺之中“并發(fā)模式”與“RPS模式”兩種模式對于服務端性能指標的影響。通過“商品查詢標簽”的壓測作為具體實踐案例,簡要闡述了“并發(fā)模式”與“RPS模式”兩種模式壓測過程中TPS、TP99以及TP999差異性。希望通過本文,讀者可以對“并發(fā)模式”與“RPS模式”兩種模式相關概念有更清晰的認識,并且能夠將它們應用到具體的業(yè)務場景之中,幫助大家在實際代碼研發(fā)、壓測的時候,提供一些參考思路。
1、背景
互聯網的頭部公司,對于接口服務性能要求非常高,各個應用鏈路之間接口要求TP99響應時間在100ms以下,甚至還有要求TP999。為了達到此目標需要不斷的優(yōu)化接口邏輯性能和服務器性能。基于此前提之下,最近開發(fā)了一個“商品查詢標簽”杰夫接口(RPC),外部門要求單機200QPS、TP999響應時間要小于40ms。我們在整個壓測過程中采用了“并發(fā)模式”與“RPS模式”兩種模式,但是它們給出的展現效果有一定差異性。其中“并發(fā)模式”適用于摸底業(yè)務系統(tǒng)各節(jié)點能同時承載的在線用戶數,“RPC模式”適用于衡量系統(tǒng)的吞吐能力。
2、并發(fā)模式(虛擬用戶模式)
“并發(fā)”是指虛擬并發(fā)用戶數,從業(yè)務角度,也可以理解為同時在線的用戶數。 適用場景:如果需要從客戶端的角度出發(fā),摸底業(yè)務系統(tǒng)各節(jié)點能同時承載的在線用戶數,可以使用該模式設置目標并發(fā)。以下是通過并發(fā)模式(虛擬用戶模式)簡單的請求流程圖:
綜上所述:
1)發(fā)壓機按照設置的并發(fā)數,持續(xù)向目標服務端發(fā)起請求,經過網絡傳輸和杰夫線程池后,到達具體的方法內部執(zhí)行邏輯。
2)壓力機監(jiān)控的性能指標(TP99、TP999)的總時長為網絡傳輸耗時、杰夫線程等待耗時和方法耗時三者相加。
3)壓力機監(jiān)控的TPS指標為單位時間內持續(xù)發(fā)出的請求總和。
實踐案例:
?forcebot監(jiān)控(并發(fā)用戶數:1;TPS平均:330;TP99:4ms;TP999:5ms)
?umpkey監(jiān)控(QPS:300;TP99:1ms;TP999:1ms)
3、RPS模式
RPS(Requests Per Second)是指每秒請求數。 適用場景:RPS模式即“吞吐量模式”,通過設置每秒發(fā)出的請求數,從服務端的角度出發(fā),直接衡量系統(tǒng)的吞吐能力,免去并發(fā)到RPS的繁瑣轉化一步到位。以下是通過RPS簡單的請求流程圖:
?綜上所述:
1)發(fā)壓機按照設置的并發(fā)數,同時向目標服務端發(fā)起請求,經過網絡傳輸和杰夫線程池后,到達具體的方法內部執(zhí)行邏輯。
2)壓力機監(jiān)控的性能指標(TP99、TP999)的總時長為網絡傳輸耗時、杰夫線程等待耗時和方法耗時三者相加。
3)壓力機監(jiān)控的TPS指標為單位內一次性發(fā)出的請求數量。
?實踐案例:
?forcebot監(jiān)控(并發(fā)用戶數:50;TPS平均:47;TP99:6ms;TP999:60ms)
?umpkey監(jiān)控(QPS:50;TP99:1ms;TP999:1ms)
4、總結
經過“并發(fā)模式”與“RPS模式”兩種模式實踐應用數據的對比,總結出以下經驗可以供大家參考。希望此文對大家后續(xù)做服務接口性能壓測有一定的幫助和啟發(fā)。
1)“并發(fā)模式”并發(fā)用戶數少于“RPS模式”并發(fā)用戶數,但是forcebot壓測事務對應TPS(最大/平均)的數量前者大于后者以及服務端UMP監(jiān)控到QPS也是前者大于后者。
具體原因:“并發(fā)模式”是按照預先設置并發(fā)用戶數持續(xù)不斷的發(fā)送請求,所以在秒級收到的請求數量總和為QPS。然而“RPS模式”是按照預先設置并發(fā)用戶數同時一次性將請求發(fā)出,并且秒級時間范圍內不持續(xù)。所以它的秒級QPS只是這一次發(fā)出請求數量。
2)“并發(fā)模式”的并發(fā)用戶數少于“RPS模式”的并發(fā)用戶數并且服務端收到QPS前者大于后者的前提之下,forcebot壓測事務對應TP99/TP999的性能指標前者優(yōu)于后者。
具體原因:“并發(fā)模式”的并發(fā)用戶數少于“RPS模式”的并發(fā)用戶數,同時能夠到達杰夫線程池的任務數前者少于后者,所以杰夫線程池任務緩沖區(qū)處于等待的任務就相對較少、等待時間較短。最終計算TP99/TP999性能的時候,“并發(fā)模式”的性能更優(yōu)于“RPS模式”的性能。
3)“并發(fā)模式”和“RPS模式”方法內部UMP監(jiān)控的時候,可用率、TP99和TP999等性能指標都遠遠優(yōu)于forcebot壓測事務監(jiān)控指標。
具體原因:壓測請求傳輸過程中,會經過跨網絡傳輸、杰夫線程池等重要節(jié)點,這兩個節(jié)點的耗時對于forcebot壓測事務監(jiān)控指標也有非常大的影響。例如:服務端的young gc或full gc等都會影響到杰夫線程的暫停,導致最終forcebot壓測事務監(jiān)控指標遠遠高于實際方法內部UMP監(jiān)控到的值。
審核編輯 黃宇
-
接口
+關注
關注
33文章
8617瀏覽量
151316 -
監(jiān)控
+關注
關注
6文章
2212瀏覽量
55243
發(fā)布評論請先 登錄
相關推薦
評論