TPS (
transaction per second
)表明每秒執行的事務數量,可基於測試周期內完成的事務數量計算得出。
例如,用戶每分鐘執行
6
個事務,
TPS
爲
6
/ 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的影響。
用戶執行
5
個事務而且每一個事務的響應時間是
10
秒,須要花費
50
秒完成
5
個事務,即
5/50=0.1 TPS (
這裏
TPS
是由響應時間控制
)。
用戶執行
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