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

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

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

    posts - 122,  comments - 25,  trackbacks - 0
    (來(lái)源測(cè)試時(shí)代,http://www.testage.net)

    多數(shù)人對(duì)怎樣去分析工具收集到的測(cè)試結(jié)果感到無(wú)從下手,下面我就把個(gè)人工作中的體會(huì)和收集到的有關(guān)資料整理出來(lái),希望能對(duì)大家分析測(cè)試結(jié)果有所幫助。

    分析原則:
        • 具體問(wèn)題具體分析(這是由于不同的應(yīng)用系統(tǒng),不同的測(cè)試目的,不同的性能關(guān)注點(diǎn))
        • 查找瓶頸時(shí)按以下順序,由易到難。
        服務(wù)器硬件瓶頸-〉網(wǎng)絡(luò)瓶頸(對(duì)局域網(wǎng),可以不考慮)-〉服務(wù)器操作系統(tǒng)瓶頸(參數(shù)配置)-〉中間件瓶頸(參數(shù)配置,數(shù)據(jù)庫(kù),web服務(wù)器等)-〉應(yīng)用瓶頸(SQL語(yǔ)句、數(shù)據(jù)庫(kù)設(shè)計(jì)、業(yè)務(wù)邏輯、算法等)
        注:以上過(guò)程并不是每個(gè)分析中都需要的,要根據(jù)測(cè)試目的和要求來(lái)確定分析的深度。對(duì)一些要求低的,我們分析到應(yīng)用系統(tǒng)在將來(lái)大的負(fù)載壓力(并發(fā)用戶數(shù)、數(shù)據(jù)量)下,系統(tǒng)的硬件瓶頸在哪兒就夠了。
        • 分段排除法 很有效

    分析的信息來(lái)源:
        •1 根據(jù)場(chǎng)景運(yùn)行過(guò)程中的錯(cuò)誤提示信息
        •2 根據(jù)測(cè)試結(jié)果收集到的監(jiān)控指標(biāo)數(shù)據(jù)

    一.錯(cuò)誤提示分析

    分析實(shí)例:
    1 •Error: Failed to connect to server "10.10.10.30:8080": [10060] Connection
      •Error: timed out Error: Server "10.10.10.30" has shut down the connection prematurely

      分析:
    •A、應(yīng)用服務(wù)死掉。
       (小用戶時(shí):程序上的問(wèn)題。程序上處理數(shù)據(jù)庫(kù)的問(wèn)題)
    •B、應(yīng)用服務(wù)沒(méi)有死
       (應(yīng)用服務(wù)參數(shù)設(shè)置問(wèn)題)
        例:在許多客戶端連接Weblogic應(yīng)用服務(wù)器被拒絕,而在服務(wù)器端沒(méi)有錯(cuò)誤顯示,則有可能是Weblogic中的server元素的 AcceptBacklog屬性值設(shè)得過(guò)低。如果連接時(shí)收到connection refused消息,說(shuō)明應(yīng)提高該值,每次增加25%
    •C、數(shù)據(jù)庫(kù)的連接
       (1、在應(yīng)用服務(wù)的性能參數(shù)可能太小了 2、數(shù)據(jù)庫(kù)啟動(dòng)的最大連接數(shù)(跟硬件的內(nèi)存有關(guān)))

    2  Error: Page download timeout (120 seconds) has expired

    分析:可能是以下原因造成
    •A、應(yīng)用服務(wù)參數(shù)設(shè)置太大導(dǎo)致服務(wù)器的瓶頸
    •B、頁(yè)面中圖片太多
    •C、在程序處理表的時(shí)候檢查字段太大多

    二.監(jiān)控指標(biāo)數(shù)據(jù)分析

    1.最大并發(fā)用戶數(shù):
    應(yīng)用系統(tǒng)在當(dāng)前環(huán)境(硬件環(huán)境、網(wǎng)絡(luò)環(huán)境、軟件環(huán)境(參數(shù)配置))下能承受的最大并發(fā)用戶數(shù)。
    在方案運(yùn)行中,如果出現(xiàn)了大于3個(gè)用戶的業(yè)務(wù)操作失敗,或出現(xiàn)了服務(wù)器shutdown的情況,則說(shuō)明在當(dāng)前環(huán)境下,系統(tǒng)承受不了當(dāng)前并發(fā)用戶的負(fù)載壓力,那么最大并發(fā)用戶數(shù)就是前一個(gè)沒(méi)有出現(xiàn)這種現(xiàn)象的并發(fā)用戶數(shù)。
    如果測(cè)得的最大并發(fā)用戶數(shù)到達(dá)了性能要求,且各服務(wù)器資源情況良好,業(yè)務(wù)操作響應(yīng)時(shí)間也達(dá)到了用戶要求,那么OK。否則,再根據(jù)各服務(wù)器的資源情況和業(yè)務(wù)操作響應(yīng)時(shí)間進(jìn)一步分析原因所在。

    2.業(yè)務(wù)操作響應(yīng)時(shí)間:
    • 分析方案運(yùn)行情況應(yīng)從平均事務(wù)響應(yīng)時(shí)間圖和事務(wù)性能摘要圖開始。使用“事務(wù)性能摘要”圖,可以確定在方案執(zhí)行期間響應(yīng)時(shí)間過(guò)長(zhǎng)的事務(wù)。
    • 細(xì)分事務(wù)并分析每個(gè)頁(yè)面組件的性能。查看過(guò)長(zhǎng)的事務(wù)響應(yīng)時(shí)間是由哪些頁(yè)面組件引起的?問(wèn)題是否與網(wǎng)絡(luò)或服務(wù)器有關(guān)?
    • 如果服務(wù)器耗時(shí)過(guò)長(zhǎng),請(qǐng)使用相應(yīng)的服務(wù)器圖確定有問(wèn)題的服務(wù)器度量并查明服務(wù)器性能下降的原因。如果網(wǎng)絡(luò)耗時(shí)過(guò)長(zhǎng),請(qǐng)使用“網(wǎng)絡(luò)監(jiān)視器”圖確定導(dǎo)致性能瓶頸的網(wǎng)絡(luò)問(wèn)題
    3.服務(wù)器資源監(jiān)控指標(biāo):
    內(nèi)存:
        1 UNIX資源監(jiān)控中指標(biāo)內(nèi)存頁(yè)交換速率(Paging rate),如果該值偶爾走高,表明當(dāng)時(shí)有線程競(jìng)爭(zhēng)內(nèi)存。如果持續(xù)很高,則內(nèi)存可能是瓶頸。也可能是內(nèi)存訪問(wèn)命中率低。

        2 Windows資源監(jiān)控中,如果Process\Private Bytes計(jì)數(shù)器和Process\Working Set計(jì)數(shù)器的值在長(zhǎng)時(shí)間內(nèi)持續(xù)升高,同時(shí)Memory\Available bytes計(jì)數(shù)器的值持續(xù)降低,則很可能存在內(nèi)存泄漏。

    內(nèi)存資源成為系統(tǒng)性能的瓶頸的征兆:
        很高的換頁(yè)率(high pageout rate);
        進(jìn)程進(jìn)入不活動(dòng)狀態(tài);
        交換區(qū)所有磁盤的活動(dòng)次數(shù)可高;
        可高的全局系統(tǒng)CPU利用率;
        內(nèi)存不夠出錯(cuò)(out of memory errors)

    處理器:
        1 UNIX資源監(jiān)控(Windows操作系統(tǒng)同理)中指標(biāo)CPU占用率(CPU utilization),如果該值持續(xù)超過(guò)95%,表明瓶頸是CPU。可以考慮增加一個(gè)處理器或換一個(gè)更快的處理器。如果服務(wù)器專用于SQL Server,可接受的最大上限是80-85%
        合理使用的范圍在60%至70%。
        2 Windows資源監(jiān)控中,如果System\Processor Queue Length大于2,而處理器利用率(Processor Time)一直很低,則存在著處理器阻塞。

    CPU資源成為系統(tǒng)性能的瓶頸的征兆:   
         很慢的響應(yīng)時(shí)間(slow response time)
         CPU空閑時(shí)間為零(zero percent idle CPU)
         過(guò)高的用戶占用CPU時(shí)間(high percent user CPU)
         過(guò)高的系統(tǒng)占用CPU時(shí)間(high percent system CPU)
        長(zhǎng)時(shí)間的有很長(zhǎng)的運(yùn)行進(jìn)程隊(duì)列(large run queue size sustained over time)

    磁盤I/O:
        1 UNIX資源監(jiān)控(Windows操作系統(tǒng)同理)中指標(biāo)磁盤交換率(Disk rate),如果該參數(shù)值一直很高,表明I/O有問(wèn)題。可考慮更換更快的硬盤系統(tǒng)。
        2 Windows資源監(jiān)控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec頁(yè)面讀取操作速率很低,則可能存在磁盤瓶徑。

    I/O資源成為系統(tǒng)性能的瓶頸的征兆 :
         過(guò)高的磁盤利用率(high disk utilization)
        太長(zhǎng)的磁盤等待隊(duì)列(large disk queue length)
        等待磁盤I/O的時(shí)間所占的百分率太高(large percentage of time waiting for disk I/O)
        太高的物理I/O速率:large physical I/O rate(not sufficient in itself)
        過(guò)低的緩存命中率(low buffer cache hit ratio(not sufficient in itself))
        太長(zhǎng)的運(yùn)行進(jìn)程隊(duì)列,但CPU卻空閑(large run queue with idle CPU)

    4.?dāng)?shù)據(jù)庫(kù)服務(wù)器:
    SQL Server數(shù)據(jù)庫(kù):
        1 SQLServer資源監(jiān)控中指標(biāo)緩存點(diǎn)擊率(Cache Hit Ratio),該值越高越好。如果持續(xù)低于80%,應(yīng)考慮增加內(nèi)存。
        2 如果Full Scans/sec(全表掃描/秒)計(jì)數(shù)器顯示的值比1或2高,則應(yīng)分析你的查詢以確定是否確實(shí)需要全表掃描,以及SQL查詢是否可以被優(yōu)化。
        3 Number of Deadlocks/sec(死鎖的數(shù)量/秒):死鎖對(duì)應(yīng)用程序的可伸縮性非常有害,并且會(huì)導(dǎo)致惡劣的用戶體驗(yàn)。該計(jì)數(shù)器的值必須為0。
       4 Lock Requests/sec(鎖請(qǐng)求/秒),通過(guò)優(yōu)化查詢來(lái)減少讀取次數(shù),可以減少該計(jì)數(shù)器的值。

    Oracle數(shù)據(jù)庫(kù):
      1 如果自由內(nèi)存接近于0而且?guī)炜齑婊驍?shù)據(jù)字典快存的命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小。
        快存(共享SQL區(qū))和數(shù)據(jù)字典快存的命中率:
       select(sum(pins-reloads))/sum(pins) from v$librarycache;
        select(sum(gets-getmisses))/sum(gets) from v$rowcache;
        自由內(nèi)存:    select * from v$sgastat where name=’free memory’;
    2 如果數(shù)據(jù)的緩存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS參數(shù)的值(單位:塊)。
      緩沖區(qū)高速緩存命中率:
        select name,value from v$sysstat where name in ('db block gets’,
        'consistent gets','physical reads') ;
       
        Hit Ratio = 1-(physical reads / ( db block gets + consistent gets))
    3 如果日志緩沖區(qū)申請(qǐng)的值較大,則應(yīng)加大LOG_BUFFER參數(shù)的值。
        日志緩沖區(qū)的申請(qǐng)情況 :
         select name,value from v$sysstat where name = 'redo log space requests' ;
    4 如果內(nèi)存排序命中率小于0.95,則應(yīng)加大SORT_AREA_SIZE以避免磁盤排序 。
       內(nèi)存排序命中率 :
         select round((100*b.value)/decode((a.value+b.value), 0, 1, (a.value+b.value)), 2)from v$sysstat a, v$sysstat b where a.name='sorts (disk)' and b.name='sorts (memory)'
       
        注:上述SQL Server和Oracle數(shù)據(jù)庫(kù)分析,只是一些簡(jiǎn)單、基本的分析,特別是Oracle數(shù)據(jù)庫(kù)的分析和優(yōu)化,是一門專門的技術(shù),進(jìn)一步的分析可查相關(guān)資料。

    posted on 2007-12-18 13:16 josson 閱讀(593) 評(píng)論(0)  編輯  收藏 所屬分類: java 開發(fā)
    <2007年12月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产片免费福利片永久| 免费一级毛片不卡在线播放| 亚洲精品中文字幕无码A片老| 免费一级毛片不卡不收费| 四虎影视在线影院在线观看免费视频 | a级毛片100部免费观看| 亚洲狠狠ady亚洲精品大秀| 国产一区二区三区无码免费| 毛片免费在线观看| 亚洲伊人久久大香线蕉AV| 久久久久亚洲AV成人网人人网站| 97在线视频免费播放| 精品女同一区二区三区免费播放 | 成人免费无码视频在线网站| CAOPORM国产精品视频免费| 亚洲专区一路线二| 中文字幕亚洲一区二区va在线| 午夜国产精品免费观看| 国产精品高清免费网站| 亚洲日本一线产区和二线| 亚洲AV成人片色在线观看| 亚洲av无码成人精品区在线播放| 18禁止看的免费污网站| 美女巨胸喷奶水视频www免费| 亚洲中文字幕无码久久2020 | 国产成A人亚洲精V品无码| 国产女高清在线看免费观看 | 国产精品亚洲视频| 免费无码成人AV片在线在线播放| 国产精品区免费视频| 一级免费黄色大片| 精品韩国亚洲av无码不卡区| 亚洲成a人片在线观看中文app| 亚洲自偷自偷图片| 亚洲日韩在线第一页| 青青草国产免费久久久91| 91视频国产免费| 日本免费网站视频www区| 中文字幕无码日韩专区免费| 一区二区免费国产在线观看| 亚洲老熟女五十路老熟女bbw|