顯示具有 Permance Monitoring 標籤的文章。 顯示所有文章
顯示具有 Permance Monitoring 標籤的文章。 顯示所有文章

2009年11月15日 星期日

CPU time的定義

CPU Time指的是CPU實際工作的時間,理論上可用下列式子表示

image  
其中,

Cycle Time 是指CPU電路閃一次所需的時間,為我們平常聽到的頻率(GHz) 的倒數,與CPU的 model有關

Path length則是指完成一個交易,所要執行的CPU指令的數目。這個值與 CPU的架構以及Compiler的品質有關。不同的CPU架構決定了不同的指令集;而好的 Compiler能夠將程式轉換成執行起來較有效率的指令群。

Cycles/Instructions 則是指平均需要多少次的CPU cycle,才能執行完一個CPU指令。對於較簡單的指令,主機可在一次的CPU cycle中,指行多次;而對於較複雜的指令,則可能需要多個CPU cycle可能執行完成

由此定義可知,影響 CPU 速率的因子,除了一般大家所知的 Cycle time之外,還受Path length及 Cycles/Instructions所影響,因此不能單純由CPU的時脈,就決定那個CPU處理交易的速度較快

系統Utilization Rate與 ETR的關係

系統的Utilization Rate定義了單位時間內,系統真正有在做事情的時間百分比。依此定義,可以用下列公式表示

image

考慮只有一台Server的情況下,Busy_Time為單位時間的交易處理量   乘上   單一交易所需的處理時間,如下公式

image

將Busy_Time代入上面 U% 的式子,可得到

image

其中 #Transactions/Elapsed_time 即為 ETR(External Transaction Rate),因此,這個式子又可寫成

image

External Transaction Rate (ETR) 與 (Internal Transaction Rate) ITR的關係

在計算資訊系統的Capacity(處理能力)時,有兩個數值,一個是External Transaction Rate(ETR),另一個是Internal Transaction Rate(ITR)。

ETR:是系統外部的使用者所觀察到的單位時間內,系統能處理的交易數。依此定義,ETR可由下列公式表示


image

若將Elapse Time進一步分解,可得到下列公式:


image

其中,N是處理的交易量;Tt 是使用者在執行交易時的Think Time;而 Tr 則是系統的回應時間。對於ETR來說,IT人員能控制的因子只有Tr,因此要維持用 ETR定出來的Service Level Agreement會有困難。
另外,任何bottleneck都會影響ETR,如I/O的限制、page delay、tape mount delay…等


 

ITR:指的是系統內單位CPU時間內,能處理的交易數。依此定義,ITR可由下列公式表示

image

ITR與下列因子相關:  CPU的速度(CPU快愈快,ITR高)、作業系統(作業系統好,ITR高)、交易的屬性(交易愈簡單,ITR愈高)

若把ETR除以ITR,可以得到

ETR/ITR = CPU_time/Elapsed_time ,即

ETR/ITR = CPU utilization_rate。因此,當CPU的使用率在百分之百時,ETR會等於ITR

2009年11月11日 星期三

Little's Law

Little's Law由 MIT Sloan School of Management的教授John Little﹐於1961年所提出與證明,用在估計一穩定流動的系統內元素的“庫存量“﹐例如商店中的客人數﹑生產線中的半成品數量。 下圖簡述一下Little's Law的精神。

假設元素進到某個系統的速率為 Q,元素離開該系統的速率為Q’,在這樣的情形下,平均在該系統內的元素量為 N,每個元系平均停留在該系統的時間為 T。則當系統處於一個穩定狀態時,Q 等於Q’,而此時Q’和 N及T存在一個關係

Q’ =  N/T

image

換個角度來看 在一個Queue(系統)中可觀察到的請求數量 N,會等於系統完成該請求的速率 與 處理請求平均所需時間的乘積。若再把處理請求所需的時間分成
Tr: 平均系統處理請求所需時間
Tt: 平均使用者的Think Time
上述方程式可寫成

Q’ =  N/ (Tr + Tt)