• <li id="ooooo"><tt id="ooooo"></tt></li>
  • <table id="ooooo"><blockquote id="ooooo"></blockquote></table>

    如何利用性能測試優(yōu)化系統

    [2012/6/1]

      對于一個(gè)開(kāi)發(fā)比較成熟的業(yè)務(wù)系統而言,功能相對已經(jīng)完善,但在大業(yè)務(wù)量的情況下往往會(huì )出現各種異常。對此,需通過(guò)對系統進(jìn)行配置修改或者產(chǎn)品框架調整來(lái)優(yōu)化系統。

      在優(yōu)化系統過(guò)程中,最有效的手段就是對系統做性能測試,通過(guò)測試結果的收集分析,不斷進(jìn)行系統優(yōu)化,最終達到系統在大業(yè)務(wù)量情況下穩定運行的目的。

      一、測試方法

      測試方法主要通過(guò)測試過(guò)程中的測試步驟體現出來(lái)。測試步驟需根據每次的測試結果不斷調整,一個(gè)完善的測試方法需要不斷地進(jìn)行性能測試和性能調整。在開(kāi)始性能調整循環(huán)之前,必須確定以下兩點(diǎn):一是建立業(yè)務(wù)模型,通過(guò)統計或數學(xué)模型的方法建立起科學(xué)的業(yè)務(wù)模型,如業(yè)務(wù)流程分布比例、平均負荷、峰值負載等;二是設置性能指標,作為判斷設計指標和實(shí)際性能處理指標的基準值,總體的系統吞吐量、系統的吞吐效率、響應時(shí)延等都是用于測量性能的常用度量標準。

      確定以上兩點(diǎn)后,開(kāi)始調整循環(huán),這是一系列重復的受控性能試驗。重復圖1所示的四個(gè)調整循環(huán)階段,直至獲得在開(kāi)始調整過(guò)程前建立的系統性能目標

      二、測試階段

      測試階段是調整循環(huán)操作的起點(diǎn),此階段是根據測試的要求進(jìn)行相關(guān)操作,為下一步結果統計提供相應的測試數據。此階段需要注意測試環(huán)境配置、測試用例的操作兩個(gè)要點(diǎn)。

      1.測試環(huán)境配置

      不同的測試環(huán)境會(huì )產(chǎn)生不同的測試結果,因此測試前需要對環(huán)境配置進(jìn)行詳細的檢查。

      (1)檢查網(wǎng)絡(luò )連通性。網(wǎng)絡(luò )暢通是測試能夠正常進(jìn)行的基本前提。

      (2)檢查流量模型是否超出系統負荷。如果將要加的壓力大大超出系統的負荷,會(huì )對系統產(chǎn)生傷害,并可能在測試過(guò)程中出現宕機、告警等異常情況。

      (3)檢查被測系統的系統配置。此系統配置包括軟件版本和硬件配置兩個(gè)方面,不同的系統配置會(huì )產(chǎn)生不同的測試結果,故測試之前應對被測系統的配置進(jìn)行嚴格核對,檢查是否是測試所需的系統配置。

      (4)檢查測試工具的參數配置。在性能測試中,必須利用測試工具來(lái)模擬大業(yè)務(wù)量。對于一個(gè)功能相對完善的測試工具,不但能模擬大業(yè)務(wù)量,而且還能夠配置壓力遞增方式、壓力大小、壓力持續時(shí)間等參數。在測試之前需要根據測試的需求檢查相應參數配置是否滿(mǎn)足測試要求。

      2.測試用例操作

      測試過(guò)程中,性能測試主要按照測試用例規定的內容去逐步操作。一般來(lái)講性能測試用例內容大體分成測試環(huán)境配置、預置條件、測試步驟、預期結果、判定原則、測試結果六個(gè)方面。

      環(huán)境配置是指按照測試的需求配置測試環(huán)境,包括網(wǎng)絡(luò )的組網(wǎng)、系統的參數配置等;測試預置條件是指為了真實(shí)模擬一些場(chǎng)景,需要在測試之前在系統中預置一些條件,例如在郵箱系統的性能測試過(guò)程中,為了模擬業(yè)務(wù)開(kāi)展的實(shí)際情況測試,需要在郵件系統中預先存儲一些積壓的郵件;測試步驟是指在環(huán)境配置完成及預置條件完成后,如何對系統加壓的過(guò)程,一般而言,首先確定壓力的生成形式(如階梯型遞增、二次曲線(xiàn)形式遞增等),然后確定壓力遞增的時(shí)間,最后要求壓力保持的時(shí)間;預期結果是指通過(guò)理論及經(jīng)驗分析,對實(shí)際測試結果的一個(gè)預期指標,此內容是檢驗測試結果的一個(gè)依據;判定原則是制定出一個(gè)標準來(lái)判斷測試是否滿(mǎn)足要求,此原則的制定很大程度上依據測試的預期結果;測試結果是根據實(shí)際測試情況及參考預期結果和判定原則對測試的一個(gè)總體結論,其結論包括此項測試是否通過(guò)及測試的相應指標記錄兩個(gè)方面。

      3.結果統計

      此過(guò)程是調整循環(huán)內容中一個(gè)承上啟下的環(huán)節。此環(huán)節統計的數據來(lái)源于上一次的測試結果,并為下一步的數據分析提供相關(guān)數據。

      結果的統計可以來(lái)源于被測系統和測試工具本身兩個(gè)方面,在統計過(guò)程中不但要考慮到從被測系統中統計數據還要兼顧到測試工具本身的數據統計。一般來(lái)講,從被測系統可以直接通過(guò)系統的日志統計出系統資源消耗(如CPU、內存的占用率等);從測試工具本身可以統計出壓力的大小、業(yè)務(wù)處理時(shí)延、業(yè)務(wù)處理成功率等指標。結果統計階段需要將以上兩個(gè)方面的數據一并統計出來(lái),為下一步數據分析提供重要依據。

      4.結果分析

      通過(guò)數據統計收集到系統所需的性能數據后,對這些數據進(jìn)行分析以確定系統瓶頸。在這里,需要明確的是統計到的體現性能數據僅具有指示性,它并不一定就可以確定實(shí)際的瓶頸在哪里,因為一個(gè)性能問(wèn)題可能由多個(gè)原因所致。因此,在結果分析階段需要從系統的角度去分析并查找原因,千萬(wàn)不能走入“頭痛醫頭,腳痛醫腳”的誤區。在結果分析階段應該注意到以下幾個(gè)方面。

      (1)數據發(fā)現的敏感性,能夠主動(dòng)發(fā)現一些貌似“合理”的數據問(wèn)題。

      (2)數據分析的系統性,能夠通過(guò)測試數據的表象,從系統的角度對數據進(jìn)行分析,發(fā)現系統瓶頸。

      (3)數據合理的疑問(wèn)性,測試工作的目的就是要發(fā)現問(wèn)題,優(yōu)化系統,所以應該抱著(zhù)對所有數據懷疑的態(tài)度去分析測試數據,這樣才能做到不遺漏任何的“可疑”數據。

      (4)結果分析的分步性,通過(guò)測試經(jīng)驗,對于測試結果分析可以分成六步進(jìn)行,包括觀(guān)察、初步假設、預測、測試、控制和結論,結論由該過(guò)程積累的最佳證據集合所支持的假設組成。

      三、總結

      在循環(huán)調整的過(guò)程中,測試、結果統計、結果分析環(huán)節的最終目的是要對系統進(jìn)行優(yōu)化。因此,系統優(yōu)化的依據直接來(lái)源于對測試結果的分析。通常來(lái)講,對于一個(gè)比較成熟的系統,系統的絕大多數優(yōu)化工作往往是對系統配置的優(yōu)化,只有少部分的優(yōu)化工作是對系統設計的修改。

      通過(guò)對結果的分析,可以大體定位出系統問(wèn)題出現在哪里,隨后對系統配置進(jìn)行更改及優(yōu)化。此優(yōu)化過(guò)程大部分的工作是嘗試性和不間斷性的,需要不斷嘗試配置參數的改變,然后驗證此配置的修改是否達到預期目的。如果沒(méi)有達到預期目的,需要進(jìn)一步對配置進(jìn)行修改和驗證。根據以往的測試經(jīng)驗,實(shí)現參數配置更改的最重要規則是一次僅實(shí)現一個(gè)配置更改。這主要是由于系統某一個(gè)模塊/單元出現問(wèn)題可能是由多個(gè)模塊/單元的瓶頸導致的。因此,分別處理每個(gè)問(wèn)題很重要。如果同時(shí)進(jìn)行多個(gè)更改,將不可能準確地評定每次更改的影響。

      實(shí)現了配置更改后,必須對修改后的系統進(jìn)行測試,確定更改對系統所產(chǎn)生的影響。如果幸運,性能提高到預期的水平,這時(shí)便可以退出。如果不是這樣,則必須重新逐步進(jìn)行調整循環(huán)。

      綜合考慮以上的內容,一個(gè)調整循環(huán)的流程才算基本完成,根據調整的結果來(lái)考慮是否進(jìn)入下一部調整循環(huán)的階段。

    国产91无套剧情在线播放_亚洲v日韩v欧美v综合_亚洲欧美高清在线一区二区三区_激情福利视频网址_午夜熟妇一区二区_亚洲最大的熟女水蜜桃av_免费大片AV手机看片不卡_精品阿V999视频在线观看_国产白丝视频无遮挡_日韩亚洲国产av黄片