qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          關(guān)于性能測(cè)試的收獲

           性能測(cè)試的主要手段是通過(guò)產(chǎn)生模擬真實(shí)業(yè)務(wù)的壓力對(duì)被測(cè)系統(tǒng)進(jìn)行加壓,研究被測(cè)系統(tǒng)在不同壓力情況下的表現(xiàn),找出其潛在的瓶頸。

            目前,典型的企業(yè)IT系統(tǒng)的架構(gòu)為:系統(tǒng)是由客戶端,網(wǎng)絡(luò),防火墻,負(fù)載均衡器,Web服務(wù)器,應(yīng)用服務(wù)器(中間件),數(shù)據(jù)服務(wù)器等等環(huán)節(jié)組成。根據(jù)木桶原理,即木桶所能裝的水取決于最短的那塊木板,整個(gè)系統(tǒng)的性能要得到提高,每個(gè)環(huán)節(jié)的性能都需要優(yōu)化。因此,我們需要找到最短的那塊木板(系統(tǒng)瓶頸)來(lái),先對(duì)其進(jìn)行優(yōu)化。

            一個(gè)良好的性能測(cè)試工具必需能做到以下幾點(diǎn):

            1、提供產(chǎn)生壓力的手段;

            2、能夠?qū)笈_(tái)系統(tǒng)進(jìn)行監(jiān)控;

            3、對(duì)壓力數(shù)據(jù)能夠進(jìn)行分析,快速的找出被測(cè)系統(tǒng)的瓶頸。

            產(chǎn)生壓力的手段,主要是通過(guò)編寫壓力腳本,這些腳本以多個(gè)進(jìn)程或線程的形式在客戶端進(jìn)行運(yùn)行,來(lái)模擬多用戶對(duì)被測(cè)系統(tǒng)的并發(fā)訪問(wèn),以此來(lái)達(dá)到產(chǎn)生壓力的目的。壓力腳本執(zhí)行的功能和被測(cè)系統(tǒng)客戶端軟件執(zhí)行的功能應(yīng)該一樣,從而產(chǎn)生真正的業(yè)務(wù)壓力。編寫壓力腳本的工作實(shí)際上就是重新編寫客戶端軟件。最有效的方式是通過(guò)性能測(cè)試工具錄制客戶端軟件和服務(wù)器之間的通訊包,自動(dòng)產(chǎn)生腳本,然后在自動(dòng)生成的腳本的基礎(chǔ)上進(jìn)行少量修改,如:關(guān)聯(lián)動(dòng)態(tài)內(nèi)容,指定批量測(cè)試數(shù)據(jù)等,通常,壓力腳本的準(zhǔn)備往往占據(jù)整個(gè)性能測(cè)試項(xiàng)目的50%的時(shí)間和工作量。

            對(duì)后臺(tái)數(shù)據(jù)的監(jiān)控。監(jiān)控應(yīng)該不在被測(cè)系統(tǒng)上安裝任何軟件,即達(dá)到“無(wú)代理”監(jiān)控。原因有兩個(gè):假若安裝了“代理”軟件,它會(huì)對(duì)被測(cè)系統(tǒng)的分析結(jié)果產(chǎn)生影響,造成測(cè)試結(jié)果的不準(zhǔn)確性。二,還會(huì)對(duì)用戶系統(tǒng)的穩(wěn)定性造成潛在的影響,引起客戶的反感。“無(wú)代理”方式,即不在被測(cè)系統(tǒng)上安裝任何軟件,僅僅通過(guò)改變被測(cè)系統(tǒng)的配置,就可以對(duì)被測(cè)系統(tǒng)進(jìn)行監(jiān)控。

            壓力測(cè)試完畢后,我們會(huì)得到詳盡的性能數(shù)據(jù),包括最終用戶的響應(yīng)時(shí)間,后臺(tái)系統(tǒng)各個(gè)部件的運(yùn)行數(shù)據(jù)。由于數(shù)據(jù)非常龐大,數(shù)據(jù)分析工具是必要的。它幫助性能測(cè)試人員去閱讀,解讀好分析數(shù)據(jù),輔助測(cè)試人員定位系統(tǒng)的瓶頸。

            性能測(cè)試工具的組成部分有4個(gè):虛擬用戶腳本產(chǎn)生器Vugen(Virtual User Generator),壓力調(diào)度和監(jiān)控系統(tǒng)Conductor,壓力產(chǎn)生器Player,壓力結(jié)果分析工具Analysis。

            進(jìn)行性能測(cè)試項(xiàng)目的一般步驟:

            1、用戶確定需要錄制的交易,通過(guò)用戶操作和Vugen的錄制,記錄并生成自動(dòng)化腳本。

            2、修改腳本,確保腳本可以回放成功。

            3、Conductor是一個(gè)集中控制平臺(tái),它和壓力產(chǎn)生器player互連,制定腳本在player上分配,并控制player向被測(cè)系統(tǒng)的加壓方式和行為。

            4、Conductor同時(shí)負(fù)責(zé)搜集被測(cè)系統(tǒng)的各個(gè)環(huán)節(jié)的性能數(shù)據(jù)。各個(gè)player會(huì)記錄最終用戶響應(yīng)時(shí)間和腳本執(zhí)行的日記。

            5、壓力執(zhí)行結(jié)束后,player將數(shù)據(jù)傳送到Conductor中,Conductor負(fù)責(zé)數(shù)據(jù)的匯總。

            6、數(shù)據(jù)分析工具Analysis讀取壓力測(cè)試數(shù)據(jù),進(jìn)行分析工作,確定瓶頸和調(diào)優(yōu)秀方法。

            7、針對(duì)性地進(jìn)行系統(tǒng)調(diào)優(yōu),重復(fù)壓力測(cè)試數(shù)據(jù),進(jìn)行分析工作,確定性能是否得到提高。

            好了,這就是今天的收獲了~~~

          posted on 2012-06-04 10:26 順其自然EVO 閱讀(223) 評(píng)論(0)  編輯  收藏 所屬分類: loadrunner性能測(cè)試

          <2012年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 仁怀市| 手机| 贺兰县| 宜章县| 东兴市| 阜南县| 竹溪县| 昌乐县| 呼图壁县| 上栗县| 化州市| 汕尾市| 南丹县| 朝阳区| 江城| 军事| 昌江| 堆龙德庆县| 香河县| 瓦房店市| 饶河县| 定襄县| 垫江县| 成武县| 赤峰市| 璧山县| 四子王旗| 绥中县| 西安市| 桐城市| 堆龙德庆县| 民勤县| 姜堰市| 万州区| 牙克石市| 营山县| 商南县| 新民市| 庐江县| 茶陵县| 聂拉木县|