性能測(cè)試

|—1、性能測(cè)試簡(jiǎn)介

指通過(guò)自動(dòng)化的測(cè)試工具]模擬多種正常、[峰值]以及[異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試

|—1.1、對(duì)性能的認(rèn)識(shí)

從用戶的角度:


從開發(fā)的角度:

從系統(tǒng)管理員的角度:


那么?測(cè)試應(yīng)該關(guān)注哪些呢?

測(cè)試人員通常是做為軟件質(zhì)量控制的一個(gè)角色,不僅僅是找bug,需要對(duì)整個(gè)軟件的質(zhì)量負(fù)責(zé),性能也屬于質(zhì)量的一部分,因此測(cè)試人員眼中的性能應(yīng)該是全面的,考慮的東西也需要全面:

? - 測(cè)試人員需要考慮全面的性能,包括[用戶、開發(fā)、管理員]等各個(gè)視角的性能。

? - 測(cè)試人員在做性能測(cè)試時(shí)除開要關(guān)注表面的現(xiàn)象如[響應(yīng)時(shí)間],也需要關(guān)注本質(zhì),比如用戶看不到的[服務(wù)器資料利用率],架構(gòu)設(shè)計(jì)是否合理?代碼是否合理等方方面面。


|—2、目的

? - 1. 系統(tǒng)的穩(wěn)定/可靠運(yùn)營(yíng)---長(zhǎng)時(shí)間、高負(fù)載測(cè)試下交易成功率、資源穩(wěn)定性。

? - 2. 成本的優(yōu)化配置--最優(yōu)CPU數(shù)量、內(nèi)存數(shù)量、服務(wù)器數(shù)量、專線帶寬

? - 3. 給用戶帶來(lái)更好的體驗(yàn),運(yùn)行速度快(平均響應(yīng)時(shí)間),流暢(占用我們的硬件資源少)

? - 4. 判斷目前系統(tǒng)的性能瓶頸,一到關(guān)鍵時(shí)候比較卡,一般是人多的時(shí)候比較卡(并發(fā))

? - 5. 系統(tǒng)應(yīng)用能夠適應(yīng)未來(lái)的業(yè)務(wù)增長(zhǎng)


|—3、性能測(cè)試工具

? - 1. JMeter

? - 2. LR(LoadRunner)

? - 3. postman

? - 4. SoupUI


|—4、性能測(cè)試的分類

? - 1. 并發(fā)測(cè)試

? - 2. 壓力測(cè)試(強(qiáng)度測(cè)試)

? - 3. 疲勞測(cè)試

? - 4. 負(fù)載測(cè)試

? - 5. 配置測(cè)試

? - 6. 可靠性測(cè)試

|—4.1、并發(fā)測(cè)試

并發(fā)測(cè)試就是模擬一群人同一時(shí)間做事并發(fā)測(cè)試就是對(duì)被測(cè)系統(tǒng)的并發(fā)處理能力進(jìn)行考察的一種測(cè)試手段(可以是某個(gè)功能模塊或數(shù)據(jù)記錄)一般都是看在絕對(duì)并發(fā)的情況下,系統(tǒng)能承載多大的并發(fā)量,是否存在死鎖或其者他性能問(wèn)題?;蛘咴谝欢ǖ牟l(fā)量下,系統(tǒng)的響應(yīng)時(shí)間是否是可接受的。

特點(diǎn):

- 1、這種性能測(cè)試方法主要關(guān)注系統(tǒng)可能存在的并發(fā)問(wèn)題,例如系統(tǒng)中的內(nèi)存泄漏、線程鎖和資源爭(zhēng)用方面的問(wèn)題。

- 2、這種性能測(cè)試方法可以在開發(fā)的各個(gè)階段使用需要相關(guān)的測(cè)試工具的配合和支持。也就是說(shuō),這種測(cè)試關(guān)注點(diǎn)是多個(gè)用戶同時(shí)(并發(fā))對(duì)一個(gè)模塊或操作進(jìn)行加壓。

- 1、絕對(duì)并發(fā):

一種是嚴(yán)格意義上的并發(fā),即所有的用戶在同一時(shí)刻做同一件事或操作,這種操作一般指做同一類型的業(yè)務(wù)。比如,所有用戶同一時(shí)刻做并發(fā)登陸,同一時(shí)刻做表單提交。

比如:12306春運(yùn)期間的放票,一到放票開始,N多的用戶在同一時(shí)間點(diǎn)對(duì)服務(wù)器發(fā)起買票的請(qǐng)求。比如8:00放票時(shí)段,有100萬(wàn)用戶對(duì)12306發(fā)起了買票的請(qǐng)求。

- 2、非絕對(duì)并發(fā):

另外一種并發(fā)是廣義范圍的并發(fā),這種并發(fā)與前一種并發(fā)的區(qū)別是,盡管多個(gè)用戶對(duì)系統(tǒng)發(fā)出了請(qǐng)求或者進(jìn)行了操作,但是這些請(qǐng)求或都操作可以是相同的,也可以是不同的。比如,在同一時(shí)刻有用戶在登錄,有用戶在提交表單。在一定的并發(fā)量下,***系統(tǒng)的響應(yīng)時(shí)間是否是可接受的

|—4.2、壓力測(cè)試

壓力測(cè)試是在接近用戶承載量極限以下一些(還不足以把系統(tǒng)壓垮的用戶量),較長(zhǎng)時(shí)間不間斷執(zhí)行的性能測(cè)試,是檢查系統(tǒng)穩(wěn)定性,系統(tǒng)性能瓶頸的一種常用場(chǎng)景。

壓測(cè)時(shí)間,一般場(chǎng)景都運(yùn)行10-15分鐘。如果是疲勞測(cè)試,可以壓一天或一周,根據(jù)實(shí)際情況來(lái)定。

壓力測(cè)試分兩種場(chǎng)景:

- 一種是單場(chǎng)景,壓一個(gè)接口的

- 第二種是混合場(chǎng)景,多個(gè)有關(guān)聯(lián)的接口。

|—4.3、疲勞測(cè)試

疲勞測(cè)試是采用系統(tǒng)穩(wěn)定運(yùn)行情況下能夠支持的最大[并發(fā)用戶數(shù)],持續(xù)執(zhí)行一段時(shí)間業(yè)務(wù),通過(guò)綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來(lái)確定系統(tǒng)處理最大工作量強(qiáng)度性能的過(guò)程。

一般情況下以服務(wù)器能夠正常穩(wěn)定響應(yīng)請(qǐng)求的最大[并發(fā)用戶數(shù)]進(jìn)行一定時(shí)間的疲勞測(cè)試,獲取交易執(zhí)行指標(biāo)數(shù)據(jù)和監(jiān)控?cái)?shù)據(jù)。如出現(xiàn)錯(cuò)誤導(dǎo)致測(cè)試不能成功執(zhí)行,則及時(shí)調(diào)整測(cè)試指標(biāo),例如降低用戶數(shù)、縮短測(cè)試周期等。還有一種情況的疲勞測(cè)試是對(duì)當(dāng)前系統(tǒng)性能的評(píng)估,用系統(tǒng)正常業(yè)務(wù)情況下[并發(fā)用戶數(shù)]為基礎(chǔ),進(jìn)行一定時(shí)間的疲勞測(cè)試。

