Linux桌面操作系统性能分析学习总结
1.什么是計(jì)算機(jī)性能
所謂計(jì)算機(jī)的性能(Performance)通常是指計(jì)算機(jī)的速度,它是程序執(zhí)行時(shí)間的倒數(shù)。而程序執(zhí)行時(shí)間是指用戶向計(jì)算機(jī)送入一個(gè)任務(wù)后,直到獲得他需要的結(jié)果這一段等待時(shí)間。
包括:
1.訪問磁盤和訪問存儲器的時(shí)間
2.CPU?運(yùn)算時(shí)間
3.I/O?動作時(shí)間
4.操作系統(tǒng)的開銷時(shí)間等。
2.Linux桌面操作系統(tǒng)性能分析意義
1.操作系統(tǒng)的性能直接影響了其上應(yīng)用系統(tǒng)的性能
2.性能評估結(jié)果是用戶在操作系統(tǒng)選購過程中的重要參考指標(biāo)
3.為開發(fā)者優(yōu)化操作系統(tǒng)的性能提供指導(dǎo)
4.為操作系統(tǒng)的評測提供依據(jù)
3.Linux桌面操作系統(tǒng)性能分析難點(diǎn)
?1.應(yīng)用千差萬別
?2.測試點(diǎn)過多
?3.依賴多種因素和特征
?4.沒有針對性
?5.沒有實(shí)際應(yīng)用前景
4.如何評測計(jì)算機(jī)的性能
1.機(jī)器級的性能評測
機(jī)器級的性能評測,包括?CPU?和存儲器的某些基本性能指標(biāo),計(jì)算機(jī)的可用性與有效性以及機(jī)器成本、價(jià)格與性/價(jià)比等,它是引進(jìn)和購買計(jì)算機(jī)時(shí)最主要的選擇依據(jù)。
2.算法級的性能評測
算法級的性能評測方法主要用于并行機(jī)評測,最初大都是為了評價(jià)并行算法的性能提出的,后來這些評測方法也被推廣到并行程序上。
3.程序級的性能評測
程序級的性能評測主要是使用一組基準(zhǔn)測試程序(Benchmark)測試和評價(jià)計(jì)算機(jī)系統(tǒng)的各種性能。
5.測試程序準(zhǔn)確度層次
1.真實(shí)程序
通過運(yùn)行實(shí)際應(yīng)用程序,?例如?C?語言的各種編譯程序、?Tex?文本處理軟件、?CAD?設(shè)計(jì)工具?Spice等
2.核心程序
它是從實(shí)際程序中抽取少量但很關(guān)鍵的代碼段,并以此來評估程序性能
3.小測試程序
這些測試程序的代碼長度一般在100行之內(nèi),用戶可以根據(jù)自己的目的隨時(shí)編寫一些小段程序,并按已預(yù)知的輸出結(jié)果(如皇后問題、排序問題、求素?cái)?shù)等)來判斷機(jī)器的性能。
4.綜合測試程序
它是首先對大量的應(yīng)用程序中的操作進(jìn)行統(tǒng)計(jì),得到各種操作比例,再以此比例人為制造出測試程序。
?
6.基準(zhǔn)測試
??6.1?含義
基準(zhǔn)測試程序用于測試和預(yù)測計(jì)算機(jī)系統(tǒng)的性能,?揭示不同結(jié)構(gòu)機(jī)器的長處和短處,為用戶決定購買或使用哪種機(jī)器最適合他們的應(yīng)用要求提供決策。基準(zhǔn)測試程序試圖提供一個(gè)客觀、公正的評價(jià)機(jī)器性能的標(biāo)準(zhǔn)。
??6.2?分類
宏觀微觀:
宏觀基準(zhǔn)測試程序(Macro-benchmark)和微觀基準(zhǔn)測試程序(Micro-benchmark)兩大類。?前者將計(jì)算機(jī)系統(tǒng)作為一個(gè)整體來測試其性能,它相對于某一應(yīng)用類來比較不同的計(jì)算機(jī)系統(tǒng),所以對機(jī)器買主很有用,但它不能揭示計(jì)算機(jī)系統(tǒng)性能好、壞的原因。后者是測試機(jī)器的某一特定方面的性質(zhì),如CPU速度、存儲器速度、I/O速度、OS性能、網(wǎng)絡(luò)特性等。
應(yīng)用類別:
定點(diǎn)性能
浮點(diǎn)性能
Web服務(wù)性能
數(shù)據(jù)處理性能
系統(tǒng)軟件性能
科學(xué)與工程計(jì)算性能
6.3?主要的基準(zhǔn)測試工具
LMBENCH
是由SGI的Larry?McVoy所維護(hù),是一種用于測試不同?Unix?平臺上?OS?開銷以及處理器、高速緩存、主存、網(wǎng)絡(luò)和磁盤之間數(shù)據(jù)傳輸能力的可移植的基準(zhǔn)測試程序。
Whetstone?
比較不同的計(jì)算機(jī)的浮點(diǎn)性能而設(shè)計(jì)的綜合性基準(zhǔn)測試程序。LMbench?著重測量以下內(nèi)核組件:調(diào)度程序、進(jìn)程管理、通信、聯(lián)網(wǎng)、內(nèi)存映射和文件系統(tǒng)。
Dhrystone
主要為測試整數(shù)與邏輯運(yùn)算性能而設(shè)計(jì)的綜合型基準(zhǔn)測試程序Whetstone,Dhrystone不能預(yù)測用戶程序性能,這些基準(zhǔn)程序的主要缺點(diǎn)是對編譯程序比較敏感。
LinPACK
測試的基準(zhǔn)是用全精度64位字長的子程序求解100階線性方程組的速度,測試的結(jié)果以Mflops(每秒百萬次浮點(diǎn)運(yùn)算)作單位給出。
SPEC
原主要是測試CPU性能的,現(xiàn)在強(qiáng)調(diào)開發(fā)能反映真實(shí)應(yīng)用(如實(shí)際負(fù)載等)的基準(zhǔn)測試程序,并已推廣至客戶/服務(wù)器計(jì)算、商業(yè)應(yīng)用、I/O子系統(tǒng)等。
Unixbench
應(yīng)用比較廣泛的Unix類操作系統(tǒng)性能測試工具之一,它屬于微觀基準(zhǔn)測試程序,它主要從CPU浮點(diǎn)運(yùn)算能力,以不同緩沖區(qū)大小拷貝不同大小文件,管道吞吐量,進(jìn)程生成速度,系統(tǒng)調(diào)用開銷等方面來測試Linux相關(guān)性能。
Xbench
主要測試?xwindow?圖形界面的性能。
IOzone
文件系統(tǒng)的評測工具,對Read,write,re-read,re-write,read?backwards,read
strided,fread,fwrite,random?read,pread,mmap,aio-read,aio_write?等一系列文件I/O性能進(jìn)行了評測,是十分有用的文件系統(tǒng)性能分析工具。
Ltp?
最大的?Linux?性能測試團(tuán)體?Linux?test?project?開展的開源測試項(xiàng)目,?這個(gè)團(tuán)體專門從事?Linux?性能測試研究。?這個(gè)項(xiàng)目收集了各種?Linux?內(nèi)核測試工具和相關(guān)資料,?它的目標(biāo)就是為了通過把自動化測試引入到?Linux?內(nèi)核測試以提高Linux?內(nèi)核性能。
?
6.4?現(xiàn)狀和不足
?Linux?基準(zhǔn)測試程序都是微觀基準(zhǔn)測試程序,都是在測試機(jī)器的某一特定方面的性質(zhì),分別著重于?CPU?速度、存儲器速度、I/O?速度、網(wǎng)絡(luò)特性等等某一方面或多個(gè)方面,偏重于硬件。把?Linux?操作系統(tǒng)作為一個(gè)整體,針對?Linux?的操作系統(tǒng)性能的宏觀基準(zhǔn)測試程序目前還沒有。
現(xiàn)有的Linux測試工具都是基于微觀基準(zhǔn)測試程序,對于操作系統(tǒng)而言微觀可測點(diǎn)實(shí)在是太多,寫一個(gè)全面的基于自頂向下三層的全面測試工具工作量大,并且也沒有太大實(shí)用價(jià)值。畢竟應(yīng)用是千差萬別的,不利于在有限的時(shí)間內(nèi)快速的得出?Linux?版本性能優(yōu)劣結(jié)論。
7.性能評測方法學(xué)
如何進(jìn)行性能評測,一般一個(gè)性能評測的實(shí)際解決方案應(yīng)該包括以下三個(gè)方面:
1.讓被評測系統(tǒng)處于壓力負(fù)荷下;
2.測量系統(tǒng)執(zhí)行有效特定任務(wù)的能力,執(zhí)行特定任務(wù)的耗時(shí),執(zhí)行特定任務(wù)的?CPU?利用率;
3.基于性價(jià)比考慮進(jìn)行改進(jìn)。進(jìn)行性能評測分析的目的是為了幫助開發(fā)人員更好更深層次的理解系統(tǒng),?找出系統(tǒng)瓶頸,并作出相應(yīng)的改進(jìn)。
?
8.三種性能評價(jià)技術(shù)
1.分析技術(shù)(modeling)
分析技術(shù)也叫建模分析,在一定假設(shè)條件下,計(jì)算機(jī)系統(tǒng)參數(shù)與性能指標(biāo)參數(shù)之間存在著某種函數(shù)關(guān)系,按其工作負(fù)載的驅(qū)動條件列出方程,用數(shù)學(xué)方法求解。
2.模擬技術(shù)(simulation)
模擬技術(shù)按被評價(jià)系統(tǒng)的運(yùn)行特性建立系統(tǒng)模型;?按系統(tǒng)可能有的工作負(fù)載特性建立工作負(fù)載模型;語言編寫模擬程序,模仿被評價(jià)系統(tǒng)的運(yùn)行;設(shè)計(jì)模擬實(shí)驗(yàn),依照評價(jià)目標(biāo),選擇與目標(biāo)有關(guān)因素,得出實(shí)驗(yàn)值,再進(jìn)行統(tǒng)計(jì)、分析。該技術(shù)的特點(diǎn)是可應(yīng)用于設(shè)計(jì)中或?qū)嶋H應(yīng)用中的系統(tǒng),可與分析技術(shù)相結(jié)合,構(gòu)成一個(gè)混合系統(tǒng)。
3.測量技術(shù)(measurement)
測量技術(shù)只能對已投入使用的系統(tǒng)進(jìn)行測量,?通常采用不同層次的基準(zhǔn)測試。
9.工作量選區(qū)(workload)
工作量就是模擬實(shí)際工作的工作任務(wù),一個(gè)工作量它要產(chǎn)生針對該被評測系統(tǒng)實(shí)際工作應(yīng)用的典型的工作任務(wù),并且該工作任務(wù)應(yīng)該對系統(tǒng)產(chǎn)生相應(yīng)的壓力負(fù)荷?,一個(gè)好的性能評測工作量應(yīng)該包括以下基本特征。
???可測量性
???可反復(fù)性
???不變性
???典型性
10.自頂向下分析法
1.系統(tǒng)層(System?Level):包括處理器、內(nèi)存、硬盤、網(wǎng)絡(luò)等;(硬件資源)
2.應(yīng)用層(Appalication?Level):包括鎖、線程、堆、API?等;(程序資源)1
3.微結(jié)構(gòu)層(Micro-Achitecture):包括數(shù)據(jù)隊(duì)列、循環(huán)結(jié)構(gòu)、cache?優(yōu)化等。
11.衡量Linux桌面系統(tǒng)性能評價(jià)的主要標(biāo)準(zhǔn)和參數(shù)
1.響應(yīng)時(shí)間(Elapsed?Time)
內(nèi)核完成某一任務(wù)(程序)所花費(fèi)的時(shí)間,如磁盤訪問、存儲器訪問、輸入/
輸出等待。
2.CPU?時(shí)間
程序在CPU中的執(zhí)行時(shí)間。以秒為單位。
3.CPU?利用率
?
12.衡量Linux桌面操作系統(tǒng)性能評價(jià)的主要標(biāo)準(zhǔn)
提供一個(gè)統(tǒng)一的、客觀的、公正的和可相互比較的評價(jià)計(jì)算機(jī)的標(biāo)準(zhǔn)。
1.權(quán)威性
????不是自己憑空想象,要有可靠的理論及事實(shí)依據(jù)支撐,業(yè)界廣泛認(rèn)可。
2.系統(tǒng)化
????不是現(xiàn)有benchmark和工具的簡單組合,而是能夠系統(tǒng)化評估整機(jī)性能的方案。
????它能夠反映出整個(gè)計(jì)算機(jī)軟件及硬件的綜合處理能力,而不單純是軟件或者硬件,也就是說同一個(gè)硬件平臺上測試,能夠反映出不同操作系統(tǒng)性能不同,且在同一個(gè)操作系統(tǒng),在不同的硬件平臺上,性能測試也應(yīng)該有所不同。
3.全面性
????是對整機(jī)的整體性能測試,不是單純的某個(gè)硬件或者某一方面能力的測試。
4.實(shí)用
????要求該方法有實(shí)用價(jià)值,參考意義。?
5.公正性
????不一某些利益為目的的。
?
13.如何確定測試負(fù)載
從微觀基準(zhǔn)理論的角度來看,操作系統(tǒng)的基本性能參數(shù)實(shí)在是太多,基本性能參數(shù)測試包括?CPU、內(nèi)存、I/O、網(wǎng)絡(luò)、操作系統(tǒng)、文件系統(tǒng)、編譯器、數(shù)據(jù)庫的性能指標(biāo)。
從宏觀基準(zhǔn)測試?yán)碚摮霭l(fā)就簡單多了,?主要是要確定合適的工作量來模擬有代表性的用戶作業(yè)。工作量的確定需要一定的理論依據(jù),可以借鑒現(xiàn)有各種Linux?測試工具實(shí)踐結(jié)果。
?
14.如何測試Linux操作系統(tǒng)性能
Linux?桌面操作系統(tǒng)是近幾年來基于?Linux?內(nèi)核發(fā)展起來的面向用戶桌面應(yīng)用的操作系統(tǒng),內(nèi)核還是基于?Linux,只是在其上添加了很多窗口程序,并且在用戶界面和友好度上作出了很大的改進(jìn),更加易用和實(shí)用。
測試?Linux?性能的關(guān)健在于測試?Linux?內(nèi)核性能,而測試?Linux內(nèi)核性能又可以細(xì)化成五大子系統(tǒng)的測試。可以針對內(nèi)核這五大子系統(tǒng)設(shè)計(jì)工作量負(fù)載。
該文章主要是對Linux桌面操作系統(tǒng)性能評測-作者-肖鵬 的學(xué)習(xí)總結(jié)和歸納,感興趣的可以參考這篇學(xué)術(shù)論文
總結(jié)
以上是生活随笔為你收集整理的Linux桌面操作系统性能分析学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试一个两年经验初中级java面试问题
- 下一篇: 一文学会编写用户故事 (User Sto