成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

性能優(yōu)化技巧之工具選擇

運(yùn)維 系統(tǒng)運(yùn)維
性能優(yōu)化,不僅需要對(duì)系統(tǒng)和代碼熟悉,更需要一個(gè)強(qiáng)有力的工具支持。本文是性能優(yōu)化系列文章的第三篇,從性能優(yōu)化要考慮工具的哪些問題開始說(shuō)起,到性能優(yōu)化工具都有哪些?本文為您一一介紹。

編者按:性能優(yōu)化,不僅需要對(duì)系統(tǒng)和代碼熟悉,更需要一個(gè)強(qiáng)有力的工具支持。本文是性能優(yōu)化系列文章的第三篇,從性能優(yōu)化要考慮工具的哪些問題開始說(shuō)起,到性能優(yōu)化工具都有哪些?本文為您一一介紹。

 “工欲善其事,必先利其器”(孔子),雖然“思想比工具更重要”(彎曲網(wǎng)友),但是,如果沒有工具支持,性能優(yōu)化就會(huì)非常累。思想不好掌握,但是使用工具還是比較好學(xué)習(xí)的,有了工具支持,可以讓初級(jí)開發(fā)者更容易入門。

性能優(yōu)化用到的工具,需要考慮哪些方面的問題?

1)使用工具是否需要重新編譯代碼?

一般來(lái)說(shuō),性能優(yōu)化工具基本上都需要重新編譯代碼。因?yàn)樵谏a(chǎn)環(huán)境里面使用的image,應(yīng)該是已經(jīng)優(yōu)化過(guò)的image。不應(yīng)該在用戶環(huán)境里面去調(diào)試性能問題。但Build-in的工具有一個(gè)好處就是性能測(cè)試所用的image和性能調(diào)試所用的image是相同的,這樣可以避免重新編譯所帶來(lái)的誤差。

2)工具本身對(duì)測(cè)量結(jié)果的影響

如果是Build-in的工具,需要減小工具對(duì)性能的影響,啟用工具和不啟用工具對(duì)性能的影響應(yīng)該在一定范圍之內(nèi),比如5%,否則不清楚是工具本身影響性能還是被測(cè)量的代碼性能下降。

如果是需要重新編譯使用的工具,這里的測(cè)試是一個(gè)相對(duì)值,不能做為性能指標(biāo)的依據(jù)。因?yàn)榫幾g會(huì)修改代碼的位置,也可能會(huì)往代碼里面加一個(gè)測(cè)量函數(shù),它生成的image和性能測(cè)試的image不一樣。

在這里要列出幾個(gè)我用過(guò)的Linux工具,其他系統(tǒng)應(yīng)該也有對(duì)應(yīng)的工具,讀者可以自己搜索。

性能測(cè)試工具一般分這么幾種

1)收集CPU的performance counter。CPU里面有很多performance counter,打開之后,會(huì)記錄CPU某些事件的數(shù)量,比如cache miss, 指令數(shù),指令時(shí)間等等。這些counter需要編程才能使用。測(cè)量哪一段代碼完全由自己掌握。

2)利用編譯器的功能,在函數(shù)入口和出口自動(dòng)加回調(diào)函數(shù),在回調(diào)函數(shù)里面,記錄入口和出口的時(shí)間。收集這些信息,可以得到函數(shù)的調(diào)用流程和每個(gè)函數(shù)所花費(fèi)的時(shí)間。

3)自己在代碼里面加入時(shí)間測(cè)量點(diǎn),測(cè)量某段代碼執(zhí)行的時(shí)間。這種工具看起來(lái)和#1的作用差不多,但是由于performance counter編程有很多限制,所以這種工具有時(shí)還是有用處的。

在Linux里面,我們經(jīng)常會(huì)用到

1)Oprofile

Oprofile已經(jīng)加入了linux的內(nèi)核代碼庫(kù),所以不需要打patch,但是還需要重新編譯內(nèi)核才可以使用。這是使用最廣泛的linux工具,網(wǎng)上有很多使用指南,讀者可以自己搜索參考。

http://oprofile.sourceforge.net/news/

http://people.redhat.com/wcohen/Oprofile.pdf

2) KFT and Gprof

KFT是kernel的一個(gè)patch,只對(duì)kernel有效;Gprof是gcc里面的一個(gè)工具,只對(duì)用戶空間的程序有效。這兩個(gè)工具都需要重新編譯代碼,它們都用到了gcc里面的finstrument-functions選項(xiàng)。編譯時(shí)會(huì)在函數(shù)入口,出口加回調(diào)函數(shù),而且inline函數(shù)也會(huì)改成非inline的。它的工作原理可以參考:

http://blog.linux.org.tw/~jserv/archives/001870.html

