日本伊人色综合网,亚洲日韩乱码久久久久久,人妻内射.PORN,日本欧美大码A在线观看

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

[2012/6/1]

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

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

  一、測試方法

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

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

  二、測試階段

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

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

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

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

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

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

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

  2.測試用例操作

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

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

  3.結(jié)果統(tǒng)計(jì)

  此過程是調(diào)整循環(huán)內(nèi)容中一個(gè)承上啟下的環(huán)節(jié)。此環(huán)節(jié)統(tǒng)計(jì)的數(shù)據(jù)來源于上一次的測試結(jié)果,并為下一步的數(shù)據(jù)分析提供相關(guān)數(shù)據(jù)。

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

  4.結(jié)果分析

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

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

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

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

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

  三、總結(jié)

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

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

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

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