<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    性能調(diào)優(yōu)概述

    性能調(diào)優(yōu)無疑是個龐大的話題,也是很多項(xiàng)目中非常重要的一環(huán),性能調(diào)優(yōu)的難做是眾所周知的,畢竟性能調(diào)優(yōu)涵蓋的面實(shí)在是太多了,在這篇blog中我們蜻蜓點(diǎn)水般的來看看性能調(diào)優(yōu)這項(xiàng)龐大的工程都有些什么過程,同時也看看這些過程中常見的一些做法。
    確定性能調(diào)優(yōu)的目標(biāo)
    性能調(diào)優(yōu),首先是要確定性能調(diào)優(yōu)的目標(biāo)是什么,如果現(xiàn)在應(yīng)用已經(jīng)滿足了需求,就沒必要去做性能調(diào)優(yōu)了,畢竟不經(jīng)過一個系統(tǒng)的過程,其實(shí)是無法確定你所做的性能調(diào)整是否真的調(diào)優(yōu)了性能,是否沒有造成應(yīng)用中其他的問題,所以確定性能目標(biāo)是非常重要的,在定義性能目標(biāo)的時候通常這么定義的呢:
    1、最大并發(fā)數(shù)
    2、Quality of Service
       服務(wù)的質(zhì)量,在軟件系統(tǒng)方面我們認(rèn)為主要表現(xiàn)在請求的出錯率,系統(tǒng)的load等。
    3、最長響應(yīng)時間
       對于任何請求所能承受的最大響應(yīng)時間。
    4、TPS
       每秒需要支持的最大事務(wù)數(shù),最典型的指標(biāo)是:“某頁面最高需要支撐每秒7000次的訪問次數(shù)”。
    例如一個web系統(tǒng),需要定義出來的目標(biāo)是:
    并發(fā)目標(biāo):最高支撐200并發(fā);
    QoS:出錯率須控制在萬分之一,系統(tǒng)的load最高只能到達(dá)10;
    TPS:每秒完成7000次請求的處理;
    最大響應(yīng)時間:最長允許的響應(yīng)時間為5秒。
    至于請求的平均響應(yīng)時間這些就不在性能調(diào)優(yōu)目標(biāo)中定義,因?yàn)橐_(dá)到TPS的要求,響應(yīng)時間是必須要達(dá)到一個級別的,而且響應(yīng)時間隨著高并發(fā)是會出現(xiàn)劣化的。
    當(dāng)然,還可以把性能指標(biāo)定到更為細(xì)節(jié),例如某個方法的TPS在100并發(fā)時需要達(dá)到多少。
    在確定好了性能目標(biāo)后,重要的就是如何來測量系統(tǒng)的性能了。
    測量系統(tǒng)性能
    對于新系統(tǒng)而言,需要評估出其正式運(yùn)行時的數(shù)據(jù)量的增長情況;而對于已運(yùn)行的系統(tǒng),則需要根據(jù)監(jiān)控獲取到系統(tǒng)的運(yùn)行數(shù)據(jù)(例如高峰并發(fā)數(shù)、系統(tǒng)的響應(yīng)速度情況、系統(tǒng)的load、網(wǎng)絡(luò)流量、每類請求在總的請求中所占的百分比等)。
    對于新系統(tǒng)而言,要評估出具體的性能相對來說稍微好做一點(diǎn),因?yàn)榇藭r系統(tǒng)通常較為單純,數(shù)據(jù)量的增長也不可能是一夜之間增長的,因此基本可以按照一種正常的方法在測試環(huán)境評估出其正式運(yùn)行的性能。
    而對于已運(yùn)行的系統(tǒng)而言,則較為麻煩,因?yàn)橥ǔ碇v要在測試環(huán)境中模擬正式運(yùn)行環(huán)境基本是不太可能的,因此這個時候通常要采取一些模擬的方法或更高壓力的方法來盡量更為準(zhǔn)確的評估出系統(tǒng)的性能。
    在測試系統(tǒng)性能時,通常可采用的方法有:
    1、單元測試;
       可借助單元測試來測試某個請求的性能;
    2、壓力測試;
       壓力測試無疑是測量系統(tǒng)性能中最常采用的方式,根據(jù)定義的性能目標(biāo)對系統(tǒng)進(jìn)行壓力測試,以確定系統(tǒng)是否滿足性能要求,同時也可以根據(jù)壓力測試的結(jié)果來分析系統(tǒng)的瓶頸,進(jìn)而進(jìn)行對應(yīng)的調(diào)優(yōu),可用于做壓力測試的工具還是不少的,像loadrunner、jmeter等等,不過壓力測試這個話題實(shí)在太大了,不在這里展開去講了,不過我也不怎么懂就是,呵呵。
    分析系統(tǒng)性能瓶頸
    根據(jù)測量系統(tǒng)性能的結(jié)果,多數(shù)是可以分析出系統(tǒng)性能的瓶頸,同時還可以結(jié)合像jvm堆棧、jprofiler、系統(tǒng)日志等來進(jìn)行進(jìn)一步的確定,另外也可以根據(jù)性能調(diào)優(yōu)人員的經(jīng)驗(yàn),例如可以去了解開發(fā)人員是否采用了不適合的數(shù)據(jù)結(jié)構(gòu)等。
    簡單說一個線程分析的例子:
    借助kill -3 pid來獲取到目前jvm的線程堆棧信息,特別需要關(guān)注的是里面wait for monitor這樣的線程,這種線程是指在等待鎖的線程,等待一兩分鐘后再次kill -3 pid,看看這些wait for monitor的線程的變化情況,這對于分析線程中是否存在不合理的競爭過高的鎖的分析是非常重要的。
    這一步無疑也是性能調(diào)優(yōu)過程中最難的一步了,分析系統(tǒng)性能瓶頸這種基本只能結(jié)合實(shí)際例子來講了,正確在后續(xù)抽取一兩個例子來進(jìn)行講解。
    性能調(diào)優(yōu)
    在分析出系統(tǒng)性能的瓶頸后,其實(shí)這一步相對來說還好做些,當(dāng)然,需要建立在對軟硬件知識都有很好的深入了解的基礎(chǔ)上,在這里列舉一些比較常見的性能調(diào)優(yōu)的手段,多數(shù)是抄來或google來的,自己在這方面的經(jīng)驗(yàn)還不多,希望大家多加指點(diǎn),:)
    Redhat Linux內(nèi)核
    Redhat linux內(nèi)核版本升級到2.6,2.6和2.4的差別還是很多的,例如對epoll的支持、NPTL的采用;epoll的支持對于java而言也是很重要的,在高并發(fā)的情況下nio是否采用epoll還是有挺大的差別的;而NPTL的采用對于多線程程序而言更是極為重要。
    另外需要關(guān)注像linux的File Handles是多少、network buffer是多少、MTU是多少、Memory Page size是多少等等。
    JVM
    JVM調(diào)優(yōu)的文章相對來說比較多,大家需要了解的主要是-Xms/-Xmx、并行GC、-XX:MaxPermSize/-XX:MaxNewSize、-XX:ThreadStackSize、NIO采用epoll等等。
    簡單的列這兩個,其實(shí)性能調(diào)優(yōu)的手段還有非常的多,例如簡單的增加CPU、買更快速度的硬盤、增加內(nèi)存、提升網(wǎng)絡(luò)帶寬等這些從硬件角度下手的方式,還有像數(shù)據(jù)庫調(diào)優(yōu)、應(yīng)用服務(wù)器調(diào)優(yōu)等等。

    暫時就寫這么些了,以后列一些具體的例子來寫,那樣更為清晰些,這樣的話更多的是講述一下過程,可以大概了解下做性能調(diào)優(yōu)應(yīng)該去學(xué)習(xí)的知識點(diǎn),^_^,也歡迎有經(jīng)驗(yàn)的同學(xué)們貢獻(xiàn)出一些實(shí)例的分享。

    posted on 2008-06-29 23:37 BlueDavy 閱讀(6613) 評論(10)  編輯  收藏 所屬分類: Internet

    評論

    # re: 性能調(diào)優(yōu)概述 2008-06-30 13:07 如坐春風(fēng)

    做外包永遠(yuǎn)接觸不到這方面的內(nèi)容,悲哀啊!  回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述[未登錄] 2008-06-30 14:05 jazzy

    最近一直在通過壓力測試來重現(xiàn)生產(chǎn)環(huán)境下的performance issue,至今未果。。。  回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述 2008-06-30 17:53 Robin's Java World

    @如坐春風(fēng)
    誰說的?可能只是你做的項(xiàng)目小才沒遇到。  回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述 2008-06-30 18:26 混沌中立

    @如坐春風(fēng)


    如果你接觸到要求比較高的項(xiàng)目,你就會體會到外包客戶在這個方面比較苛刻的要求的。到時候,整天都在調(diào)整,測試,調(diào)整,測試。壓力很大。  回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述 2008-06-30 23:09 如坐春風(fēng)

    @Robin's Java World

    也許吧。項(xiàng)目主要是實(shí)現(xiàn)功能,這方面的需求沒有遇到過。  回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述 2008-06-30 23:10 如坐春風(fēng)

    @混沌中立

    這么說調(diào)優(yōu)也是一個圍城了。
      回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述 2008-07-24 13:41 zhuxing

    1、不同的場景,會很大程度上決定使用的調(diào)優(yōu)方法的差異
    例如針對一個后臺分布式web應(yīng)用進(jìn)行調(diào)優(yōu)和針對一個類似有IDE的產(chǎn)品進(jìn)行調(diào)優(yōu)就會有很大的不同。

    2、目標(biāo)性能瓶頸也很很大程度上決定調(diào)優(yōu)方法的差異
    例如你面臨的調(diào)整到底是時間占用的問題還是空間占用的問題

    ...



    最后,很多時候開發(fā)人員需要對代碼進(jìn)行時間占用的優(yōu)化,可以使用很多工具進(jìn)行監(jiān)測,但是千萬別忘記一點(diǎn),那就是簡單的時間戳作用可是很大的啊...  回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述 2008-07-29 09:50 Jack.Wang

    老師很強(qiáng)大!  回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述 2008-08-31 22:34 alonesword

    winform 下的調(diào)優(yōu),白盒測試,我一般使用 aqtime 感覺不錯。很快就能找到 Hotpot  回復(fù)  更多評論   

    # re: 性能調(diào)優(yōu)概述[未登錄] 2009-07-11 07:41 Jim

    這篇文章比較high level談了性能調(diào)優(yōu),期待一些理論聯(lián)系實(shí)踐的例子和精彩闡述。最近感覺性能調(diào)優(yōu)的確是個無底洞,但應(yīng)該一步一步,遵循先重要的緊急的瓶頸,follow測量-理解-調(diào)整-測量的步驟來調(diào)優(yōu)。  回復(fù)  更多評論   

    公告

     









    feedsky
    抓蝦
    google reader
    鮮果

    導(dǎo)航

    <2008年6月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    統(tǒng)計(jì)

    隨筆分類

    隨筆檔案

    文章檔案

    Blogger's

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av无码一区二区三区四区| 国产性生交xxxxx免费| 久久久久国产亚洲AV麻豆| 激情婷婷成人亚洲综合| 午夜dj免费在线观看| 欧洲亚洲国产精华液| 国产免费一区二区三区VR| 亚洲av日韩av永久在线观看| 免费在线观看视频a| 高清免费久久午夜精品 | 久久综合亚洲色一区二区三区 | 一级女人18毛片免费| 在线免费观看一区二区三区| 一本天堂ⅴ无码亚洲道久久| 性xxxx视频播放免费| 国产亚洲视频在线| 亚洲中文字幕成人在线| 亚洲伊人久久大香线蕉| 色婷婷精品免费视频| 精品亚洲一区二区三区在线观看 | 国产精品免费综合一区视频| 色噜噜狠狠色综合免费视频| 久久国产成人精品国产成人亚洲| 十八禁视频在线观看免费无码无遮挡骂过| 噼里啪啦电影在线观看免费高清 | 无人视频免费观看免费视频| 亚洲伊人久久大香线蕉综合图片| 久久久久久久99精品免费观看| 97久久精品亚洲中文字幕无码| 很黄很色很刺激的视频免费| 精品亚洲成A人在线观看青青| 亚洲综合av永久无码精品一区二区| 久久综合九色综合97免费下载| 中文字幕在线观看亚洲日韩| 国产成人福利免费视频| 亚洲成av人片在线天堂无| 在线成人a毛片免费播放| 一级毛片视频免费| 亚洲女人18毛片水真多| 亚洲阿v天堂在线2017免费| 9420免费高清在线视频|