Linux系統(tǒng)調(diào)優(yōu)02——隊(duì)列調(diào)優(yōu)原理_第1頁(yè)
Linux系統(tǒng)調(diào)優(yōu)02——隊(duì)列調(diào)優(yōu)原理_第2頁(yè)
Linux系統(tǒng)調(diào)優(yōu)02——隊(duì)列調(diào)優(yōu)原理_第3頁(yè)
Linux系統(tǒng)調(diào)優(yōu)02——隊(duì)列調(diào)優(yōu)原理_第4頁(yè)
Linux系統(tǒng)調(diào)優(yōu)02——隊(duì)列調(diào)優(yōu)原理_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 Linux系統(tǒng)性能調(diào)優(yōu) 隊(duì)列調(diào)優(yōu)原理1本章目標(biāo)了解隊(duì)列原理的基本概念了解隊(duì)列條調(diào)優(yōu)的的基本原則與核心思想2隊(duì)列原理隊(duì)列原理的核心思想Littles Law:在1961年由John Little以數(shù)學(xué)形式表現(xiàn)出來(lái):便于技術(shù)人員實(shí)現(xiàn)性能管理及對(duì)性能調(diào)優(yōu)建立量化的衡量與操作標(biāo)準(zhǔn);Littles Law L=AWL隊(duì)列長(zhǎng)度:系統(tǒng)中等待處理的請(qǐng)求數(shù)量;等同于(number of request) queue lenth;A到達(dá)率:若以秒為計(jì)算單位,則表示每秒有多少請(qǐng)求到達(dá);W等待時(shí)間:處理完成一個(gè)請(qǐng)求所需要的時(shí)間;等同于延遲、響應(yīng)時(shí)間或駐留時(shí)間;3隊(duì)列原理在實(shí)際應(yīng)用中的體現(xiàn)Littles Law L=

2、AW的體現(xiàn):例如iostat可以告知每秒鐘讀寫(xiě)的量以及請(qǐng)求數(shù)量。4隊(duì)列原理的實(shí)現(xiàn)方式與調(diào)優(yōu)原則隊(duì)列的實(shí)現(xiàn)方式:隊(duì)列基于優(yōu)先級(jí)實(shí)現(xiàn)并有兩種實(shí)現(xiàn)方式:針對(duì)資源建立多個(gè)隊(duì)列;隊(duì)列饑餓的現(xiàn)象將普遍存在;只使用一個(gè)隊(duì)列;在隊(duì)列頭部合并一些緊急任務(wù);不管使用哪種方式;通過(guò)一定的邏輯性防止隊(duì)列饑餓;真實(shí)的隊(duì)列算法通常會(huì)合并讀寫(xiě)兩種操作到隊(duì)列中;隊(duì)列調(diào)優(yōu)的基本原則:挑選優(yōu)秀的隊(duì)列算法來(lái)更邏輯、合理和高效地處理請(qǐng)求;控制隊(duì)列長(zhǎng)度:短隊(duì)列有利于節(jié)省內(nèi)存和減少中斷,長(zhǎng)隊(duì)列有利于有效排列和處理請(qǐng)求:一般只能調(diào)整L與W,A無(wú)法控制;等待時(shí)間與隊(duì)列長(zhǎng)短有直接關(guān)系,因此盡可能地控制等待時(shí)間;往往通過(guò)調(diào)優(yōu)只能實(shí)現(xiàn)對(duì)后端到達(dá)率

3、的控制且用戶請(qǐng)求和系統(tǒng)處理能力始終存在差異;在大多數(shù)情況下需要作出取舍:讀相對(duì)于寫(xiě)應(yīng)具備更高的優(yōu)先級(jí),因此隊(duì)列優(yōu)化應(yīng)該盡可能先滿足讀的需求;5影響隊(duì)列的因素等待時(shí)間(W)關(guān)于等待時(shí)間W:包括“隊(duì)列時(shí)間”和“服務(wù)時(shí)間”隊(duì)列時(shí)間:資源從不可用到可用的時(shí)間服務(wù)時(shí)間:處理請(qǐng)求所用的時(shí)間因此:L=A(Q+S)隊(duì)列調(diào)優(yōu)的策略:減少隊(duì)列時(shí)間和服務(wù)時(shí)間同時(shí)服務(wù)時(shí)間通常包含系統(tǒng)時(shí)間(T sys)和用戶時(shí)間(T usr)T usr 任務(wù)真正在CPU上得到處理的時(shí)間;T sys 用于kernel處理上的時(shí)間;若程序大量占用系統(tǒng)時(shí)間(中斷,IO,系統(tǒng)調(diào)用),則表明程序效率低,故原則上通過(guò)優(yōu)化應(yīng)用程序盡量將系統(tǒng)時(shí)間縮短