|—4.4、負(fù)載測(cè)試

就是一批一批的加用戶,待到當(dāng)前在線用戶執(zhí)行穩(wěn)定后,再加下一批的用戶,像這樣不停的持續(xù)加壓,直至系統(tǒng)性能明顯下降或系統(tǒng)崩潰為止。是測(cè)試系統(tǒng)用戶上限,查找系統(tǒng)性能瓶頸的重要手段。通常在還不知道系統(tǒng)能承載多大業(yè)務(wù)量的情況下,為找到用戶承載量極限或?yàn)榱丝焖俣ㄎ幌到y(tǒng)性能瓶頸時(shí),會(huì)采用此種方式進(jìn)行測(cè)試。

特點(diǎn):

- 1、這種性能測(cè)試方法的主要目的是找到系統(tǒng)處理能力的極限。

- 2、這種性能測(cè)試方法需要在給定的測(cè)試環(huán)境下進(jìn)行,通常也需要考慮被測(cè)試系統(tǒng)的業(yè)務(wù)壓力量和典型場(chǎng)景、使得測(cè)試結(jié)果具有業(yè)務(wù)上的意義。

- 3、這種性能測(cè)試方法一般用來(lái)了解系統(tǒng)的性能容量,或是配合性能調(diào)優(yōu)來(lái)使用。

|—4.5、配置測(cè)試

配置測(cè)試方法通過(guò)對(duì)被測(cè)系統(tǒng)的軟\硬件環(huán)境的調(diào)整,了解各種不同對(duì)系統(tǒng)的性能影響的程度,從而找到系統(tǒng)各項(xiàng)資源的最優(yōu)分配原則。

也就是說(shuō),這種測(cè)試關(guān)注點(diǎn)是“微調(diào)”,通過(guò)對(duì)軟硬件的不段調(diào)整,找出這他們的最佳狀態(tài),使系統(tǒng)達(dá)到一個(gè)最強(qiáng)的狀態(tài)。

特點(diǎn):

- 1、這種性能測(cè)試方法的主要目的是了解各種不同因素對(duì)系統(tǒng)性能影響的程度,從而判斷出最值得進(jìn)行的調(diào)優(yōu)操作。

- 2、這種性能測(cè)試方法一般在對(duì)系統(tǒng)性能狀況有初步了解后進(jìn)行。

- 3、這種性能測(cè)試方法一般用于性能調(diào)優(yōu)和規(guī)劃能力。

|—4.6、可靠性測(cè)試

在給系統(tǒng)加載一定業(yè)務(wù)壓力的情況下,使系統(tǒng)運(yùn)行一段時(shí)間,以此檢測(cè)系統(tǒng)是否穩(wěn)定。

也就是說(shuō),這種測(cè)試的關(guān)注點(diǎn)是“穩(wěn)定”,不需要給系統(tǒng)太大的壓力,只要系統(tǒng)能夠長(zhǎng)期處于一個(gè)穩(wěn)定的狀態(tài)。

特點(diǎn):

- 1、這種性能測(cè)試方法的主要目的是驗(yàn)證是否支持長(zhǎng)期穩(wěn)定的運(yùn)行。

- 2、這種性能測(cè)試方法需要在壓力下持續(xù)一段時(shí)間的運(yùn)行。(2~3天)

- 3、測(cè)試過(guò)程中需要關(guān)注系統(tǒng)的運(yùn)行狀況。

備注:一般企業(yè)中作得比價(jià)多是并發(fā)測(cè)試,壓力測(cè)試,根據(jù)具體需求場(chǎng)景,有必要的話也會(huì)適當(dāng)?shù)淖饕恍┴?fù)載測(cè)試,疲勞測(cè)試。

和負(fù)載測(cè)試的概念比較接近的是壓力測(cè)試。通俗地講,壓力測(cè)試是為了發(fā)現(xiàn)在多大并發(fā)壓力下系統(tǒng)的性能會(huì)變得不可接受,或者出現(xiàn)性能拐點(diǎn)(崩潰)的情況。在加壓策略上,壓力測(cè)試會(huì)對(duì)被測(cè)系統(tǒng)逐步加壓,在加壓的過(guò)程中考察系統(tǒng)性能指標(biāo)的走勢(shì)情況,最終找出系統(tǒng)在出現(xiàn)性能拐點(diǎn)時(shí)的并發(fā)用戶數(shù),也就是系統(tǒng)支持的最大并發(fā)用戶數(shù)。

最后再說(shuō)下疲勞強(qiáng)度測(cè)試。其實(shí)疲勞強(qiáng)度測(cè)試的加壓策略跟負(fù)載測(cè)試也很接近,都是對(duì)系統(tǒng)模擬出系統(tǒng)能承受的最大業(yè)務(wù)負(fù)載量,差異在于,疲勞強(qiáng)度測(cè)試更關(guān)注系統(tǒng)在長(zhǎng)時(shí)間運(yùn)行情況下系統(tǒng)性能指標(biāo)的變化情況,例如,系統(tǒng)在運(yùn)行一段時(shí)間后,是否會(huì)出現(xiàn)事務(wù)處理失敗、響應(yīng)時(shí)間增長(zhǎng)、業(yè)務(wù)吞吐量降低、CPU/內(nèi)存資源增長(zhǎng)等問(wèn)題。


|—5、性能測(cè)試指標(biāo)

從維度上劃分,性能指標(biāo)主要分為兩大類,分別是業(yè)務(wù)性能指標(biāo)和系統(tǒng)資源性能指標(biāo)。

