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

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

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

    qileilove

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

    性能測(cè)試測(cè)試環(huán)境搭建

    在進(jìn)行性能則試前,需要完成性能測(cè)試的搭建工作,一般包括硬件環(huán)境、軟件環(huán)境及網(wǎng)絡(luò)環(huán)境,可以要求配置和開發(fā)工程師協(xié)助完成,但是作為一個(gè)優(yōu)秀性能測(cè)試工程師,這也是你的必備技能之一。

     性能測(cè)試的環(huán)境準(zhǔn)備 

    問題描述:在編寫腳本的同時(shí),執(zhí)行場(chǎng)景之前需要完成測(cè)試環(huán)境的搭建工作,這里包括硬件和軟件環(huán)境的搭建。根據(jù)性能測(cè)試計(jì)劃中的測(cè)試環(huán)境規(guī)劃,完成對(duì)整個(gè)測(cè)試環(huán)境的搭建。由于性能測(cè)試的特殊性,整個(gè)測(cè)試環(huán)境需要在嚴(yán)格的獨(dú)立監(jiān)控下管理,避免不受控的情況出現(xiàn)導(dǎo)致性能測(cè)試數(shù)據(jù)的偏差(類似于藥品制造中的無菌室概念),而另一方面,在實(shí)際應(yīng)用中很難得到真實(shí)的系統(tǒng)環(huán)境來完成性能測(cè)試。那么到底該如何搭建真實(shí)的性能測(cè)試環(huán)境呢? 1 
    簡(jiǎn)而言之,盡量保持性能測(cè)試環(huán)境與真實(shí)生產(chǎn)環(huán)境的一致性。具體從以下三個(gè)方面來看, 
    1. 硬件環(huán)境,包括服務(wù)器環(huán)境、客戶端環(huán)境與網(wǎng)絡(luò)環(huán)境 如服務(wù)器的型號(hào)以及是否和其它應(yīng)用程序共享此服務(wù)器;是否在集群環(huán)境下;是否通過BIGIP進(jìn)行負(fù)載均衡;客戶使用的硬件配置情況;網(wǎng)絡(luò)速度(可通過LR 模擬限速)。   2. 軟件環(huán)境   (1)版本一致性 
      包括操作系統(tǒng)、數(shù)據(jù)庫(kù)的版本,被測(cè)的應(yīng)用軟件的版本(含用到的第三方軟件的版本)等。 
      (2)配置一致性 
      系統(tǒng)(操作系統(tǒng)/數(shù)據(jù)庫(kù)/應(yīng)用程序)參數(shù)的配置,如數(shù)據(jù)庫(kù)的并發(fā)讀寫數(shù),SGA/PGA設(shè)置, session 超時(shí)配置等。   3. 使用場(chǎng)景的一致性   (1)基礎(chǔ)數(shù)據(jù)的一致性 
      包括預(yù)測(cè)的業(yè)務(wù)數(shù)據(jù)量,業(yè)務(wù)數(shù)據(jù)類型的分配,數(shù)據(jù)庫(kù)表索引的建立與否,重要的實(shí)體包含的明細(xì)個(gè)數(shù)等等。 
      (2)使用模式的一致性 
      盡量模擬真實(shí)場(chǎng)景下用戶的使用情況(3W1H: What, Who, When, How 哪些功能常用以及被多少用戶在多大頻率下如何使用)。 2 
      如何搭建一個(gè)真實(shí)性能測(cè)試環(huán)境?如何搭建一個(gè)真實(shí)環(huán)境其實(shí)不難,只要公司有投入,用戶允許,都不是問題。 
      我覺得應(yīng)該多考慮如何在現(xiàn)有資源條件下,如何快速搭建一個(gè)仿真的性能測(cè)試環(huán)境。   先了解一下性能測(cè)試環(huán)境一般指哪些:   性能測(cè)試環(huán)境:包括硬件、網(wǎng)絡(luò),軟件   硬件:服務(wù)器,客戶端,交換機(jī),防火墻等   網(wǎng)絡(luò):有線還無線,帶寬,網(wǎng)絡(luò)協(xié)議 
      軟件:數(shù)據(jù)庫(kù),中間件,被測(cè)軟件,操作系統(tǒng),防火墻等 
      如何無菌:最好辦法就是殺掉,那對(duì)上面環(huán)境來說,最好所有硬件最新的,所有軟件是重裝,所有參數(shù)都是正確的。一般情況是不可能的…… 
      如何快速:環(huán)境日常維護(hù),所維護(hù)的性能測(cè)試能快速還原。 
      以上事情一般測(cè)試團(tuán)隊(duì)都在做,但我還擔(dān)心一件事,如何驗(yàn)證我們的環(huán)境是有效的。 
    那就需使用一些監(jiān)控工具,如網(wǎng)絡(luò)監(jiān)控,系統(tǒng)監(jiān)控,數(shù)據(jù)庫(kù)監(jiān)控,中間件參數(shù)捕捉,存儲(chǔ)設(shè)備檢測(cè),一些硬件指標(biāo)的了解以及當(dāng)前環(huán)境指標(biāo)等等。當(dāng)然還少不了性能測(cè)試團(tuán)隊(duì)的經(jīng)驗(yàn)。 


    名人堂:眾名人帶你感受他們的驅(qū)動(dòng)人生馬云任志強(qiáng)李嘉誠(chéng)柳傳志史玉柱
     


    完全一致的測(cè)試環(huán)境是不可能的,但可以盡量模擬,要做到盡量模擬一般從以下幾個(gè)方面著手: 
    1、了解目前的現(xiàn)狀(即目前線上應(yīng)用的實(shí)際情況) 2、了解未來一般時(shí)間的發(fā)展趨勢(shì) 
    3、選擇合適的模型(例如實(shí)際線上是兩臺(tái)XX配置的服務(wù)器,可能測(cè)試環(huán)境只有一臺(tái),那么可采取壓力減半的方式) 4、選擇合適的工具 
    5、合理的設(shè)計(jì)測(cè)試腳本和場(chǎng)景

    性能測(cè)試環(huán)境與功能測(cè)試環(huán)境的區(qū)別                                               

     

      那么性能測(cè)試環(huán)境與功能測(cè)試環(huán)境有什么不同呢?性能測(cè)試對(duì)測(cè)試環(huán)境的干凈、獨(dú)立性要求更高,更為嚴(yán)格。對(duì)于一個(gè)相對(duì)較規(guī)范的公司,都會(huì)建立其獨(dú)立的研發(fā)環(huán)境、測(cè)試環(huán)境、線網(wǎng)環(huán)境(最終運(yùn)行軟件的環(huán)境)。

      這里多扯一點(diǎn),系統(tǒng)可以分為C/S架構(gòu)的系統(tǒng)與B/S架構(gòu)的系統(tǒng),C/S架構(gòu)的系統(tǒng)又可以分為兩種,第一種是基本不用與服務(wù)器連接的,比如我們用到的java虛擬機(jī)JVMphoto shop平面處理軟件,我們可以開啟軟件更新功能,這時(shí)軟件向服務(wù)器發(fā)請(qǐng)求,查當(dāng)前版本是否是服務(wù)器端發(fā)布的最新版本,然后,提示用例是否需要更新或下載最新版本的軟件。當(dāng)然,我們也可以關(guān)閉更新功能或不檢測(cè)更新。那么這個(gè)軟件一樣可以在電腦上運(yùn)行。對(duì)于這類軟件,我的主要測(cè)試環(huán)境就是用戶的電腦。不同硬件配置、不同操作系統(tǒng)下對(duì)軟件一系列,從安裝使用到卸載。除了驗(yàn)證軟件與硬件和系統(tǒng)的兼容性能,還需要驗(yàn)證與其它軟件是否兼容。

      第二種類型的C/S軟件要時(shí)刻與服務(wù)器與連接,比如我的在線網(wǎng)游,QQ聊天工具等。從軟件的啟動(dòng)就需要與服務(wù)器進(jìn)行連接,對(duì)于此類軟件,我們測(cè)試環(huán)境的重點(diǎn)依然是用戶電腦,但服務(wù)器端必須也有一個(gè)相對(duì)應(yīng)的測(cè)試環(huán)境支撐。

      對(duì)于B/S的系統(tǒng),我們測(cè)試環(huán)境的重點(diǎn)就要由用戶電腦轉(zhuǎn)為服務(wù)器端了,因?yàn)橄到y(tǒng)的所有功能都是由服務(wù)器端傳遞給用戶的,所以需要驗(yàn)證服務(wù)器傳遞來的功能是否可用,以及功能的容錯(cuò)能力等。

      再回到測(cè)試環(huán)境的問題上,對(duì)于一些企業(yè)為了節(jié)約資源,進(jìn)行功能測(cè)試的測(cè)試環(huán)境,一臺(tái)服務(wù)器可以運(yùn)行多個(gè)系統(tǒng),通過技術(shù)手段可以使系統(tǒng)之間是不會(huì)相互影響的(以前公司就是一臺(tái)服務(wù)器上跑多個(gè)tomcat)。因?yàn)楣δ軠y(cè)試的重點(diǎn)大于系統(tǒng)對(duì)客戶端發(fā)來的請(qǐng)求是否可以進(jìn)行正確的處理。

      那么性能測(cè)試為什么對(duì)系統(tǒng)的環(huán)境要求干凈、獨(dú)立呢?性能測(cè)試是要對(duì)整個(gè)系統(tǒng)運(yùn)行的軟件硬件環(huán)境進(jìn)行測(cè)試的,如果某環(huán)境下運(yùn)行多個(gè)系統(tǒng),就很難判斷其中的某個(gè)環(huán)境對(duì)資源的占用情況。

     

     

    性能測(cè)試環(huán)境包含內(nèi)容                                                                          

     

    一般web應(yīng)用系統(tǒng)分為3層架構(gòu)(在系統(tǒng)架構(gòu)一章中有介紹)

    * 表現(xiàn)層(web服務(wù)器)

    * 業(yè)務(wù)邏輯層(應(yīng)用服務(wù)器)

    * 數(shù)據(jù)層(數(shù)據(jù)庫(kù)服務(wù)器)

     

    性能測(cè)試環(huán)境包含內(nèi)容

    硬件:服務(wù)器、客戶端、交換機(jī)等。

    軟件:數(shù)據(jù)庫(kù)、中間件、被測(cè)系統(tǒng)、操作系統(tǒng)等。

    網(wǎng)絡(luò):有線/無線/寬帶、網(wǎng)絡(luò)協(xié)議等。

     

     

    如何保證測(cè)試環(huán)境與真實(shí)生產(chǎn)的一致性                                             

     

    保證性能測(cè)試與真實(shí)生產(chǎn)環(huán)境的一致性,具體從以下三個(gè)方面來看:

    1、硬件環(huán)境,包括服務(wù)器環(huán)境、與網(wǎng)絡(luò)環(huán)境

      如服務(wù)器的型號(hào)以及是否和其它應(yīng)用程序共享此服務(wù)器,是否在集群環(huán)境下,是否通過BIGIP進(jìn)行負(fù)載均衡,客戶使用的硬件配置情況,使用的交換機(jī)型號(hào),網(wǎng)絡(luò)傳輸速率。

     

    2、軟件環(huán)境

    版本一致性

      包括包括操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件的版本,被測(cè)系統(tǒng)的版本。

    配置一致性

      系統(tǒng)(操作系統(tǒng)/數(shù)據(jù)庫(kù)/中間件/被測(cè)試系統(tǒng))參數(shù)的配置一致,這些系統(tǒng)參數(shù)的配置有可能對(duì)系統(tǒng)造成巨大的影響。所以,除了保證測(cè)試環(huán)境與真實(shí)環(huán)境所使用的軟件版本一致,也要關(guān)注其參數(shù)的配置是否一致。

     

    3、使用場(chǎng)景的一致性

    基礎(chǔ)數(shù)據(jù)的一致性

      包括預(yù)測(cè)的業(yè)務(wù)數(shù)據(jù)量,以及數(shù)據(jù)類型的分配。很簡(jiǎn)單的一個(gè)列子,一個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)只有10條數(shù)據(jù)和一條數(shù)據(jù)庫(kù)里幾千萬條數(shù)據(jù),我們?cè)趯?duì)其進(jìn)行性能測(cè)試時(shí),得到的性能指標(biāo)可能會(huì)有非常大的差別。

      為了保證每次測(cè)試環(huán)境的更加一致性,磁盤的使用情況以及磁盤的碎片情況也會(huì)或多或少的影響的性能。

    使用模式的一致性

      盡量模擬真實(shí)場(chǎng)景下用戶的使用情況,其實(shí),我們?cè)谧鲂阅軠y(cè)試前期的需求分析,其主要目的也就是為了更真實(shí)的模擬用戶的使用情況。

     

     

    性能測(cè)試環(huán)境的實(shí)施策略                                                            

     

      上面講測(cè)試環(huán)境與生產(chǎn)環(huán)境保持一致所需要注意的內(nèi)容。其實(shí)在實(shí)際的測(cè)試中,我們很難搭建出與生產(chǎn)環(huán)境完全一致的一個(gè)測(cè)試環(huán)境,除非我們暫停生產(chǎn)環(huán)境用戶于進(jìn)行性能測(cè)試,這往往是不可能。一方面某些生產(chǎn)環(huán)境是不允許被暫停的,另一方面也為生產(chǎn)環(huán)境的安全性考慮。

      性能測(cè)試環(huán)境并不像功能測(cè)試環(huán)境,為了節(jié)省資源可以一臺(tái)服務(wù)器上運(yùn)行多個(gè)系統(tǒng)。由于性能測(cè)試的特殊性,整個(gè)測(cè)試環(huán)境需要在嚴(yán)格的獨(dú)立監(jiān)控下管理,在很多情況下,我們很難申請(qǐng)到足夠的且一致的資源(說白了就是老板是否愿意出錢給你買服務(wù)器搭建系統(tǒng))。對(duì)于一個(gè)并未上線的項(xiàng)目,其生產(chǎn)環(huán)境的配置也屬于暫定狀態(tài),性能測(cè)試的目的就是為了確定具體生產(chǎn)環(huán)境的硬件配置。這個(gè)時(shí)候更不可能用過高的配置來搭建性能環(huán)境(除非現(xiàn)成的環(huán)境放著不用)。

    我們一般通過兩種策略來搭建性能測(cè)試環(huán)境(預(yù)估方式均有誤差)

     

    1、通過建模的方式實(shí)現(xiàn)低端硬件對(duì)高端硬件的模擬

      通過配置測(cè)試來計(jì)算不同配置下的硬件性能和系統(tǒng)處理能力的關(guān)系,從而推導(dǎo)出滿足系統(tǒng)性能的真實(shí)配置情況,這種模擬需要精確的建模,模型的采樣點(diǎn)越多,那么得到的結(jié)果越精確,從而將在低端配置下的性能指標(biāo)通過該模型轉(zhuǎn)化為高端配置下的最終預(yù)計(jì)性能指標(biāo)。

      例如:搭建一個(gè)低端環(huán)境,首先需要對(duì)這個(gè)環(huán)境的CPU和內(nèi)存進(jìn)行單獨(dú)的性能基準(zhǔn)測(cè)試,同過在不同的配置的性能測(cè)試,得到一個(gè)基準(zhǔn)信息列表,當(dāng)然,在進(jìn)行這個(gè)性能測(cè)試的過程中,我們要確定硬件是系統(tǒng)的瓶頸。如果只用一個(gè)CUP,在性能測(cè)試過程中,其使用率很低,但得到的性能數(shù)據(jù)都非常底,這起碼說明CUP不是系統(tǒng)的平靜,這種情況下就無法得到想要的基準(zhǔn)值。

      如上圖,在一顆CPU情況下,運(yùn)行100個(gè)用戶且CUP使用率接近飽和(100%)。在增加至兩顆CUP的情況下,可以運(yùn)行190個(gè)用戶且UPU使用率接近飽和(100%),以此做記錄,那么我們就可以推算出運(yùn)行800個(gè)用戶需要多少顆CUP。

      如果你在實(shí)際應(yīng)用中使用的CUP型號(hào)及其頻率并非完全一樣,這個(gè)時(shí)候可以使用EVEREST工具計(jì)算每種CUP的得分,對(duì)其性能進(jìn)行評(píng)估。

      內(nèi)存也可以使用此方法進(jìn)行測(cè)試推導(dǎo),這里需要我們多進(jìn)行試驗(yàn),對(duì)硬件的性能以及對(duì)整個(gè)項(xiàng)目的結(jié)構(gòu)都要做深入的了解,以便盡量減少誤差。

     

    2、通過集群的方式計(jì)算

      對(duì)于較大的系統(tǒng)來說,單臺(tái)服務(wù)器的處理能力是有限的,通常都會(huì)采用集群的方式來進(jìn)行負(fù)載均衡,完成對(duì)海量請(qǐng)求的處理。雖然無法獲得整體集群的測(cè)試環(huán)境,但是可以對(duì)集群上的一個(gè)節(jié)點(diǎn)進(jìn)行性能測(cè)試,得出該節(jié)點(diǎn)的處理能力,再計(jì)算每增加一個(gè)節(jié)點(diǎn)的性能損失,同樣也可以能過建模的方式得到大型負(fù)載均衡情況下的預(yù)計(jì)性能指標(biāo)。

      例如:首先在單臺(tái)服務(wù)器上獲得具體的性能指標(biāo),每臺(tái)服務(wù)器能夠承受500用戶并發(fā),平均TPS60,響應(yīng)時(shí)間為2秒,接著,添加負(fù)載均衡策略,再次測(cè)試負(fù)載策略下的數(shù)據(jù)損耗。得出數(shù)據(jù)后添加1臺(tái)負(fù)載均衡服務(wù)器,測(cè)試在兩臺(tái)服務(wù)器下每臺(tái)服務(wù)器的性能指標(biāo),以此類推,可以得到下表:

      隨著負(fù)載均衡服務(wù)器的添加,平均每臺(tái)服務(wù)器的處理能力會(huì)逐漸穩(wěn)定,從而了解在什么情況下需要多少臺(tái)負(fù)載均衡服務(wù)器。

      對(duì)于測(cè)試環(huán)境的搭建,建議生成專門的文檔進(jìn)行管理,并進(jìn)行配置管理,確保對(duì)測(cè)試環(huán)境做到基線控制。

     

    ------------------------------------------

      這個(gè)性能測(cè)試系列以理論與性能測(cè)試的整體講解為主,市面上的大部分書籍借著性能測(cè)試的表皮在講性能測(cè)試工具loadrunner,那我何不找份loadrunner使用手冊(cè)來看更好。
    總結(jié):我們得測(cè)試環(huán)境盡量要模擬真實(shí)環(huán)境 如果硬件達(dá)不到 我們可以采用概率論的方法 進(jìn)行估算,但是軟件方面環(huán)境必須一致,然后根據(jù)我們硬件的配置 進(jìn)行概率分析后推測(cè),有條件的公司可以進(jìn)行一次驗(yàn)證。

    posted on 2014-02-10 10:52 順其自然EVO 閱讀(1047) 評(píng)論(0)  編輯  收藏 所屬分類: 性能測(cè)試

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 小说区亚洲自拍另类| 亚洲午夜福利在线视频| 亚洲精品在线免费观看视频| 久久久久亚洲av无码专区导航| 色婷婷六月亚洲婷婷丁香| 亚洲av无码国产综合专区| 精品亚洲成a人在线观看| 好湿好大好紧好爽免费视频| 18女人腿打开无遮掩免费| 免费无码一区二区三区蜜桃大| 国产在线观看免费不卡| 亚洲精品国产精品乱码在线观看| 亚洲色图在线播放| 亚洲精品美女久久7777777 | 亚洲AV无码一区二区二三区入口| 亚洲大尺码专区影院| 精品无码专区亚洲| 在线看片免费人成视频播| 一二三四视频在线观看中文版免费| 免费a级毛片在线观看| 亚洲av鲁丝一区二区三区| 亚洲一区二区三区在线观看网站| 一级毛片在线完整免费观看| 91人成网站色www免费下载| 国产一区二区三区免费在线观看 | 亚洲av永久无码精品漫画| 亚洲卡一卡二卡乱码新区| ssswww日本免费网站片| 2021免费日韩视频网| 亚洲人午夜射精精品日韩| 亚洲在成人网在线看| 一本到卡二卡三卡免费高| 日韩在线播放全免费| 亚洲真人日本在线| 2019亚洲午夜无码天堂| 中文在线观看国语高清免费| 大学生美女毛片免费视频| 久久亚洲AV午夜福利精品一区| 亚洲AV无码资源在线观看| 特级精品毛片免费观看| 哒哒哒免费视频观看在线www|