4、;若程序大量占用用戶時(shí)間則說(shuō)明程序?qū)PU的使用較高;在Linux中,通過(guò)time命令可以獲得T usr和T sys的信息;但 T usr + T sys不一定等于Real Time;排隊(duì)時(shí)間;進(jìn)程試圖和Kernel交互時(shí)會(huì)等待并sleep;6降低等待時(shí)間的原則與方法隊(duì)列調(diào)優(yōu)的重要方法:找到程序執(zhí)行的“熱點(diǎn)”:例如:# strace -fc elinks -dump 顯示系統(tǒng)調(diào)用以及隨之產(chǎn)生的folk子進(jìn)程系統(tǒng)調(diào)用角度# ltrace -Sfc elinks -dump 顯示系統(tǒng)和庫(kù)的調(diào)用以及隨之所產(chǎn)生的folk子進(jìn)程庫(kù)調(diào)用角度(任何一個(gè)用戶層程序試圖訪問(wèn)Kernel層(ring 0)時(shí)的過(guò)程

5、稱(chēng)為system call,任何應(yīng)用程序和內(nèi)核交互都要通過(guò)system call,應(yīng)用程序一般通過(guò)glibc來(lái)和system call進(jìn)行交互來(lái)間接實(shí)現(xiàn)對(duì)Kernel的訪問(wèn)。)7降低等待時(shí)間的原則與方法隊(duì)列調(diào)優(yōu)的重要方法:8完成量另外一個(gè)重要概念完成量:前提概念:Bandwidth(帶寬): data + overhead指在給定時(shí)間之內(nèi)通過(guò)的固定大小為單位的數(shù)據(jù)單位總量同等條件下實(shí)際通過(guò)的固定大小單位的數(shù)據(jù)總量Throughput(吞吐量): data only (e.g., Mbps)在給定時(shí)間內(nèi)通過(guò)的有用的數(shù)據(jù)量Overhead(開(kāi)銷(xiāo)): cost of doing work (e.g.

6、, Mbps)傳輸有用數(shù)據(jù)時(shí)產(chǎn)生的消耗Complete Rate(完成率):處理完成的請(qǐng)求數(shù)量;因此:帶寬 = 吞吐量 + 開(kāi)銷(xiāo);因此“吞吐量”理論上即“完成量”;完成量和開(kāi)銷(xiāo)有直接關(guān)系:帶寬固定的情況下,開(kāi)銷(xiāo)越小,完成量越大;為了提高完成量,減少開(kāi)銷(xiāo)是最有效的手段;9完成量另外一個(gè)重要概念完成量:完成量的計(jì)算(單位時(shí)間的完成量=總完成量/觀察時(shí)間): CompletionsX = - Observation period減少損耗意味著增加吞吐量以及增加完成量(completions)。提高完成率的核心思想提高完成量,降低和減少開(kāi)銷(xiāo):采用更高效的協(xié)議;采用更高效的算法;減少可能產(chǎn)生其他開(kāi)銷(xiāo)的各

7、種因素;(例如,若希望減少開(kāi)銷(xiāo)為應(yīng)用程序選用UDP協(xié)議,如果在網(wǎng)絡(luò)丟包的情況下應(yīng)用程序?qū)?huì)發(fā)起重傳請(qǐng)求。比較復(fù)雜的應(yīng)用程序可能會(huì)因此產(chǎn)生比使用TCP更多的開(kāi)銷(xiāo)。)10完成量對(duì)隊(duì)列調(diào)優(yōu)的影響針對(duì)完成量調(diào)優(yōu)的目標(biāo):前提概念:到達(dá)率Arrival rate (A): rate at which work is requested (e.g., packets/s)到達(dá)的請(qǐng)求數(shù)量;觀察周期Observation period: discrete time spent observing resources (e.g., 1 s)觀察時(shí)間;穩(wěn)定狀態(tài)Steady state: condition in w

8、hich A=C穩(wěn)定狀態(tài),即A=C的狀態(tài);最終的調(diào)優(yōu)目標(biāo):到達(dá)率的平均值=完成量的平均值11定義合適的觀察周期確定適當(dāng)?shù)挠^察周期:觀察周期的設(shè)置應(yīng)遵從原則:以1s作為觀察期并收集觀察數(shù)據(jù),通過(guò)Littles法則來(lái)對(duì)比觀察結(jié)果,觀測(cè)到的值是否和計(jì)算值一致?若是則證明觀測(cè)期設(shè)置是合理的,否則就需要調(diào)整觀測(cè)期到更長(zhǎng)時(shí)間。12隊(duì)列調(diào)優(yōu)的整體思想因此,隊(duì)列調(diào)優(yōu)的思想:Littles Law的變體:L=AW;L=A( Q + S );L=A( Q + ( St + Su ) );根據(jù)Littles Law所體現(xiàn)的調(diào)優(yōu)思想:調(diào)整隊(duì)列L:對(duì)隊(duì)列的調(diào)整主要在于限制隊(duì)列的長(zhǎng)度到一定的值;對(duì)隊(duì)列進(jìn)行重新調(diào)整以適應(yīng)讀操作;盡可能低優(yōu)化到達(dá)率A: 通過(guò)將負(fù)載分擔(dān)到多個(gè)資源(SMP,RAID)以實(shí)現(xiàn)降低訪問(wèn)量; 采用更有效和更小開(kāi)銷(xiāo)的協(xié)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論