|—5.1、業(yè)務(wù)性能指標(biāo)可以直觀地反映被測(cè)系統(tǒng)的實(shí)際性能狀況,常用的指標(biāo)項(xiàng)有:

?  1.并發(fā)用戶數(shù)

?  2.事務(wù)吞吐率(TPS/RPS)

?  3.事務(wù)平均響應(yīng)時(shí)間

?  4.事務(wù)成功率

從以下幾個(gè)方面來(lái)評(píng)定指標(biāo)是否達(dá)標(biāo)

- ①.給出產(chǎn)品性能的主要指標(biāo),如在100000記錄中查詢一個(gè)特定數(shù)據(jù)的時(shí)間為0.5秒;

- ②.以某個(gè)已發(fā)布的版本為基線,如比上一個(gè)版本的性能提高30-50%;

- ③.和競(jìng)爭(zhēng)對(duì)手的同類產(chǎn)品比較。

|—5.2、服務(wù)器的性能指標(biāo)——nmon工具

- ①.CPU利用率;

- ②.內(nèi)存占用率;? 考慮是否存在內(nèi)存泄漏的情況。

- ③.磁盤I/O ;

- ④.網(wǎng)絡(luò)?? 網(wǎng)絡(luò)帶寬


|—6、性能測(cè)試專業(yè)術(shù)語(yǔ)

性能測(cè)試要求的指標(biāo):性能測(cè)試需求上有說(shuō)明,SE規(guī)定了要我們做哪些業(yè)務(wù)的性能,像:登錄,注冊(cè),下單,查詢,添加購(gòu)物車等,項(xiàng)目組只要求我們做了并發(fā),壓測(cè)這塊。

|—6.1、并發(fā)數(shù)

一、經(jīng)典公式1:

?? 一般來(lái)說(shuō),利用以下經(jīng)驗(yàn)公式進(jìn)行估算系統(tǒng)的平均并發(fā)用戶數(shù)和峰值數(shù)據(jù)

? 1)平均并發(fā)用戶數(shù)為 C = nL/T

? 2)并發(fā)用戶數(shù)峰值 C‘ = C + 3*根號(hào)C

?? ? C是平均并發(fā)用戶數(shù),n是login session的數(shù)量,L是login session的平均長(zhǎng)度,T是值考察的時(shí)間長(zhǎng)度

?? ? C’是并發(fā)用戶數(shù)峰值

舉例1,假設(shè)系統(tǒng)A,該系統(tǒng)有3000個(gè)用戶,平均每天大概有400個(gè)用戶要訪問(wèn)該系統(tǒng)(可以從系統(tǒng)日志從獲得),對(duì)于一個(gè)典型用戶來(lái)說(shuō),一天之內(nèi)用戶從登陸到退出的平均時(shí)間為4小時(shí),而在一天之內(nèi),用戶只有在8小時(shí)之內(nèi)會(huì)使用該系統(tǒng)。

平均并發(fā)用戶數(shù)為 C = 400*4/8=200

