TPS及計算方法

TPS ( transaction per second )表明每秒執行的事務數量,可基於測試周期內完成的事務數量計算得出。 例如,用戶每分鐘執行 6 個事務, TPS / 60s = 0.10 TPS 。同時咱們會知道事務的響應時間(或節拍),以此例,60秒完成6個事務也同時表明每一個事務的響應時間或節拍爲10秒。
 
利特爾法則   (Little’s law):
該法則由麻省理工大學斯隆商學院(MIT Sloan School of Management)的教授John Little﹐於1961年所提出與證實。它是一個有關提早期與在製品關係的簡單數學公式,這一法則爲精益生產的改善方向指明瞭道路。
 
利特爾法則的公式描述爲: Lead Time( 產出時間 )= 存貨數量 × 生產節拍     或      TH( 生產效率 )= WIP( 存貨數量 )/ CT( 週期時間 )
P.S: 稍後咱們會列出負載模型中利特爾法則的應用公式。
 
咱們經過2個示例來看一下此法則是如何在生產環境中發生做用的。
 
1 :假定咱們所開發的併發服務器,併發的訪問速率是: 1000 客戶 / 分鐘,每一個客戶在該服務器上將花費平均 0.5 分鐘,根據 little's law 規則,在任什麼時候刻,服務器將承擔 1000×0.5 500 個客戶量的業務處理。假定過了一段時間,因爲客戶羣的增大,併發的訪問速率提高爲 2000 客戶 / 分鐘。在這樣的狀況下,咱們該如何改進咱們系統的性能? 根據 little's law 規則,有兩種方案:
 
第一:提升服務器併發處理的業務量,即提升到 2000×0.5 1000 或者
第二:減小服務器平均處理客戶請求的時間,即減小到: 2000×0.25 500
 
2 :假設你排隊參觀某個風景點,該風景點固定的容納人數是: 60 人。每一個人在該風景點停留的平均時間是: 3 分鐘。假設在你的前面還排有 20 我的,問:你估計你大概等多少時間才能進入該風景點。
答案: 1 小時( 3×20=60 ),和該景點固定的容納人數無關。
 
爲了經過 利特爾法則研究負載模型,咱們就先要了解兩個因子: 響應時間( Response time )和節拍( Pacing )。實際上節拍會超越響應時間對TPS的影響。
 
示例 1 :節拍 0秒, 思考時間 0秒
用戶執行 5 個事務而且每一個事務的響應時間是 10 秒,須要花費 50 秒完成 5 個事務,即 5/50=0.1 TPS ( 這裏 TPS 是由響應時間控制 )。
 
示例 2 :速率 15 秒,思考時間 0秒
用戶執行 5 個事務且每一個事務的響應時間是 10 秒,但實際因爲節拍大於響應時間,因此它優於響應時間控制了事務發生的頻率。完成5個事務須要 5*15 = 75秒,產生 5/75=0.06667 TPS。
 
在第二個示例中,平均響應時間小於節拍15秒,須要75秒完成5個迭代,產生了0.06667 TPS。
 
上面兩個例子中咱們假設思考時間爲0秒。若是思考時間爲2秒,總時間還是75秒完成5個迭代,產生0.06667 TPS。
 
節拍爲0秒,則     用戶數 = TPS * ( 響應時間 + 思考時間 )
節拍不爲0秒且大於響應時間與思考時間的和,則     用戶數 = TPS * (速率)
 
事實上TPS是事務在w.r.t時間的速率,因此也被稱爲吞吐量(throughput)。
因此 利特爾法則在負載模型中解釋爲: 系統內平均用戶數 = 平均響應時間 * 吞吐量
N = ( R + Z ) * X
N, 用戶數
R, 平均響應時間(也多是速率)
Z, 思考時間
X, 吞吐量(如TPS)
 
如: N (用戶數)=1500, R (平均響應時間)=10, Z (思考時間)=0,則X (吞吐量)=1500/10=150 TPS
相關文章
相關標籤/搜索