http://blog.linux.org.tw/~jserv/archives/001723.html

http://elinux.org/Kernel_Function_Trace

http://www.network-theory.co.uk/docs/gccintro/gccintro_80.html

個(gè)人認(rèn)為這是一個(gè)非常有用的工具,對(duì)讀代碼也有幫助,是居家旅行的必備。這里還有一個(gè)slide比較各種工具的,可以看看。

 

 

 

KFT

 

3) Performance counter

http://anton.ozlabs.org/blog/2009/09/04/using-performance-counters-for-linux/

Linux performance counter,用于收集CPU的performance counter,已經(jīng)加入了內(nèi)核代碼庫(kù)。通常來(lái)說(shuō),performance counter的粒度太大,基本沒有什么用處,因?yàn)闆]法定位問題出在哪里;如果粒度太小,就需要手工編程,不能靠加幾個(gè)檢查點(diǎn)就可以了。所以還是要結(jié)合上面兩個(gè)工具一起用才有好的效果。

工具解決哪些問題?

1)幫助建立基線。沒有基線,就沒辦法做性能優(yōu)化。性能優(yōu)化是個(gè)迭代的過(guò)程,指望一次搞定是不現(xiàn)實(shí)的。

2)幫助定位問題。這里有兩個(gè)涵義:一是性能問題出現(xiàn)在什么地方,是由哪一段代碼引起的;二是性能問題的原因,cache miss,TLB miss還是其他。

3)幫助驗(yàn)證優(yōu)化方案。優(yōu)化的結(jié)果應(yīng)該能在工具里面體現(xiàn)出來(lái),而不是靠蒙。

原文:性能優(yōu)化的方法和技巧:工具

【編輯推薦】

  1. 性能優(yōu)化技巧之代碼層次優(yōu)化
  2. 新的技術(shù)產(chǎn)業(yè):Web性能優(yōu)化
  3. Linux網(wǎng)絡(luò)性能優(yōu)化方法簡(jiǎn)析
  4. 網(wǎng)站性能優(yōu)化最佳實(shí)踐

 

責(zé)任編輯:黃丹 來(lái)源: kernelchina
相關(guān)推薦

2011-07-11 15:26:49

性能優(yōu)化算法

2011-06-14 14:32:46

性能優(yōu)化

2011-06-14 14:17:23

性能優(yōu)化系統(tǒng)層次

2011-06-14 11:14:10

性能優(yōu)化代碼

2017-12-23 14:38:41

Android編程開發(fā)優(yōu)化

2011-03-11 15:53:02

LAMP優(yōu)化

2011-09-29 09:50:44

JavaScript

2009-06-16 16:39:49

Hibernate性能

2021-06-17 08:59:45

React前端優(yōu)化

2024-09-26 08:36:11

JavaScript性能優(yōu)化

2011-03-11 15:52:57

LAMP優(yōu)化

2018-11-20 10:50:00

Java性能優(yōu)化編程技巧

2019-08-21 10:53:29

.NET性能優(yōu)化

2013-06-08 14:19:05

性能優(yōu)化KVM

2012-07-23 10:22:15

Python性能優(yōu)化優(yōu)化技巧

2019-02-25 07:07:38

技巧React 優(yōu)化

2009-12-09 17:33:22

PHP性能優(yōu)化

2011-03-11 15:53:00

LAMP優(yōu)化

2011-03-11 15:52:59

LAMP優(yōu)化

2021-05-12 06:02:56

性能優(yōu)化工具WebPageTest
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精品一区二三区不卡 | 久久久精品 | 野狼在线社区2017入口 | 999热精品 | 日韩1区 | 欧美黄在线观看 | 丁香婷婷成人 | 久久久久久综合 | 亚洲高清视频在线观看 | 国产999精品久久久 午夜天堂精品久久久久 | 久久综合久 | 欧美三级久久久 | 国产国产精品久久久久 | 成年人视频在线免费观看 | 日韩精品999| 久久久www成人免费无遮挡大片 | 三级黄色片在线播放 | 免费大黄视频 | 日本精品久久久久久久 | 国产精品久久久久久久 | 欧美日韩国产一区二区三区 | 亚洲小视频在线观看 | 91在线电影 | 雨宫琴音一区二区在线 | 亚洲国产成人精品女人久久久 | 91资源在线| 久久国产高清视频 | 福利视频日韩 | 国产黄色小视频在线观看 | 亚洲一区二区三区在线视频 | 国产午夜精品久久久久免费视高清 | 观看av | 国产精品一级在线观看 | 亚洲高清免费观看 | 九九热在线视频 | av一区二区三区四区 | 欧美日韩第一页 | 亚洲欧美日韩电影 | 中文久久 | 国产九九九九 | 久久久女 |