并發(fā)用戶數(shù)峰值? C`= 200 + 3*根號(hào)200=243

舉例2, 某公司為其170000名員工設(shè)計(jì)了一個(gè)薪酬系統(tǒng),員工可進(jìn)入該系統(tǒng)查詢自己的薪酬信息,但并不是每個(gè)人都會(huì)用這個(gè)系統(tǒng),假設(shè)只有50%的人會(huì)定期用該系統(tǒng),這些人里面有70%是在每個(gè)月的最后一周使用一次該系統(tǒng),且平均使用系統(tǒng)時(shí)間為5分鐘。


? 則一個(gè)月最后一周的平均并發(fā)用戶數(shù)為(朝九晚五):

? n = 170000*0.5*0.7/5 = 11900

? C= 11900*5/60/8 = 124

|—6.2、響應(yīng)時(shí)間(90%用戶的平均響應(yīng)時(shí)間)

0.幾秒算好的,1.幾秒都算比較好的,<=3秒 都算正常,>3秒,分析下。超過(guò)5s以上性能是不達(dá)標(biāo)。

|—6.3、吞吐率

100/sec

吞吐量計(jì)算為:F = Vu * R / T 單位為個(gè)/s? ?? 500 * 1/12s = 41.6請(qǐng)求數(shù)/sec? 1000 * 1/21s = 47.6/sec

|—6.4、吞吐量

指在一次性能測(cè)試過(guò)程中網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量的總和(單位應(yīng)該KB),也可以這樣說(shuō)在單次業(yè)務(wù)中,客戶端與服務(wù)器端進(jìn)行的數(shù)據(jù)交互總量;對(duì)交互式應(yīng)用來(lái)說(shuō),吞吐量指標(biāo)反映服務(wù)器承受的壓力,容量規(guī)劃的測(cè)試中,吞吐量是重點(diǎn)關(guān)注的指標(biāo),它能夠說(shuō)明系統(tǒng)級(jí)別的負(fù)載能力,另外,在性能調(diào)優(yōu)過(guò)程中,吞吐量指標(biāo)也有重要的價(jià)值;

并不是吞吐量越高越高,一個(gè)服務(wù)器的性能,要從多個(gè)方面去考慮:90%用戶的平均響應(yīng)時(shí)間,錯(cuò)誤率,吞吐量/吞吐量,CPU,內(nèi)存,磁盤IO,網(wǎng)絡(luò)的占用情況,還有服務(wù)器的配置。

吞吐量/傳輸時(shí)間,即單位時(shí)間內(nèi)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量,也可以指單位時(shí)間內(nèi)處理客戶請(qǐng)求數(shù)量,它是衡量網(wǎng)絡(luò)性能的重要指標(biāo)。

通常情況下,吞吐率用“字節(jié)數(shù)/秒”來(lái)衡量,當(dāng)然,也可以用“請(qǐng)求數(shù)/秒”和“頁(yè)面數(shù)/秒”來(lái)衡量;

吞吐量/率和負(fù)載之間的關(guān)系:

①上升階段:吞吐量隨著負(fù)載的增加而增加,吞吐量和負(fù)載成正比;

②平穩(wěn)階段:吞吐量隨著負(fù)載的增加而保持穩(wěn)定,無(wú)太大變化或波動(dòng);

③下降階段:吞吐量隨著負(fù)載的增加而下降,吞吐量和負(fù)載成反比;

總結(jié):吞吐量/率干不過(guò)負(fù)載?。?!


|—6.5、內(nèi)存泄漏(memory leak)

是指程序在申請(qǐng)內(nèi)存后,無(wú)法釋放已申請(qǐng)的內(nèi)存空間,導(dǎo)致系統(tǒng)無(wú)法及時(shí)回收內(nèi)存并且分配給其他進(jìn)程使用。通常少次數(shù)的內(nèi)存無(wú)法及時(shí)回收并不會(huì)到程序造成什么影響,但是如果在內(nèi)存本身就比較少獲取多次導(dǎo)致內(nèi)存無(wú)法正?;厥諘r(shí),就會(huì)導(dǎo)致內(nèi)存不夠用,最終導(dǎo)致內(nèi)存溢出。

|—6.6、內(nèi)存溢出(out of memory):OOM

指程序申請(qǐng)內(nèi)存時(shí),沒(méi)有足夠的內(nèi)存供申請(qǐng)者使用,或者說(shuō),給了你一塊存儲(chǔ)int類型數(shù)據(jù)的存儲(chǔ)空間,但是你卻存儲(chǔ)long類型的數(shù)據(jù),那么結(jié)果就是內(nèi)存不夠用,此時(shí)就會(huì)報(bào)錯(cuò)OOM,即所謂的內(nèi)存溢出,簡(jiǎn)單來(lái)說(shuō)就是自己所需要使用的空間比我們擁有的內(nèi)存大內(nèi)存不夠使用所造成的內(nèi)存溢出。

|—6.7、內(nèi)存溢出原因

1.內(nèi)存中【加載的數(shù)據(jù)量過(guò)于龐大】,如一次從數(shù)據(jù)庫(kù)取出過(guò)多數(shù)據(jù);

2.集合類中【有對(duì)對(duì)象的引用,使用完后未清空】,使得JVM不能回收;

3.代碼中存在死循環(huán)或循環(huán)產(chǎn)生過(guò)多重復(fù)的對(duì)象實(shí)體;

4.使用的第三方軟件中的BUG;

5.啟動(dòng)參數(shù)內(nèi)存值設(shè)定的過(guò)小

|—6.8、內(nèi)存溢出的解決方案:

第一步,修改JVM啟動(dòng)參數(shù),直接增加內(nèi)存。(-Xms,-Xmx參數(shù)一定不要忘記加。)

第二步,檢查錯(cuò)誤日志,查看“OutOfMemory”錯(cuò)誤前是否有其 它異?;蝈e(cuò)誤。

第三步,對(duì)代碼進(jìn)行走查和分析,找出可能發(fā)生內(nèi)存溢出的位置。

|—6.9、重點(diǎn)排查以下幾點(diǎn):

2.1.檢查對(duì)數(shù)據(jù)庫(kù)查詢中,是否有一次獲得全部數(shù)據(jù)的查詢。一般來(lái)說(shuō),如果一次取十萬(wàn)條記錄到內(nèi)存,就可能引起內(nèi)存溢出。這個(gè)問(wèn)題比較隱蔽,在上線前,數(shù)據(jù)庫(kù)中數(shù)據(jù)較少,不容易出問(wèn)題,上線后,數(shù)據(jù)庫(kù)中數(shù)據(jù)多了,一次查詢就有可能引起內(nèi)存溢出。因此對(duì)于數(shù)據(jù)庫(kù)查詢盡量采用分頁(yè)的方式查詢。

2.檢查代碼中是否有死循環(huán)或遞歸調(diào)用。

3.檢查是否有大循環(huán)重復(fù)產(chǎn)生新對(duì)象實(shí)體。

4.檢查對(duì)數(shù)據(jù)庫(kù)查詢中,是否有一次獲得全部數(shù)據(jù)的查詢。一般來(lái)說(shuō),如果一次取十萬(wàn)條記錄到內(nèi)存,就可能引起內(nèi)存溢出。這個(gè)問(wèn)題比較隱蔽,在上線前,數(shù)據(jù)庫(kù)中數(shù)據(jù)較少,不容易出問(wèn)題,上線后,數(shù)據(jù)庫(kù)中數(shù)據(jù)多了,一次查詢就有可能引起內(nèi)存溢出。因此對(duì)于數(shù)據(jù)庫(kù)查詢盡量采用分頁(yè)的方式查詢。

5.檢查L(zhǎng)ist、MAP等集合對(duì)象是否有使用完后,未清除的問(wèn)題。List、MAP等集合對(duì)象會(huì)始終存有對(duì)對(duì)象的引用,使得這些對(duì)象不能被GC回收。

第四步,使用內(nèi)存查看工具動(dòng)態(tài)查看內(nèi)存使用情況


|—7、性能測(cè)試流程

一、準(zhǔn)備工作

1、首先要保證系統(tǒng)基礎(chǔ)功能驗(yàn)證通過(guò)

性能測(cè)試在什么階段適合實(shí)施?切入點(diǎn)很重要!一般而言,只有在系統(tǒng)基礎(chǔ)功能測(cè)試驗(yàn)證完成、系統(tǒng)趨于穩(wěn)定的情況下,才會(huì)進(jìn)行性能測(cè)試,否則性能測(cè)試是無(wú)意義的。

2、然后就是選擇好性能測(cè)試工具

綜合系統(tǒng)設(shè)計(jì)、工具成本、測(cè)試團(tuán)隊(duì)的技能來(lái)考慮,選擇合適的測(cè)試工具,最起碼應(yīng)該滿足一下幾點(diǎn):

①支持對(duì)web(這里以web系統(tǒng)為例)系統(tǒng)的性能測(cè)試,支持http和https協(xié)議;

②工具運(yùn)行在Windows平臺(tái)上;

③支持對(duì)webserver、前端、數(shù)據(jù)庫(kù)的性能計(jì)數(shù)器進(jìn)行監(jiān)控;

3、然后就是對(duì)預(yù)先的業(yè)務(wù)場(chǎng)景分析

為了對(duì)系統(tǒng)性能建立直觀上的認(rèn)識(shí)和分析,應(yīng)對(duì)系統(tǒng)較重要和常用的業(yè)務(wù)場(chǎng)景模塊進(jìn)行分析,針對(duì)性的進(jìn)行分析,以對(duì)接下來(lái)的測(cè)試計(jì)劃設(shè)計(jì)進(jìn)行準(zhǔn)備。

二、測(cè)試計(jì)劃

測(cè)試計(jì)劃階段最重要的是分析用戶場(chǎng)景,確定系統(tǒng)性能目標(biāo)。

1、性能測(cè)試領(lǐng)域分析(也就是確定測(cè)試范圍,是需要做哪方面的性能測(cè)試,并發(fā)測(cè)試,壓力測(cè)試,疲勞測(cè)試,負(fù)載測(cè)試)

根據(jù)對(duì)項(xiàng)目背景,業(yè)務(wù)的了解,確定本次性能測(cè)試要解決的問(wèn)題點(diǎn);是測(cè)試系統(tǒng)能否滿足實(shí)際運(yùn)行時(shí)的需要,還是目前的系統(tǒng)在哪些方面制約系統(tǒng)性能的表現(xiàn),或者,哪些系統(tǒng)因素導(dǎo)致

系統(tǒng)無(wú)法跟上業(yè)務(wù)發(fā)展?確定測(cè)試領(lǐng)域,然后具體問(wèn)題具體分析。

2、用戶場(chǎng)景剖析和業(yè)務(wù)建模

根據(jù)對(duì)系統(tǒng)業(yè)務(wù)、用戶活躍時(shí)間、訪問(wèn)頻率、場(chǎng)景交互等各方面的分析,整理一個(gè)業(yè)務(wù)場(chǎng)景表,當(dāng)然其中最好對(duì)用戶操作場(chǎng)景、步驟進(jìn)行詳細(xì)的描述,為測(cè)試腳本開發(fā)提供依據(jù)。

3、確定性能目標(biāo)(也就是確定各個(gè)用戶場(chǎng)景的性能指標(biāo))

前面已經(jīng)確定了本次性能測(cè)試的應(yīng)用領(lǐng)域,接下來(lái)就是針對(duì)具體的領(lǐng)域關(guān)注點(diǎn),確定性能目標(biāo)(指標(biāo));其中需要和其他業(yè)務(wù)部門進(jìn)行溝通協(xié)商,以及結(jié)合當(dāng)前系統(tǒng)的響應(yīng)時(shí)間等數(shù)據(jù),確定

最終我們需要達(dá)到的響應(yīng)時(shí)間和系統(tǒng)資源使用率等目標(biāo);比如:

①登錄請(qǐng)求到登錄成功的頁(yè)面響應(yīng)時(shí)間不能超過(guò)2秒;

②報(bào)表審核提交的頁(yè)面響應(yīng)時(shí)間不能超過(guò)5秒;

③文件的上傳、下載頁(yè)面響應(yīng)時(shí)間不超過(guò)8秒;

④服務(wù)器的CPU平均使用率小于70%,內(nèi)存使用率小于75%;

⑤各個(gè)業(yè)務(wù)系統(tǒng)的響應(yīng)時(shí)間和服務(wù)器資源使用情況在不同測(cè)試環(huán)境下,各指標(biāo)隨負(fù)載變化的情況等;

4、制定測(cè)試計(jì)劃的實(shí)施時(shí)間

預(yù)設(shè)本次性能測(cè)試各子模塊的起止時(shí)間,產(chǎn)出,參與人員等等。

三、測(cè)試腳本設(shè)計(jì)與開發(fā)

性能測(cè)試中,測(cè)試腳本設(shè)計(jì)與開發(fā)占據(jù)了很大的時(shí)間比重。

1、測(cè)試環(huán)境設(shè)計(jì)

本次性能測(cè)試的目標(biāo)是需要驗(yàn)證系統(tǒng)在實(shí)際運(yùn)行環(huán)境中的性能外,還需要考慮到不同的硬件配置是否會(huì)是制約系統(tǒng)性能的重要因素!因此在測(cè)試環(huán)境中,需要部署多個(gè)不同的測(cè)試環(huán)境,

在不同的硬件配置上檢查應(yīng)用系統(tǒng)的性能,并對(duì)不同配置下系統(tǒng)的測(cè)試結(jié)果進(jìn)行分析,得出最優(yōu)結(jié)果(最適合當(dāng)前系統(tǒng)的配置)。

這里所說(shuō)的配置大概是如下幾類:

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

②應(yīng)用服務(wù)器

③負(fù)載模擬器

④軟件運(yùn)行環(huán)境,平臺(tái)

測(cè)試環(huán)境測(cè)試數(shù)據(jù),可以根據(jù)系統(tǒng)的運(yùn)行預(yù)期來(lái)確定,比如需要測(cè)試的業(yè)務(wù)場(chǎng)景,數(shù)據(jù)多久執(zhí)行一次備份轉(zhuǎn)移,該業(yè)務(wù)場(chǎng)景涉及哪些表,每次操作數(shù)據(jù)怎樣寫入,寫入幾條,需要多少的

測(cè)試數(shù)據(jù)來(lái)使得測(cè)試環(huán)境的數(shù)據(jù)保持一致性等等。

可以在首次測(cè)試數(shù)據(jù)生成時(shí),將其導(dǎo)出到本地保存,在每次測(cè)試開始前導(dǎo)入數(shù)據(jù),保持一致性。

2、測(cè)試場(chǎng)景設(shè)計(jì)

通過(guò)和業(yè)務(wù)部門溝通以及以往用戶操作習(xí)慣,確定用戶操作習(xí)慣模式,以及不同的場(chǎng)景用戶數(shù)量,操作次數(shù),確定測(cè)試指標(biāo),以及性能監(jiān)控等。

3、測(cè)試用例設(shè)計(jì)

確認(rèn)測(cè)試場(chǎng)景后,在系統(tǒng)已有的操作描述上,進(jìn)一步完善為可映射為腳本的測(cè)試用例描述,用例大概內(nèi)容如下:

用例編號(hào):查詢表單_xxx_x1(命名以業(yè)務(wù)操作場(chǎng)景為主,簡(jiǎn)潔易懂即可)

用例條件:用戶已登錄、具有對(duì)應(yīng)權(quán)限等。。。

操作步驟:

①進(jìn)入對(duì)應(yīng)頁(yè)面。。。。。。

②查詢相關(guān)數(shù)據(jù)。。。。。。

③勾選導(dǎo)出數(shù)據(jù)。。。。。。

④修改上傳數(shù)據(jù)。。。。。。

PS:這里的操作步驟只是個(gè)例子,具體以系統(tǒng)業(yè)務(wù)場(chǎng)景描述;

4、腳本和輔助工具的開發(fā)及使用

按照用例描述,可利用工具進(jìn)行錄制,然后在錄制的腳本中進(jìn)行修改;比如參數(shù)化、關(guān)聯(lián)、檢查點(diǎn)等等,最后的結(jié)果使得測(cè)試腳本可用,能達(dá)到測(cè)試要求即可;

PS:個(gè)人而言,建議盡量自己寫腳本來(lái)實(shí)現(xiàn)業(yè)務(wù)操作場(chǎng)景,這樣對(duì)個(gè)人技能提升較大;一句話:能寫就絕不錄制?。?!

四、測(cè)試執(zhí)行與管理

在這個(gè)階段,只需要按照之前已經(jīng)設(shè)計(jì)好的業(yè)務(wù)場(chǎng)景、環(huán)境和測(cè)試用例腳本,部署環(huán)境,執(zhí)行測(cè)試并記錄結(jié)果即可。

1、建立測(cè)試環(huán)境

按照之前已經(jīng)設(shè)計(jì)好的測(cè)試環(huán)境,部署對(duì)應(yīng)的環(huán)境,由運(yùn)維或開發(fā)人員進(jìn)行部署,檢查,并仔細(xì)調(diào)整,同時(shí)保持測(cè)試環(huán)境的干凈和穩(wěn)定,不受外來(lái)因素影響。

2、執(zhí)行測(cè)試腳本

這一點(diǎn)比較簡(jiǎn)單,在已部署好的測(cè)試環(huán)境中,按照業(yè)務(wù)場(chǎng)景和編號(hào),按順序執(zhí)行我們已經(jīng)設(shè)計(jì)好的測(cè)試腳本。

3、測(cè)試結(jié)果記錄

根據(jù)測(cè)試采用的工具不同,結(jié)果的記錄也有不同的形式;現(xiàn)在大多的性能測(cè)試工具都提供比較完整的界面圖形化的測(cè)試結(jié)果,當(dāng)然,對(duì)于服務(wù)器的資源使用等情況,可以利用一些計(jì)數(shù)器或

第三方監(jiān)控工具來(lái)對(duì)其進(jìn)行記錄,執(zhí)行完測(cè)試后,對(duì)結(jié)果進(jìn)行整理分析。

五、測(cè)試分析

1、測(cè)試環(huán)境的系統(tǒng)性能分析

根據(jù)我們之前記錄得到的測(cè)試結(jié)果(圖表、曲線等),經(jīng)過(guò)計(jì)算,與預(yù)定的性能指標(biāo)進(jìn)行對(duì)比,確定是否達(dá)到了我們需要的結(jié)果;如未達(dá)到,查看具體的瓶頸點(diǎn),然后根據(jù)瓶頸點(diǎn)的具體數(shù)據(jù),

進(jìn)行具體情況具體分析(影響性能的因素很多,這一點(diǎn),可以根據(jù)經(jīng)驗(yàn)和數(shù)據(jù)表現(xiàn)來(lái)判斷分析)。

2、硬件設(shè)備對(duì)系統(tǒng)性能表現(xiàn)的影響分析

由于之前設(shè)計(jì)了幾個(gè)不同的測(cè)試環(huán)境,故可以根據(jù)不同測(cè)試環(huán)境的硬件資源使用狀況圖進(jìn)行分析,確定瓶頸是再數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器抑或其他方面,然后針對(duì)性的進(jìn)行優(yōu)化等操作。

3、其他影響因素分析

影響系統(tǒng)性能的因素很多,可以從用戶能感受到的場(chǎng)景分析,哪里比較慢,哪里速度尚可,這里可以根據(jù)2\5\8原則對(duì)其進(jìn)行分析;

至于其他諸如網(wǎng)絡(luò)帶寬、操作動(dòng)作、存儲(chǔ)池、線程實(shí)現(xiàn)、服務(wù)器處理機(jī)制等一系列的影響因素,具體問(wèn)題具體分析,這里就不一一表述了。

4、測(cè)試中發(fā)現(xiàn)的問(wèn)題

在性能測(cè)試執(zhí)行過(guò)程中,可能會(huì)發(fā)現(xiàn)某些功能上的不足或存在的缺陷,以及需要優(yōu)化的地方,這也是執(zhí)行多次測(cè)試的優(yōu)點(diǎn)。


|—如何使用nmon工具檢測(cè)服務(wù)器的資源

1、工具獲取

下載地址:

http://sourceforge.jp/projects/sfnet_nmon/releases/ 或者直接從這獲取,還包含分析工具??上螺d比較全的壓縮包:

nmon_linux_14i_newer_Linux_versions.tar.gz

官方地址:http://nmon.sourceforge.net/

2、使用

1. 解壓并獲取以對(duì)應(yīng)平臺(tái)的nmon工具文件: nmon_linux_14i_newer_Linux_versions.tar.gz

解壓后,可以看到各個(gè)平臺(tái)的文件,我們只需要使用適合的即可,一般是nmon_linux_x86_64。

2. 將nmon工具文件上傳至服務(wù)器的相應(yīng)目錄并增加可執(zhí)行權(quán)限

a.? ? ? 上傳成功后:

b.? ? ? 增加可執(zhí)行權(quán)限:

chmod 755 nmon_x86_64_centos6

3.使用nmon工具的實(shí)時(shí)監(jiān)控功能

?輸入 ./ nmon_x86_64_centos6

3、數(shù)據(jù)采集

為了實(shí)時(shí)監(jiān)控系統(tǒng)在一段時(shí)間內(nèi)的使用情況并將結(jié)果記錄下來(lái),我們可以通過(guò)運(yùn)行以下命令實(shí)現(xiàn):

$./nmon_x86_64_centos6 -ft? -m /nmon/log -s 1 -c 20

-f:按標(biāo)準(zhǔn)格式輸出文件:<hostname>_YYYYMMDD_HHMM.nmon;

-t:輸出中包括占用率較高的進(jìn)程;

-m 切換到路徑去保存日志文件

-s 30:每30秒進(jìn)行一次數(shù)據(jù)采集

-c 10:一共采集10次

-c 取出多少個(gè)抽樣數(shù)量,這里為120,即監(jiān)控=120*(30/60/60)=1小時(shí)

??? 根據(jù)小時(shí)計(jì)算這個(gè)數(shù)字的公式為:c=h*3600/s,比如要監(jiān)控10小時(shí),每隔30秒采樣一次,則c=10*3600/30=1200

輸入命令回車后,將自動(dòng)在當(dāng)前目錄生成一個(gè)hostname_timeSeries.nmon的文件,如果hostname為svcpreapp01,生成的文件為:svcpreapp01_151221_1738.nmon,如下:

./nmon_x86_64_centos6 -ft -s 1 -c 10 &

4、生成報(bào)告(生成圖形化結(jié)果)


該命令啟動(dòng)后,會(huì)在nmon所在目錄下生成監(jiān)控文件,并持續(xù)寫入資源數(shù)據(jù),直至360個(gè)監(jiān)控點(diǎn)收集完成——即監(jiān)控1小時(shí),這些操作均自動(dòng)完成,無(wú)需手工干 預(yù),測(cè)試人員可以繼續(xù)完成其他操作。如果想停止該監(jiān)控,需要通過(guò)“#ps –ef|grep nmon”查詢進(jìn)程號(hào),然后殺掉該進(jìn)程以停止監(jiān)控。

通過(guò)后臺(tái)監(jiān)控和定期監(jiān)控,我們可以得到擴(kuò)展名為nmon的監(jiān)控文件,這些文件記錄著系統(tǒng)資源的數(shù)據(jù),需要配合分析工具(nmon analyser)進(jìn)行解讀。

  1)?? 使用FTP工具從服務(wù)器上取下生成結(jié)果文件/nmon/log/sjfx212_120318_1723.nmon到本機(jī)。

  2)?? 打開nmon_analyser.zip 包下的nmon analyser v33g.xls 文件,點(diǎn)擊Analyse nomn data按鈕,選擇之前get下來(lái)的sjfx212_120318_1723.nmon文件。

5,數(shù)據(jù)分析

借助nmon analyser可以把nmon采集的數(shù)據(jù)生成直觀的Excel表,nmon analyser可以在IBM的官網(wǎng)下載,https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

在windows上下載后解壓,有word和exce兩個(gè)文檔,Word是說(shuō)明文檔,包括更新日志,詳細(xì)參數(shù)等,其中的Excel就是nmon analyser工具了。

Nmon 是一個(gè)分析aix和linux性能的免費(fèi)工具(其主要是ibm為自己的aix操作系統(tǒng)開發(fā)的,但是也可以應(yīng)用在linux操作系統(tǒng)上),而nmon_analyser是nmon的一個(gè)工具可以把nmon生成的報(bào)告轉(zhuǎn)化成excel報(bào)表的形式供我們查看。下面先讓看下nmon_analyser生成的報(bào)表。


|—1、安裝JMeter插

新的版本提供了插件管理器,但是需要自行下載安裝。

下載路徑:? https://jmeter-plugins.org/downloads/all/


放在lib/ext目錄下,然后重啟Jmeter,會(huì)在菜單-選項(xiàng)下多一個(gè) Plugins Manager菜單,打開即可對(duì)插件進(jìn)行安裝、升級(jí)。


|—2、Jmeter 插件安裝

打開 Plugins Manager 菜單,在可獲得的插件列表中選擇自己需要的插件進(jìn)行安裝。

常用的插件:

? 支持Base64加解密等多個(gè)函數(shù)的插件?Custom JMeter Functions

? 用于服務(wù)器性能監(jiān)視的?PerfMon Metrics Collector

? 用于建立壓力變化模型的?Stepping Thread Group

? 用于Json解析的?JSON Path Extractor

? 用于展示響應(yīng)時(shí)間曲線的?Response Times Over Time

? 用于展示TPS曲線的?Transactions per Second

|—1、打開插件管理器Plugins Manager


可以看到:

? Installed Plugins: 已經(jīng)安裝的插件

? Avaliable Plugins: 可以下載的其他插件

? Upgrades:一些插件的更新

|—2、比如我們要用自定義線程組這個(gè)插件,它不是默認(rèn)安裝的,那就可以進(jìn)入Avaliable Plugins 來(lái)下載安裝


搜索thread,選中 Custom Thread Groups,點(diǎn)擊 Apply Changes and Restart JMeter

3、重啟后就可以添加自定義線程組了

|—3、安裝自定義線程組



|—1、自定義線程組設(shè)計(jì)測(cè)試場(chǎng)景

JMeter中我們使用線程組來(lái)控制測(cè)試場(chǎng)景,原線程組無(wú)法設(shè)計(jì)復(fù)雜測(cè)試場(chǎng)景,所以要用到JMeter插件提

供的線程組元件Ultimate Thread Group 和 Stepping Thread Group。

|—2、插件安裝:

JMeter插件的安裝參考:https://blog.csdn.net/galen2016/article/details/92806212

什么是實(shí)際的性能測(cè)試???

1)思考時(shí)間:用戶在做不同操作之間有時(shí)間停頓,或者延遲,思考時(shí)間就是模擬用戶的操作過(guò)程中的停頓的間。

2)步伐,速度:主要包括,大量用戶進(jìn)來(lái)的時(shí)間和退出時(shí)間,控制迭代之間的時(shí)間,例如,現(xiàn)場(chǎng)用戶20個(gè),設(shè)置5秒內(nèi)全部進(jìn)入,就是這樣的情況。

3)壓力測(cè)試時(shí)間:假如需要500個(gè)人同時(shí)測(cè)試30分鐘,這里持續(xù)30分鐘就是壓測(cè)時(shí)間。

|—3、Ultimate Thread Group

一、簡(jiǎn)單場(chǎng)景

100個(gè)線程,在10秒內(nèi)加載完,然后持續(xù)運(yùn)行600秒,最后在10秒內(nèi)結(jié)束所有線程,如下圖:


參數(shù)說(shuō)明:

? Start Threads Count:開始線程數(shù)量

? Initial Delay,sec:延時(shí)啟動(dòng)當(dāng)前行的線程,單位:秒

? Startup Time,sec:線程加載多長(zhǎng)時(shí)間,單位:秒

? Hold Load For,sec:當(dāng)前行線程達(dá)到峰值后的穩(wěn)定加載時(shí)間,單位:秒

? Shutdown Time:線程在多長(zhǎng)時(shí)間內(nèi)停止下來(lái),單位:秒

二、浪涌場(chǎng)景


說(shuō)明:

第一次從0秒開始,在10秒內(nèi)啟動(dòng)100個(gè)線程,然后持續(xù)運(yùn)行600秒,再在10秒內(nèi)停止這100個(gè)線程

第二次從第620秒開始,在10秒內(nèi)啟動(dòng)100個(gè)線程,然后持續(xù)運(yùn)行600秒,再在10秒內(nèi)停止這100個(gè)線程

第三次第四次 依次類推,只需改動(dòng)Initial Delay的值,本次Initial Delay的值=等于上一次的(Initial Delay+Startup Time+Hold Load For + Shutdown Time)

三、持續(xù)加壓場(chǎng)景


說(shuō)明:

這是一個(gè)負(fù)載不斷增大的場(chǎng)景,有3條線程任務(wù)作業(yè),每一個(gè)持續(xù)時(shí)間是600秒,100個(gè)線程運(yùn)行600秒后再加100個(gè),共300個(gè)線程。然后從第1810秒開始,沒(méi)10秒停止100個(gè)線程。整個(gè)場(chǎng)景共運(yùn)行1840秒

注意:Hold Load For的值要從最后一個(gè)任務(wù)往前推算

|—4、Stepping Thread Group

下圖是100個(gè)線程按階梯狀遞增運(yùn)行,每5秒內(nèi)加載20個(gè)線程直到100,每個(gè)階梯是600秒,最后一個(gè)階梯是1000秒,即并發(fā)100個(gè)線程時(shí),運(yùn)行1000秒。最后每秒停止10個(gè)線程。

這是一個(gè)典型的負(fù)載測(cè)試場(chǎng)景,持續(xù)增加負(fù)載,檢驗(yàn)服務(wù)器在不同負(fù)載下的性能。


參數(shù)說(shuō)明:

? This group will start:加載多少線程

? First,wait for:等待多長(zhǎng)時(shí)間開始加載線程

? Then start:初次加載多少個(gè)線程

? Next,add:下一次加載多少個(gè)線程

? Threads every:當(dāng)前運(yùn)行多長(zhǎng)時(shí)間后再次加載線程

? Using ramp_up:加載線程時(shí)間

? Then hold load for:線程全部加載完成后運(yùn)行多長(zhǎng)時(shí)間

? Finally,stop /threads every:多長(zhǎng)時(shí)間停止多少個(gè)線程


|—性能分析

排除法

1,響應(yīng)是太長(zhǎng)? 5s

1,中間件問(wèn)題? apache中間件

?? ? ? ?? 添加中間件的線程數(shù)

?? ? ? ? ? ? ? linux? 查看當(dāng)前http線程數(shù)量

?? ? ? ? ? ? ? ps -ef|grep httpd|wc -l

?? ? ? ? ? ? ? ps -ef 查看進(jìn)程? grep httpd 過(guò)濾進(jìn)程 httpd

?? ? ? ? ? ? ? wc -l? 統(tǒng)計(jì)數(shù)量

?? ? ? ? ? ? ? http.conf文件中 修改 最大連接數(shù)? ? ? ? ? ?

?? ? ? ? ? ? ? /etc/httpd/conf/httpd.conf

2、后臺(tái)代碼

?? ? a. 代碼架構(gòu)合不合理

?? ? b. 代碼算法是否存在優(yōu)化的空間

3、數(shù)據(jù)庫(kù)問(wèn)題

?? ? a.查看數(shù)據(jù)庫(kù)的最大連接數(shù)

?? ?? mysql -u root -p123456

?? ?? 查詢最大連接數(shù)據(jù):show VARIABLES like '%max_connect%'

?? ?? 最多? 支持3000-4000

?? ?? set GLOBAL MAX_CONNECTIONS=1000? 修改連接數(shù)

?? ? b.查看sql運(yùn)行時(shí)間

?? ?? show full PROCESSLIST 展示所有sql運(yùn)行的時(shí)間

?? ?? 如果 運(yùn)行時(shí)間過(guò)長(zhǎng),進(jìn)行sql語(yǔ)句優(yōu)化? ??

?? ?? 1,進(jìn)行sql優(yōu)化

?? ?? 2,建立索引文件(增加查詢速度)? ??

??? c.索引緩存大小

?? ? ? show VARIABLES like 'key_buffer_size%'? 查看緩存空間大小

?? ? ? key_reads 從磁盤讀取數(shù)據(jù)

?? ? ? Key_read_requests 總的數(shù)據(jù)讀取

?? ? ? 命中率:

?? ? ? 命中率:

?? ? ? 命中率計(jì)算=key_reads/Key_read_requests*100=1.7%? ? ? ? ? ? ??

?? ? ? 命中率計(jì)算=key_reads/Key_read_requests*100%=1.7%

?? ? ? 當(dāng)命中率 低于0.1% 算ok 高于0.1% 提高緩存空間大小

?? ? ? 當(dāng)命中率小于0.01% 適當(dāng)減少一些緩存空間大小

?? ? d,sleep過(guò)多

?? ? e,臨時(shí)表空間? ??

?4、 排除網(wǎng)絡(luò)問(wèn)題? ? ? ? ? ? ? ?? #抓包數(shù)據(jù)

?? ?? 提升網(wǎng)絡(luò)帶寬? 200M? 看響應(yīng)時(shí)間? 會(huì)不會(huì)大幅度縮短

?5,提升服務(wù)器硬件設(shè)備

?? ?? cpu,內(nèi)存,磁盤


|—分布式壓測(cè)

一臺(tái)主控機(jī),多臺(tái)客戶機(jī)

1、在主控機(jī)上編寫性能測(cè)試腳本

2、修改主控機(jī)的配置文件jemeter.properties文件,將所有的客戶機(jī)的IP地址及端口設(shè)置好

3、在主控機(jī)的Jmeter頁(yè)面啟動(dòng)客戶機(jī)?

?? ? ? 運(yùn)行->遠(yuǎn)程啟動(dòng)(指定啟動(dòng)哪一臺(tái))

?? ? ? 運(yùn)行->遠(yuǎn)程啟動(dòng)所有

備注說(shuō)明:如果客戶機(jī)不夠,也可以將主控機(jī)用來(lái)當(dāng)成客戶機(jī)向服務(wù)器發(fā)請(qǐng)求,這里需要在jemeter.properties配置文件中把主控機(jī)的ip地址及端口加入,并啟動(dòng)主控機(jī)的jmeter-server.bat文件即可。

所有客戶機(jī)的數(shù)據(jù)全部會(huì)自動(dòng)發(fā)送給主控機(jī),并進(jìn)行分析。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容