大家好,歡迎大家走進(jìn)R性能測(cè)試分析與實(shí)戰(zhàn),
_什么是web性能測(cè)試及web性能測(cè)試的目的和測(cè)試方法的條件
今天的個(gè)知識(shí)點(diǎn)就是給大家介紹一下什么是性能測(cè)試以及性能測(cè)試的目的
隨著互聯(lián)網(wǎng)用戶的巨增,商家和使用者都越來(lái)越重視軟件的性能表現(xiàn)。
比如,大家較熟悉的火車票訂票網(wǎng)站,在每年的春運(yùn),網(wǎng)站都需要承載幾十萬(wàn),甚至上百萬(wàn)用戶的訂票需求,而不癱瘓。這就是一種軟件性能表現(xiàn)。
這里我們所說(shuō)的性能,其實(shí)就是一種指標(biāo),它是看軟件系統(tǒng)對(duì)其及當(dāng)前性能指標(biāo)要求的符合程度。是可以用時(shí)間來(lái)衡量的。
而不同的層面用戶關(guān)注的性能表現(xiàn)是不一樣的。
如果你是用戶,你所關(guān)注的一般是操作的響應(yīng)時(shí)間,比如你進(jìn)行點(diǎn)擊某個(gè)網(wǎng)站進(jìn)行登錄操作,多時(shí)間登錄到網(wǎng)站,這所花費(fèi)的時(shí)間就是用戶對(duì)軟件性能的一種直觀印。
如果你是系統(tǒng)管理員,你所關(guān)注的除了響應(yīng)時(shí)間上與用戶的視角是一至的外,還需要關(guān)注系統(tǒng)資源的使用情況,包括CPU的使用情況,內(nèi)存,I/O讀寫(xiě)等一些其它有數(shù)據(jù)交互的情況,如,管理員需要考慮當(dāng)前軟件在某一時(shí)刻,有00 個(gè),或是00 個(gè)用戶發(fā)操作是否會(huì)有軟件性能問(wèn)題。
如果你是軟件開(kāi)發(fā)工程師,你所關(guān)注的是用戶和管理員的所有關(guān)注的所有問(wèn)題,還需要關(guān)注,內(nèi)存泄漏,數(shù)據(jù)庫(kù)是否會(huì)出現(xiàn)死鎖,中間件和應(yīng)用服務(wù)器等一系列問(wèn)題。
那我們做web性能測(cè)試的主要目的是什么呢?
:獲得web應(yīng)用的性能表現(xiàn),指的就是性能指標(biāo)是否達(dá)到性能測(cè)試方案設(shè)定的要求。比如:登錄的響應(yīng)時(shí)間需要符合0原則,而如果大部分發(fā)用戶,操作**過(guò)7s,雖然符合指標(biāo)要求,但需要優(yōu)。
:發(fā)現(xiàn)驗(yàn)證,需要修改web應(yīng)用網(wǎng)站受影響的性能BUG。這個(gè)受影響的因就比較多了,比如,內(nèi)存,硬盤,網(wǎng)速,環(huán)境配置,WEB服務(wù)器等,都會(huì)對(duì)網(wǎng)站造成性能BUG。
:可以為網(wǎng)站優(yōu)提供數(shù)據(jù)參考標(biāo)準(zhǔn)。比如某飛機(jī)票訂票網(wǎng)站,根據(jù)每天用戶訂票時(shí)間段的不同,航班訂票量的不同,可以選取負(fù)載測(cè)試和壓力測(cè)試。而節(jié)假日訂票量大增的情況。可以選取尖峰沖擊測(cè)試了。性能測(cè)試后得出的一些性能測(cè)試數(shù)據(jù),假如得出結(jié)果是系統(tǒng)在達(dá)到00萬(wàn)用戶時(shí)同時(shí)訂北京飛往上海航班晚間時(shí)段時(shí),系統(tǒng)處于瓶頸狀態(tài)。這00萬(wàn)數(shù)量,系統(tǒng)瓶頸。就是我們需要網(wǎng)站優(yōu)的數(shù)據(jù)參考了。我們性能測(cè)試工程師就是圍繞這三點(diǎn)進(jìn)行性能測(cè)試的。
什么是性能測(cè)試和目的就給大家介紹到這里。
_web性能測(cè)試執(zhí)行的前提條件
現(xiàn)在給大家介紹一下web性能測(cè)試的執(zhí)行條件
對(duì)于進(jìn)行WEB性能測(cè)試的方法是有一定的前提條件的。
:首先我們要測(cè)試的WEB網(wǎng)站,一定是已經(jīng)穩(wěn)定的版本,也就是已經(jīng)上線一段時(shí)間的版本。在功能上本是沒(méi)有BUG的。
:我們測(cè)試的環(huán)境,必須與開(kāi)發(fā)環(huán)境分開(kāi),盡量模擬真實(shí)用戶的使用環(huán)境進(jìn)行性能測(cè)試。一定要有一個(gè)大至的參照物,比如硬件環(huán)境要接近于用戶使用環(huán)境,軟件環(huán)境盡量保持一致,這一點(diǎn)是非常重要的,否則我們的做的性能測(cè)試是沒(méi)有意義的。
這就是做WEB性能測(cè)試執(zhí)行的前提條件。你一定要記住哦。
_性能測(cè)試工具R簡(jiǎn)介
下面就給大家介紹一下性能測(cè)試的工具R
做好性能測(cè)試,除了有扎實(shí)的性能測(cè)試?yán)碚摰A(chǔ)處,必須借助性能測(cè)試工具,
比如我們需要模擬上百萬(wàn)用戶發(fā)使用當(dāng)前網(wǎng)站,測(cè)試當(dāng)前網(wǎng)站的負(fù)載能力。那上百萬(wàn)用戶如何獲得呢?使用自動(dòng)測(cè)試工具,是較節(jié)省人力和物力的。
市場(chǎng)上有很多性能測(cè)試工具。我們課程里主要使用是HP公司出的性能測(cè)試工具oaRuer
它是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具。通過(guò)以模擬上千萬(wàn)用戶實(shí)施發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,
oaRuer 能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過(guò)使用oaRuer ,企業(yè)能限度地縮短測(cè)試時(shí)間,優(yōu)性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。非常適用于各種體系架構(gòu)的自動(dòng)負(fù)載測(cè)試工具,同時(shí)它還支持廣范的協(xié)議和技術(shù),為您的特殊環(huán)境提供特殊的解決方案。
也就是說(shuō),需要學(xué)會(huì)性能指標(biāo)設(shè)定與分析結(jié)合使用R工具才能做好性能測(cè)試工作。
下面就給大家演示一個(gè)R的安裝過(guò)程
_性能測(cè)試的流程
我們學(xué)習(xí)性能測(cè)試,一定要知道性能測(cè)試的本流程,
我們一塊來(lái)看一下,共分為**步。
:確認(rèn)web應(yīng)用的業(yè)務(wù)流程:
在實(shí)際的工作當(dāng)中,做性能測(cè)試的步,需要找到系統(tǒng)業(yè)務(wù)頻繁操作的模塊,因?yàn)檫@樣的模塊會(huì)對(duì)系統(tǒng)造成一定的壓力。
比如訂票系統(tǒng),可能會(huì)出現(xiàn)的性能問(wèn)題是登錄壓力,訂票壓力,這就可以分成大業(yè)務(wù)流程 分別進(jìn)行性能測(cè)試了, 當(dāng)然也可以進(jìn)行混合場(chǎng)景測(cè)試。
:確認(rèn)性能測(cè)試達(dá)標(biāo)的標(biāo)準(zhǔn)
這個(gè)與我們之前的功能測(cè)試業(yè)務(wù)清晰度的標(biāo)準(zhǔn)不同,性能測(cè)試標(biāo)準(zhǔn)需要結(jié)合實(shí)際情況和項(xiàng)目階段,開(kāi)會(huì)大家討論而定,定出合理的性能指標(biāo)達(dá)標(biāo)標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)是通過(guò)數(shù)據(jù)值來(lái)體現(xiàn)的。比如:某網(wǎng)銀網(wǎng)站,每天在線用戶,和進(jìn)行交易的用戶量是巨大的,網(wǎng)銀服務(wù)器也同時(shí)承受巨大的壓力,這里我們需要規(guī)劃好主要的性能目標(biāo),比如:在當(dāng)前的使用環(huán)境下峰值交易壓力下系統(tǒng)性能表現(xiàn)情況。未來(lái)年預(yù)期峰值交易壓力下的系統(tǒng)性能表現(xiàn)情況。系統(tǒng)能獲取支持的處理能力表現(xiàn),一般指的是交易數(shù),和發(fā)數(shù),是通過(guò)數(shù)字來(lái)體現(xiàn)的。再者需要考察當(dāng)前網(wǎng)銀的服務(wù)能力,也就是我們進(jìn)行網(wǎng)銀業(yè)務(wù)交易時(shí),系統(tǒng)的交易響應(yīng)時(shí)間,是否能讓大部分使用者接受。最后就是要發(fā)現(xiàn)系統(tǒng)可能存的瓶頸點(diǎn)。這些我們需要寫(xiě)在下一步的方案里。我們下一步就是
:編寫(xiě)性能測(cè)試計(jì)劃與方案
這個(gè)環(huán)節(jié)是非常重要的,本門課程的**大模塊主要就是學(xué)習(xí)性能指標(biāo)的設(shè)定和計(jì)算解析,較終是要寫(xiě)到此方案里面的,作為后面使用工具進(jìn)行性能測(cè)試的準(zhǔn)則。
我們可以看一下某項(xiàng)目的性能測(cè)試計(jì)劃與方案目錄,大家可以清楚的知道,大至可以分為五大部分,部分是,測(cè)試簡(jiǎn)介,這個(gè)部分主要內(nèi)容是,測(cè)試的目標(biāo),目標(biāo)就是我們剛才提到本流程的內(nèi)容。*部分是性能指標(biāo)需求,大家看到的指標(biāo),是我們?cè)谙乱徽鹿?jié)學(xué)習(xí)的內(nèi)容,朋友們一定要記住學(xué)會(huì)分析指標(biāo),才能做好性能測(cè)試。*三部分就是測(cè)試方案,這是個(gè)非常重要的環(huán)節(jié),是需要性能測(cè)試工程師,去設(shè)計(jì)R的使用場(chǎng)景的,例如可以寫(xiě)這樣一個(gè)簡(jiǎn)單的場(chǎng)景:對(duì)當(dāng)前轉(zhuǎn)賬事務(wù)模塊進(jìn)行性能測(cè)試,發(fā)用戶00人,CPU使用率分別在% 70% 0%情況下,使用R進(jìn)行負(fù)載測(cè)試,壓力測(cè)試。運(yùn)行時(shí)間為小時(shí)。根據(jù)這個(gè)業(yè)務(wù)結(jié)合R工具進(jìn)行場(chǎng)景設(shè)計(jì)是這樣的,發(fā)00用戶,每S加載一個(gè)用戶進(jìn)行轉(zhuǎn)賬操作,共運(yùn)行小時(shí),添加集合點(diǎn)統(tǒng)一進(jìn)行負(fù)載測(cè)試。這是就是一個(gè)簡(jiǎn)單場(chǎng)景結(jié)合R工具的設(shè)計(jì)。*四部分是:測(cè)試實(shí)施情況,主要是性能測(cè)試監(jiān)控過(guò)程部分記錄。*五部分是測(cè)試結(jié)果,這也是重點(diǎn)環(huán)節(jié),使用R運(yùn)行*三部分設(shè)計(jì)的場(chǎng)景后,得出性能測(cè)試分析圖和數(shù)據(jù),進(jìn)行指標(biāo)值和實(shí)際值對(duì)比分析,找出性能BUG的真正原因。這就是整個(gè)性能測(cè)試方案的涉及的大至內(nèi)容。
:設(shè)計(jì)測(cè)試過(guò)程
第四步就是設(shè)計(jì)測(cè)試過(guò)程。
這個(gè)設(shè)計(jì)測(cè)試過(guò)程,其實(shí)是方案里面的*三部分,就是場(chǎng)景的設(shè)計(jì)。我們?cè)O(shè)計(jì)好的場(chǎng)景,還需要編寫(xiě)性能測(cè)試用例表。每一個(gè)場(chǎng)景對(duì)應(yīng)一個(gè)測(cè)試用例
我們以剛剛的例子為例:設(shè)計(jì)好的場(chǎng)景是這樣的:發(fā)00用戶,每S加載一個(gè)用戶進(jìn)行轉(zhuǎn)賬操作,共運(yùn)行小時(shí),添加集合點(diǎn)統(tǒng)一進(jìn)行負(fù)載測(cè)試。
根據(jù)這個(gè)場(chǎng)景,我們?cè)O(shè)計(jì)出如下測(cè)試用例(插入網(wǎng)銀轉(zhuǎn)賬性能測(cè)試用例.oc):主要是編寫(xiě)模擬場(chǎng)景的錄制過(guò)程,編寫(xiě)期望性能指標(biāo)值。我們這里填寫(xiě)的是不能**過(guò) s。性能測(cè)試用例編寫(xiě)好后,我們需要進(jìn)行配置測(cè)試環(huán)境,就是我們的*五個(gè)步驟。
:配置測(cè)試環(huán)境
web應(yīng)用的性能測(cè)試環(huán)境要盡可能地接近真實(shí)的用戶使用環(huán)境,才能保證我們測(cè)試數(shù)據(jù)的有效性。這個(gè)需要公司的開(kāi)發(fā)人員配合,獲取某些權(quán)限,或屏蔽掉不必要的功能。
:測(cè)試過(guò)程設(shè)計(jì)的具體表現(xiàn)
這個(gè)我們需要使用工具R,根據(jù)*步驟,編寫(xiě)的性能測(cè)試用例表進(jìn)行腳本錄制。錄制后的腳本,使用代碼修改優(yōu)后,進(jìn)行R場(chǎng)景的設(shè)置。
這第六步到最后的幾個(gè)步驟都是使用R進(jìn)行測(cè)試的。
7:執(zhí)行性能測(cè)試的場(chǎng)景
這里的場(chǎng)景設(shè)置,是要根據(jù)方案里面提到的*三部分的設(shè)計(jì)R場(chǎng)景的需求,來(lái)進(jìn)行設(shè)置。剛才提到的場(chǎng)景例子是:對(duì)當(dāng)前轉(zhuǎn)賬事務(wù)模塊進(jìn)行性能測(cè)試,發(fā)00用戶,每 S加載一個(gè)用戶進(jìn)行轉(zhuǎn)賬操作,共運(yùn)行小時(shí),添加集合點(diǎn)統(tǒng)一進(jìn)行負(fù)載測(cè)試。其中:發(fā)用戶數(shù),每s加載用戶,運(yùn)行小時(shí),添加集合點(diǎn),都是通過(guò)R工具進(jìn)行設(shè)置的。
:分析性能測(cè)試
使用R工具生成運(yùn)行場(chǎng)景后的性能測(cè)試報(bào)告,與我們之前定的性能指標(biāo)相比較,分析出軟件系統(tǒng)的性能問(wèn)題。
9:web應(yīng)用性能方面的改進(jìn)
當(dāng)我們分析出性能問(wèn)題,公司需要開(kāi)個(gè)會(huì),提出優(yōu)建議。如:系統(tǒng)在轉(zhuǎn)賬模塊,發(fā)000用戶時(shí)出現(xiàn)響應(yīng)時(shí)間過(guò)慢的問(wèn)題,是網(wǎng)絡(luò),服務(wù)器,硬件,軟件 的問(wèn)題,還是出現(xiàn)了代碼內(nèi)存泄漏的問(wèn)題。需要找出真正的原因,提出性能優(yōu)方案。
0:下一輪性能測(cè)試
這一步可以直接從第六步開(kāi)始
現(xiàn)在給大家大家模擬一下在實(shí)際工作當(dāng)中性能測(cè)試的本流程:小強(qiáng)是一名軟件性能測(cè)工程師,剛到來(lái)到公司,主管給讓他測(cè)試已經(jīng)上線的一款購(gòu)物網(wǎng)站。這個(gè)購(gòu)物網(wǎng)站新增了一項(xiàng)功能就是積分換禮品的活動(dòng)。小強(qiáng)該如何展開(kāi)他的性能測(cè)試工作呢?首先,他需要做一個(gè)調(diào)研,確認(rèn)公司的網(wǎng)站軟硬件的使用環(huán)境,配置相應(yīng)的測(cè)試環(huán)境,安裝好R工具。小強(qiáng)向主管獲取了較近到個(gè)月,和較近一周的網(wǎng)站業(yè)務(wù)量?;蚴菑木W(wǎng)站以往的日志里進(jìn)行分析,統(tǒng)計(jì)出假期,工作日,白天時(shí)間段,夜間時(shí)間段,人員使用業(yè)務(wù)情況。開(kāi)始進(jìn)行性能測(cè)試方案的編寫(xiě),小強(qiáng)需要使用到的性能指標(biāo)根據(jù)統(tǒng)計(jì)好的數(shù)據(jù)進(jìn)行計(jì)算出,比如交易吞吐量,交易響應(yīng)時(shí)間,發(fā)數(shù),發(fā)交易成功率等性能指標(biāo)。當(dāng)指標(biāo)選定之后,我們需要選擇性能測(cè)試方法,這個(gè)業(yè)務(wù),小強(qiáng)選擇了,負(fù)載測(cè)試,壓力測(cè)試,還有就是尖峰沖擊測(cè)試。一切準(zhǔn)備好了,小強(qiáng)打開(kāi)R性能測(cè)試工具,對(duì)積分換禮品場(chǎng)景進(jìn)行錄制腳本,錄制好腳本以后,進(jìn)行代碼修改優(yōu)。在錄制過(guò)程當(dāng)中,需要開(kāi)發(fā)人員的協(xié)助,開(kāi)啟或屏蔽網(wǎng)站的權(quán)限,比如驗(yàn)證碼,就需要開(kāi)發(fā)人員進(jìn)行屏蔽。腳本錄制修改好后,小強(qiáng)開(kāi)始按照性能方案里場(chǎng)景設(shè)計(jì)進(jìn)行R場(chǎng)景設(shè)置。執(zhí)行完畢后生成的報(bào)告和測(cè)試方案里的指標(biāo)需求進(jìn)行對(duì)比,分析出對(duì)比值。小強(qiáng)發(fā)現(xiàn)當(dāng)設(shè)定00用戶同時(shí)發(fā)處理積分換禮品模塊,系統(tǒng)響應(yīng)時(shí)間過(guò)慢。小強(qiáng)統(tǒng)計(jì)出平均事務(wù)響應(yīng)時(shí)間指標(biāo)值,發(fā)用戶數(shù)等指標(biāo)。與開(kāi)發(fā)人員溝通,確定影響系統(tǒng)性能的較終問(wèn)題。
這就是整個(gè)使用R進(jìn)行性能測(cè)試的流程,就給大家介紹到這里。是不是很容易呢。
_web性能測(cè)試的分類-壓力測(cè)試
在工作當(dāng)中,我們要針對(duì)不同的項(xiàng)目的不同階段來(lái)做不同的性能測(cè)試。現(xiàn)在給大家介紹一下性能測(cè)試的分類。
web性能測(cè)試大至可以分為7大類:壓力測(cè)試,負(fù)載測(cè)試,發(fā)測(cè)試,配置測(cè)試,耐久度測(cè)試,失敗恢復(fù)性測(cè)試,尖峰沖擊測(cè)試。
現(xiàn)在就給大家詳細(xì)介紹一下每一種性能測(cè)試:
首先什么是壓力測(cè)試呢?
壓力測(cè)試:它是測(cè)試web應(yīng)用在事先預(yù)定的某種飽和狀態(tài)下,比如CPU處于7%利用率的情況下,系統(tǒng)是否還具備處理業(yè)務(wù)能力,或者系統(tǒng)會(huì)發(fā)生什么樣的錯(cuò)誤。
我們舉個(gè)例子,在體育場(chǎng)上有一個(gè)經(jīng)典動(dòng)作是托馬斯全旋,通過(guò)在這樣的條件下比賽,裁判來(lái)考察運(yùn)動(dòng)員的完成質(zhì)量,由于動(dòng)作難度系數(shù)本一致,重點(diǎn)是完成質(zhì)量的穩(wěn)定性。這樣同學(xué)們就能理解什么是壓力測(cè)試了,
一般壓力測(cè)試,就要考察系統(tǒng)的穩(wěn)定性,就是系統(tǒng)在處于較大的壓力下,是否還能維持正常的處理業(yè)務(wù)的能力。具體的操作過(guò)程是通過(guò)對(duì)系統(tǒng)施加負(fù)荷,比如模擬用戶對(duì)WEB應(yīng)用的訪問(wèn),使系統(tǒng)占用保持在一個(gè)事先約定的水平,來(lái)檢驗(yàn)此時(shí)系統(tǒng)的表現(xiàn)情況,測(cè)試的重點(diǎn)在于系統(tǒng)對(duì)用戶響應(yīng)時(shí)間的變,系統(tǒng)是否會(huì)出現(xiàn)錯(cuò)誤或崩潰等等。剛才提到的CPU處于7%利用率,就是壓力測(cè)試的目標(biāo)值。
壓力測(cè)試給大家介紹到這里,你理解了么?
_性能測(cè)試的分類-負(fù)載測(cè)試
在性能測(cè)試過(guò)程當(dāng)中,負(fù)載測(cè)試和壓力測(cè)試是容易混淆的。現(xiàn)在給大家介紹一下負(fù)載測(cè)試:此方法是通過(guò)在被測(cè)系統(tǒng)上不斷增加負(fù)荷,直到事先選定的性能指標(biāo)(比如響應(yīng)時(shí)間),變?yōu)椴豢山邮芑蛳到y(tǒng)的某類資源使用已經(jīng)達(dá)到飽和狀態(tài),直到找到系統(tǒng)不可使用的極限點(diǎn)的過(guò)程 。
舉個(gè)例子來(lái)說(shuō),負(fù)載測(cè)試就像是體育比賽的舉重,選手不斷地增加重量,挑戰(zhàn)自己的極限,直到杠鈴加到某一個(gè)重量的時(shí)候,三次試舉,都失敗。這一重量的數(shù)據(jù)就是比賽的較終結(jié)果了。
負(fù)載測(cè)試的主要目的是找出系統(tǒng)處理能力的極限點(diǎn)。
我們可以看一個(gè)圖,給大家展示一下種優(yōu)方法經(jīng)負(fù)載測(cè)試的結(jié)果:
A方法的性能測(cè)試極限在A點(diǎn)上,B方法的性能極限在B點(diǎn)上,根據(jù)負(fù)載測(cè)試的定義,比AB兩點(diǎn)值 小的部分都是系統(tǒng)的安全運(yùn)行區(qū)間,由于B的數(shù)值要大于A,說(shuō)明彩用B方法優(yōu),系統(tǒng)的可擴(kuò)展性就高了。
(此插入性能測(cè)試的分類-負(fù)載測(cè)試_優(yōu)對(duì)比圖.jpg)
負(fù)載測(cè)試方法的操作是一個(gè)不斷加壓的過(guò)程,是一個(gè)“性能指標(biāo)記錄-增加負(fù)荷”的一個(gè)操作循環(huán),直到預(yù)定被關(guān)注的性能指標(biāo)不達(dá)標(biāo),這就是我們要找的極限點(diǎn),通常場(chǎng)景是這樣的:“在給定條件下當(dāng)前WEB應(yīng)用將較多允許萬(wàn)個(gè)發(fā)用戶的訪問(wèn)”或是“在給定的條件下,當(dāng)前WEB應(yīng)用較多能夠在分鐘內(nèi)處理000次用戶對(duì)數(shù)據(jù)庫(kù)的添加或修改操作”。一般常見(jiàn)的負(fù)載性能測(cè)試的指標(biāo)是:大家一定要記住哦,響應(yīng)時(shí)間,WEB服務(wù)器相關(guān)指標(biāo),平均CPU利用率。
負(fù)載測(cè)試就給大家介紹到這里。
_性能測(cè)試的分類-發(fā)測(cè)試
發(fā)測(cè)試方法通過(guò)模擬很多用戶在同一時(shí)刻訪問(wèn)系統(tǒng)或?qū)ο到y(tǒng)的一個(gè)功能進(jìn)行操作,來(lái)測(cè)試系統(tǒng)的性能。通常網(wǎng)銀,航空訂票等系統(tǒng)都需要大量用戶同時(shí)訪問(wèn)和操作.
發(fā)所考察的是系統(tǒng)在發(fā)處理方面是否存在缺陷,它是需要我們后面介紹的工具來(lái)進(jìn)行模擬用戶訪問(wèn)操作的。而發(fā)所關(guān)注的性能問(wèn)題是什么呢?給大家模擬一個(gè)場(chǎng)景。:很多顧客在飯店里就餐,就是一個(gè)發(fā)場(chǎng)景,可能會(huì)出現(xiàn)這樣的問(wèn)題,餐桌是有限的,客人很多,**出桌子的數(shù)目,就只能排隊(duì)叫號(hào)了,類似這樣搶空間桌子的情況在程序代碼中也會(huì)出現(xiàn),叫做資源爭(zhēng)用,:如果飯店,還有一個(gè)空桌,但被別人預(yù)定了,但目前客人很多,服務(wù)員如何處理呢,一般是等0分鐘左右,聯(lián)系預(yù)定人的電話等方法,類似這樣的有關(guān)保留預(yù)定與放棄的情況在程序代碼或是數(shù)據(jù)庫(kù)也會(huì)出現(xiàn)的,一般叫做活鎖和死鎖。:如果飯店的服務(wù)員忙不過(guò)來(lái),可能會(huì)出現(xiàn)有的客人已經(jīng)結(jié)賬走人了,但服務(wù)員沒(méi)有及時(shí)清理桌布,收盤子,導(dǎo)致其他客人不能就餐,無(wú)形中使得飯店的接待能力下降很多。由于代碼的問(wèn)題使得類似上面這樣的情況在程序運(yùn)行中也會(huì)出現(xiàn),這就叫做內(nèi)存泄漏。所以我們得出,發(fā)測(cè)試關(guān)注的性能問(wèn)題是,你一定要記下,是
系統(tǒng)中的內(nèi)存泄漏, 線程的控制,也就是鎖的問(wèn)題,還有就是資源爭(zhēng)用了。
發(fā)測(cè)試就給大家介紹到這里。你是否明白了呢?
7_性能測(cè)試的分類-配置測(cè)試
下面給大家介紹一下配置測(cè)試
所謂配置測(cè)試,是通過(guò)對(duì)被測(cè)系統(tǒng)所處的軟硬件環(huán)境進(jìn)行設(shè)置上的調(diào)整,來(lái)了解其對(duì)于系統(tǒng)性能影響的程度,根據(jù)結(jié)果發(fā)現(xiàn)環(huán)境的較優(yōu)配置組合,這個(gè)測(cè)試方法主要用于性能的優(yōu),一般用于web應(yīng)用正式投入使用的前階段和運(yùn)行當(dāng)中。
我們舉個(gè)例子,比如我們?cè)谑褂秒娔X的過(guò)程當(dāng)中,其實(shí)每個(gè)人都在做過(guò)這樣的測(cè)試,就是WI7在使用一段時(shí)間后,電腦運(yùn)行的速度可能會(huì)減慢,那么我們可能就會(huì)上網(wǎng)查詢具體變慢的原因,來(lái)更改一些系統(tǒng)默認(rèn)的設(shè)置,從實(shí)際的效果來(lái)驗(yàn)證這些設(shè)置的更改是否有效。這種無(wú)效的配置很可能恢復(fù)成默認(rèn)值,這就是一種配置測(cè)試,
而它的目的,在于發(fā)現(xiàn)當(dāng)前修改的這種配置是否能夠有效提高WEB應(yīng)用的性能。那何時(shí)做這種配置測(cè)試比較合適呢?一般是我們還沒(méi)有把所有需要的軟件都安裝完畢之前,一般是不會(huì)做配置測(cè)試的,這是因?yàn)檫@段時(shí)間即使修改了軟件,硬件的配置,進(jìn)行了優(yōu),這種配置也可能被新安裝的軟件之后覆蓋掉,導(dǎo)致優(yōu)失敗,同樣的道理,在WEB應(yīng)用程序代碼沒(méi)有開(kāi)發(fā)完畢,測(cè)試沒(méi)有本完成,BUG沒(méi)有修復(fù),這個(gè)時(shí)間是不能進(jìn)行配置測(cè)試的。所以配置測(cè)試是測(cè)試WEB應(yīng)用所依賴的軟,硬件配置對(duì)于性能的影響的。所以我們只需要考慮個(gè)部分::軟件部分:數(shù)據(jù)庫(kù)各個(gè)參數(shù)的設(shè)置,操作系統(tǒng)各個(gè)參數(shù)的設(shè)置,網(wǎng)絡(luò)帶寬的設(shè)置。:硬件部分,硬盤緩存,硬盤運(yùn)行模式,磁盤陳列的設(shè)置等等。
好配置測(cè)試就給大家介紹到這里。
_耐久度測(cè)試
現(xiàn)在我們一塊來(lái)談?wù)勑阅軠y(cè)試當(dāng)中的耐久度測(cè)試,這種測(cè)試的具體方法是使被測(cè)試的系統(tǒng)應(yīng)用在大負(fù)荷條件下時(shí)間運(yùn)行,從中發(fā)現(xiàn)問(wèn)題,主要是發(fā)現(xiàn)的問(wèn)題都和被測(cè)系統(tǒng)運(yùn)行時(shí)間變以后,一些資源無(wú)法釋放,導(dǎo)致系統(tǒng)的響應(yīng)時(shí)間慢慢變有關(guān)。
一般我們可以發(fā)現(xiàn)這幾點(diǎn)::就是嚴(yán)重的內(nèi)存泄漏,會(huì)導(dǎo)致系統(tǒng)內(nèi)存慢慢不夠使用了。:數(shù)據(jù)庫(kù)連接,數(shù)據(jù)庫(kù)游標(biāo),應(yīng)用服務(wù)器,資源沒(méi)有適時(shí)的釋放,導(dǎo)致系統(tǒng)變慢,:被測(cè)系統(tǒng)代碼中的數(shù)據(jù)結(jié)構(gòu)不太合理,在時(shí)間運(yùn)行后,對(duì)其中的增,刪,改查,等速度會(huì)出現(xiàn)一系列的問(wèn)題。
耐久度測(cè)試至少要關(guān)注以下幾個(gè)指標(biāo):首先是CPU使用率,可用內(nèi)存的大小,內(nèi)存使用百分比等等。通過(guò)隔一段時(shí)間記錄以上的指標(biāo),較終形成數(shù)據(jù)表和相應(yīng)的圖。我們可以看一下以下耐久度測(cè)試的繪圖:大家可以清楚的看到,這是某個(gè)網(wǎng)站較近六天的每小時(shí)在線用戶的統(tǒng)計(jì)。X軸是小時(shí)數(shù),Y軸是在線用戶數(shù)量。
我們可以根據(jù),這個(gè)圖的變規(guī)律,再結(jié)合在耐久度測(cè)試中記錄的CPU,內(nèi)存等指標(biāo),如果者規(guī)律不符合,也就是說(shuō),當(dāng)在線用戶數(shù)較少的時(shí)候,內(nèi)存占用沒(méi)有下降很多,就可以分析出有關(guān)資源分配是否正常的結(jié)論了。
那什么時(shí)候做耐久度性能測(cè)試呢,它可以在代碼的開(kāi)發(fā)階段,也可以在WEB應(yīng)用程序版本完成,準(zhǔn)備上線之前,也可以網(wǎng)站運(yùn)行當(dāng)中,都是可以的。但耐久度測(cè)試,測(cè)試的時(shí)間一定要盡可能的,才能從中發(fā)現(xiàn)性能問(wèn)題。如果我們?cè)诖a開(kāi)發(fā)的階段,進(jìn)行耐久度測(cè)試,那運(yùn)行早期就發(fā)現(xiàn)了內(nèi)存泄漏的問(wèn)題,就可以中斷,然后進(jìn)行代碼的修改。如果WEB網(wǎng)站版本快要上線前期,耐久度測(cè)試一定要進(jìn)行到上線為止。如果在網(wǎng)站運(yùn)行中的耐久度測(cè)試,就需要定時(shí)記錄各種指標(biāo),還需要根據(jù)當(dāng)前網(wǎng)站的性質(zhì),來(lái)選擇時(shí)間段,比如假,周末等時(shí)間。。所以耐久度測(cè)試主要考慮的是時(shí)間對(duì)于系統(tǒng)的影響,所以它比我們剛才提到的壓力,負(fù)載,發(fā),測(cè)試的時(shí)間都要得很多。而且它主要關(guān)注的是系統(tǒng)的一個(gè)漸進(jìn)資源消耗的過(guò)程的表現(xiàn)。與壓力測(cè)試關(guān)注的一個(gè)固定指標(biāo)下系統(tǒng)的表現(xiàn),和負(fù)載測(cè)試較終的那個(gè)的負(fù)載,發(fā)測(cè)試關(guān)注關(guān)發(fā)操作發(fā)生時(shí)系統(tǒng)的表現(xiàn),都不同。
好耐久度測(cè)試就給大家介紹到這里,你明白了?
9_性能測(cè)試的分類-失敗恢復(fù)測(cè)試
下面給大家介紹一下失敗恢復(fù)性測(cè)試,
失敗恢復(fù)性測(cè)試,對(duì)于大型的WEB網(wǎng)站顯得非常重要,一般是針對(duì)冗余備份,負(fù)載均衡的系統(tǒng)。這個(gè)測(cè)試方法是用于驗(yàn)證某部分WEB應(yīng)用程序發(fā)生故障時(shí),整個(gè)網(wǎng)站是否能夠繼續(xù)讓用戶使用的能力。
那用戶訪問(wèn)網(wǎng)站可能會(huì)出現(xiàn)什么樣的問(wèn)題呢?我們知道,WEB應(yīng)用是存放在服務(wù)器硬盤上供用戶訪問(wèn)的,而服務(wù)器一般都位于IC機(jī)房的機(jī)架上,用戶訪問(wèn)一個(gè)WEB應(yīng)用的過(guò)程是這樣的,大家可以看圖,如果一個(gè)用戶無(wú)法訪問(wèn)某一個(gè)網(wǎng)站,首先可能是用戶電腦出現(xiàn)了問(wèn)題,解決的辦法就是維修電腦了,還有就是網(wǎng)絡(luò)線路出現(xiàn)了問(wèn)題,解決的辦法就是更換個(gè)網(wǎng)線,修改一下交換機(jī),路由器等設(shè)置。最后就是可能是網(wǎng)站服務(wù)器出現(xiàn)了問(wèn)題。如何解決呢,這正是我們要討論的。首先要提高可用性,進(jìn)行冗余備份,臺(tái),或是多臺(tái)服務(wù)器構(gòu)成的小服務(wù)器場(chǎng)所來(lái)承擔(dān)網(wǎng)站的失敗恢復(fù)性工作的??此坪孟窈?*的解決服務(wù)器故障所帶來(lái)的影響,但是它是增加了設(shè)備,增加了成本,而且備份服務(wù)器上網(wǎng)站實(shí)際用戶也是可以使用的,平時(shí)閑置的話呢,非常可惜。所以又可以采取負(fù)載均衡的辦法,換句話說(shuō)就是在同樣的服務(wù)器之前,加入一個(gè)調(diào)度員,將用戶的訪問(wèn)請(qǐng)求盡量平均分配給它們,這樣每臺(tái)服務(wù)器的負(fù)擔(dān)就下降了,出現(xiàn)問(wèn)題的幾率就降低很多。其實(shí)還有很多的辦法可以,把這些辦法綜合起來(lái)就可以達(dá)到 網(wǎng)站全天小時(shí)可供用戶訪問(wèn)了。
說(shuō)了這么多,那失敗恢復(fù)性測(cè)試,可以使用工具來(lái)模擬實(shí)驗(yàn)么,答案是O。一般都是人工進(jìn)行的,實(shí)際的操作一般不會(huì)有測(cè)試工程師的參與。但是作為一名WEB性能測(cè)試工程師,一定要有失敗恢復(fù)測(cè)試的意識(shí)哦。
好失敗恢復(fù)性測(cè)試就給大家介紹到這里。
0_性能測(cè)試的分類-尖峰沖擊測(cè)試
尖峰沖擊測(cè)試,就是網(wǎng)站在用戶突然 較具增加的情況下是否能夠正常工作。我們生活當(dāng)中,經(jīng)常會(huì)出用戶突然增加的情況:比如:購(gòu)物網(wǎng)站做一些促銷打折活動(dòng)?;疖嚻庇喥本W(wǎng)站在春運(yùn)時(shí)。奧運(yùn)會(huì)網(wǎng)上購(gòu)票。還有網(wǎng)站公布與用戶相關(guān)的信息,比如高考成績(jī),錄取分?jǐn)?shù)等等。這些情況都會(huì)因?yàn)橛脩敉蝗辉黾?,?dǎo)致網(wǎng)站在某一個(gè)時(shí)刻無(wú)法打開(kāi)。所以尖峰沖擊測(cè)試就是為了驗(yàn)證此時(shí)網(wǎng)站的應(yīng)付能力。而這個(gè)測(cè)試也是需要通過(guò)我們后面講到的R工具來(lái)完成的。我們一塊來(lái)看一下模擬出來(lái)的表:
這個(gè)表就是網(wǎng)站在某時(shí)刻在線用戶突然增加的情況,形成了尖峰。大家可以看到,此圖表顯示的是從點(diǎn)左右到0點(diǎn)左右,用戶使用量達(dá)到高峰。而其它時(shí)間段處于平穩(wěn)的狀態(tài)。
好尖峰沖擊測(cè)試就給大家介紹到這里。
_各種web性能測(cè)試方法與比較
給大家介紹了這么多的性能測(cè)試方法,在實(shí)際的工作當(dāng)中,它們的執(zhí)行順序是怎么樣的,它們之間到底有什么的區(qū)別和聯(lián)系呢?我們共同分析一下各種WEB性能測(cè)試方法和比較:
性能測(cè)試是比較廣義的,負(fù)載,尖峰測(cè)試主要是查看WEB應(yīng)用在較端的情況下系統(tǒng)的表現(xiàn),壓力,發(fā),耐久度分別考察WEB應(yīng)用在較大負(fù)荷,多用戶和時(shí)間運(yùn)行三種條件下的表現(xiàn)情況。配置測(cè)試是為當(dāng)前的WEB應(yīng)用提供了較優(yōu)的準(zhǔn)備。失敗恢復(fù)測(cè)試就是提高網(wǎng)站的可用性,預(yù)防和補(bǔ)救問(wèn)題了。
其實(shí)這7種性能測(cè)試,每一種都是從不同的角度和出發(fā)點(diǎn)來(lái)考察WEB應(yīng)用的性能表現(xiàn)的。
那在實(shí)際工作當(dāng)中,我們使用工具進(jìn)行這七種性能測(cè)試,是先做哪個(gè),后做哪個(gè)呢?
我們可以看一下這個(gè)圖,來(lái)給大家清楚的介紹性能測(cè)試的測(cè)試順序:
(插入:各個(gè)性能測(cè)試順序圖.jpg)
我們使用工具R進(jìn)行性能測(cè)試,在測(cè)試的整個(gè)過(guò)程結(jié)束后,得出的個(gè)結(jié)論是負(fù)載測(cè)試,可以找到系統(tǒng)崩潰的極限點(diǎn)的位置,同時(shí)在進(jìn)行負(fù)載測(cè)試的過(guò)程當(dāng)中,已經(jīng)進(jìn)行了壓力測(cè)試,找到了,系統(tǒng)在大于或等于設(shè)定的固定指標(biāo)值情況下依然可以進(jìn)行某項(xiàng)業(yè)務(wù)操作。發(fā)測(cè)試,是在進(jìn)行負(fù)載和壓力的時(shí)候進(jìn)行的。而當(dāng)我們需要進(jìn)行耐久度測(cè)試的時(shí)候,系統(tǒng)的性能本處于穩(wěn)定狀態(tài),主要是通過(guò)時(shí)間運(yùn)行,發(fā)用戶的增加,來(lái)判斷由于時(shí)間出現(xiàn)的性能問(wèn)題。當(dāng)耐久度測(cè)試進(jìn)行完畢后。系統(tǒng)最后來(lái)做尖峰沖擊測(cè)試,也是需要大量發(fā)測(cè)試來(lái)實(shí)現(xiàn)尖峰沖擊測(cè)試的。
至于配置測(cè)試一般是在做以上性能測(cè)試之前做一次,在性能測(cè)試之后再進(jìn)行配置測(cè)試優(yōu),失敗恢復(fù)性測(cè)試是在上面所有性能測(cè)試做完后進(jìn)行的。
這就是各種WEB性能測(cè)試的方法與比較,和執(zhí)行順序。相信你心中一定是清清楚楚了。
_性能測(cè)試應(yīng)用領(lǐng)域:
下面給大家介紹一下,性能測(cè)試的應(yīng)用領(lǐng)域。
我們使用R性能測(cè)試工具,主要是對(duì)WEB網(wǎng)站進(jìn)行性能測(cè)試,主要考察有幾點(diǎn):
:當(dāng)前網(wǎng)站在某個(gè)軟硬件,網(wǎng)絡(luò)環(huán)境下,具備承擔(dān)多少用戶壓力的性能的能力。這點(diǎn)我們需要學(xué)會(huì)分析場(chǎng)景來(lái)設(shè)定測(cè)試方案和測(cè)試用例了。
:當(dāng)前網(wǎng)站系統(tǒng)是在穩(wěn)定版本下,做的性能測(cè)試。使用R,和性能指標(biāo)分析,可以預(yù)測(cè)未來(lái)年,到年,甚至0年,當(dāng)前系統(tǒng)是否還具備支持未來(lái)用戶增的需求。
網(wǎng)站肯定是隨著時(shí)間的推移,用戶越來(lái)越多。服務(wù)器壓力越來(lái)越大。所以做性能測(cè)試一定要有這個(gè)規(guī)劃能力。
:通過(guò)web性能測(cè)試,可以使當(dāng)前系統(tǒng)性能達(dá)到一個(gè)較優(yōu)的狀態(tài)。換個(gè)話來(lái)說(shuō),就是性能調(diào)優(yōu)的過(guò)程:
首先確認(rèn)當(dāng)前使用環(huán)境的本負(fù)載和本指標(biāo),然后調(diào)整系統(tǒng)運(yùn)行的環(huán)境和實(shí)現(xiàn)方法來(lái)進(jìn)行性能測(cè)試,最后記錄性能測(cè)試結(jié)果進(jìn)行分析。這種結(jié)果是一種持續(xù)的過(guò)程,我們主要的調(diào)優(yōu)對(duì)是:數(shù)據(jù)參數(shù),應(yīng)用服務(wù)器,和系統(tǒng)的硬件環(huán)境。
:進(jìn)行性能測(cè)試還需要發(fā)現(xiàn)性能缺陷,很多的系統(tǒng)在開(kāi)發(fā)環(huán)境下測(cè)試和運(yùn)行是沒(méi)有任何問(wèn)題的,但是到了客戶上線后,隨之用戶量的增大,訪問(wèn)速度的緩慢,總是會(huì)出現(xiàn)一系列意想不到的問(wèn)題。這是什么原因呢?本到客戶上線的系統(tǒng),功能上不會(huì)大的紕漏,一般主要體現(xiàn)在性能問(wèn)題上。所以性能測(cè)試需要在上線前模擬,上線后預(yù)測(cè)的方式來(lái)進(jìn)行性能測(cè)試,發(fā)現(xiàn)性能BUG.
性能測(cè)試的應(yīng)用領(lǐng)域就給大家介紹到這里。
北京尚腦IT培訓(xùn)學(xué)校,主要課程:軟件測(cè)試、性能測(cè)試、自動(dòng)化測(cè)試、手機(jī)APP測(cè)試、網(wǎng)絡(luò)營(yíng)銷??偛课挥诓絽^(qū)南七家,公交465和751總站,交通便利。校內(nèi)設(shè)有宿舍,外地學(xué)員來(lái)京學(xué)習(xí)也很便利。 尚腦教育六大優(yōu)勢(shì): 一 講**勢(shì) 于晶老師,尚腦軟件開(kāi)發(fā)與測(cè)試課程的創(chuàng)始人,曾任職于跨國(guó)集團(tuán)公司Symbio和Nielsen,十三年來(lái)為國(guó)家培養(yǎng)了1000多名師資,3000多軟件測(cè)試**人才。所獲榮譽(yù)如下: 1、 **IT行業(yè)*講師、副教授; 2、 2001年獲比爾蓋茨親授IT**; 3、 13年軟件開(kāi)發(fā)與測(cè)試實(shí)戰(zhàn)經(jīng)驗(yàn); 4、 國(guó)家**梯隊(duì)計(jì)算機(jī)講師; 5、 為清華、北大、人大等**高校培訓(xùn)了多名師資; 6、 項(xiàng)目經(jīng)驗(yàn)豐富,涉及銀行、保險(xiǎn)、**、航天等諸多**領(lǐng)域。 二 項(xiàng)目?jī)?yōu)勢(shì) 1、 中國(guó)銀行短信平臺(tái)黑白盒測(cè)試; 2、 SIMYBO內(nèi)部缺陷管理、黑白盒測(cè)試; 3、 國(guó)家測(cè)繪局信息中心系統(tǒng)黑白盒測(cè)試; 4、 小米、華為、索愛(ài)手機(jī)及APP測(cè)試; 5、 兆維通信、熱酷、中國(guó)航天時(shí)代、福建星網(wǎng)稅捷通訊等公司的測(cè)試。 三 課程優(yōu)勢(shì) 1、 開(kāi)發(fā)和測(cè)試領(lǐng)域較*的教材,每三個(gè)月進(jìn)行一次技術(shù)較新,保證技術(shù)總在**; 2、 清一色計(jì)算機(jī)碩士講師團(tuán)隊(duì),均復(fù)制于晶老師課程講授體系,教學(xué)質(zhì)量均衡有保證; 3、 全天授課、早晚自習(xí),老師全天候陪伴,及時(shí)答疑解惑,保證問(wèn)題不過(guò)夜; 4、 每周末組織學(xué)生演講、文藝表演、模擬面試等,保證學(xué)員整體素質(zhì)的提升。 5、 學(xué)員畢業(yè)后,仍可隨時(shí)回來(lái),免費(fèi)技術(shù)提升,一次交費(fèi),*學(xué)習(xí)。 四、就業(yè)優(yōu)勢(shì) 1、先有企業(yè)訂單,而后招生,**每一位學(xué)員高薪就業(yè); 2、合作用人單位穩(wěn)定,與中科軟、軟通動(dòng)力、捷科志成等多家用人單位長(zhǎng)期合作; 3、組建學(xué)員群,隨時(shí)為老學(xué)員提供較高薪的工作機(jī)會(huì)。 五、售后服務(wù) 1、學(xué)員就業(yè)后,工作中遇到任何疑難問(wèn)題都可隨時(shí)獲得老師的指導(dǎo); 2、工作中遇到技術(shù)升級(jí)問(wèn)題,可隨時(shí)回校復(fù)訓(xùn); 3、新老學(xué)員均有微信群、QQ群、YY群等多種交流平臺(tái),有專門的老師維護(hù); 4、不但負(fù)責(zé)新學(xué)員高薪就業(yè),同時(shí)負(fù)責(zé)老學(xué)員的職位升級(jí)、薪資升級(jí)等對(duì)接。 六、學(xué)費(fèi)優(yōu)勢(shì) 1、對(duì)無(wú)法一次付清全部學(xué)費(fèi)的同學(xué),可提供助學(xué)貸款; 2、**助學(xué)貸款,上學(xué)期4個(gè)月不用交任何費(fèi)用,就業(yè)期2個(gè)月也不用交任何費(fèi)用。