天天看點

RH442-3 隊列技術

 隊列技術

<b>1.    </b><b>概述</b><b></b>

<b></b>

數值化所有可調的參數,讓任何調整都有資料支援,即隊列理論(排隊論)。由 1910 年的時候丹麥科學家 A.K.Erlang 提出來的。

l  隊列長度是可以調整的,調整隊列這樣可以優化讀寫的性能。

l  短隊列的好處:在記憶體中一個少的隊列的長度,會對我們的記憶體有利。

l  長隊列的好處:可以對多個隊列進行合并讀寫,這樣可以更少的 IO 操作,有更高的性能。

<b>2.    </b><b>隊列理論的公式</b><b></b>

<b>L = A * W</b>

l  L:隊列長度(queue length)。

#number of request指在系統中等待處理的請求的平均數,機關個。

l  A: 平均到達率。

#請求到達系統的比例,A  假如衡量标準為s,則每s有多少個請求到達。

l  W: 平均等待時間。 

#處理完成一個請求所需要的時間;(該名額也被了解為延遲、響應時間或者駐留時間)。

通常到達率A是無法改變和調整的。(如:A是每天的web通路人數。)我們主要是要要調節 "L" 和 "W" 來控制到達率的請求的處理,最大的可調性是 W 等待(處理)時間。

<b>3.  </b><b>W </b><b>總的等待</b><b>(</b><b>處理</b><b>)</b><b>時間的公式</b><b></b>

<b>W = Q + S     </b><b>或</b><b>   W = Q + (Tsys + Tuser)</b>

l  W: 總的等待(處理)時間

l  Q: 排隊等着處理的時間

l  S: 服務用的時間,S=Tsys+Tuser

n  Tsys: 系統時間(與核心有關的),内容處理這個響應排程花的時間,比上中斷,上下檔案切換。

n  Tuser: 使用者時間(是與應用程式有關的),應用程式處理應用花的時間,真實程式使用的時間

執行個體:time檢視指令處理時間

[root@station8 ~]# time dd if=/dev/zero of=test bs=1M count=500

500+0 records in

500+0 records out

524288000 bytes (524 MB) copied, 0.909336 seconds, 577 MB/s

real    0m0.911s          #W時間

user    0m0.001s          #Tuser時間

sys     0m0.910s          #Tsys時間

<b>4.    </b><b>完成率(</b><b>completion rate</b><b>)</b><b></b>

<b>B=X + O</b>

l  B:帶寬Bandwidth, 資料Data+開銷 Overhead

l  X: 速率Throughput,吞吐量,通常是要減去開銷的。就是指單純的資料(eg:Mbps)

l  O:開銷Overhead,工作中所消耗的部分(eg:Mbps)

<b>#</b><b>通常情況下帶寬B是固定的,減小開銷O可以提升速率X</b>

<b>A &amp; C</b>

l  A:到達率,同一時間的請求數(eg:packets/s)

l  C:完成率,同一時間完成的請求數(eg:packets/s)

<b>#</b><b>最理想的狀态時:到達率</b><b>A=C</b><b>完成率。</b><b> </b><b>通常情況下,到達率是外部影響的,通常是比較難調的。是以一般調整完成率。</b><b></b>

本文轉自netsword 51CTO部落格,原文連結:http://blog.51cto.com/netsword/563959

繼續閱讀