日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JMeter 测试计划

發(fā)布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JMeter 测试计划 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

測試計劃

使用?JMeter?進行測試的起點,是其它?JMeter?測試元件的容器。

線程組

代表一定數(shù)量的并發(fā)用戶,它可以用來模擬并發(fā)用戶發(fā)送請求。實際的請求內(nèi)容在 Sampler中定義,它被線程組包含。可以在“測試計劃->添加->線程組”來建立它,然后在線程組面板里有幾個輸入欄:線程數(shù)、 Ramp-Up Period(in seconds)、循環(huán)次數(shù),其中Ramp-Up Period(in seconds)表示在這時間內(nèi)創(chuàng)建完所有的線程。如有8個線程,Ramp-Up = 200秒,那么線程的啟動時間間隔為200/8=25秒,這樣的好處是:一開始不會對服務(wù)器有太大的負載。線程組是為模擬并發(fā)負載而設(shè)計。

取樣器(Sampler

模擬各種請求。所有實際的測試任務(wù)都由取樣器承擔,存在很多種請求。如:HTTP 、ftp請求等等。
監(jiān)聽器

負責收集測試結(jié)果,同時也被告知了結(jié)果顯示的方式。功能是對取樣器的請求結(jié)果顯示、統(tǒng)計一些數(shù)據(jù)(吞吐量、KB/S……)等。
斷言

用于來判斷請求響應(yīng)的結(jié)果是否如用戶所期望,是否正確。它可以用來隔離問題域,即在確保功能正確的前提下執(zhí)行壓力測試。這個限制對于有效的測試是非常有用的。

定時器

負責定義請求(線程)之間的延遲間隔,模擬對服務(wù)器的連續(xù)請求。

邏輯控制器

允許自定義JMeter發(fā)送請求的行為邏輯,它與Sampler結(jié)合使用可以模擬復雜的請求序列。
配置元件

維護Sampler需要的配置信息,并根據(jù)實際的需要會修改請求的內(nèi)容。
前置處理器和后置處理器

負責在生成請求之前和之后完成工作。前置處理器常常用來修改請求的設(shè)置,后置處理器則常常用來處理響應(yīng)的數(shù)據(jù)。

?

2. ?聚合報告

聚合報告(Aggregate Report) 是?JMeter?常用的一個 監(jiān)聽器。對聚合報告各項數(shù)據(jù)欄的理解如下:

Label

每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這里顯示的就是 Name 屬性的值
#Samples

表示你這次測試中一共發(fā)出了多少個請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100
Average

平均響應(yīng)時間——默認情況下是單個 Request 的平均響應(yīng)時間,當使用了 Transaction Controller 時,也可以以Transaction 為單位顯示平均響應(yīng)時間
Median

中位數(shù),也就是 50% 用戶的響應(yīng)時間
90% Line

90% 用戶的響應(yīng)時間
Note

關(guān)于 50% 和 90% 并發(fā)用戶數(shù)的含義,請參考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
Min

最小響應(yīng)時間
Max

最大響應(yīng)時間
Error%

本次測試中出現(xiàn)錯誤的請求的數(shù)量/請求的總數(shù)
Throughput(吞吐量)

默認情況下表示每秒完成的請求數(shù)(Request per Second),當使用了 Transaction Controller 時,也可以表示類似?LoadRunner?的 Transaction per Second 數(shù)

KB/Sec

每秒從服務(wù)器端接收到的數(shù)據(jù)量,相當于LoadRunner中的Throughput/Sec

?

3.? 圖形結(jié)果分析參數(shù)解析

樣本數(shù)目

總共發(fā)送到服務(wù)器的請求數(shù)。

最新樣本

代表時間的數(shù)字,是服務(wù)器響應(yīng)最后一個請求的時間。

吞吐量

服務(wù)器每分鐘處理的請求數(shù)。

平均值

總運行時間除以發(fā)送到服務(wù)器的請求數(shù)。

中間值

代表時間的數(shù)字,有一半的服務(wù)器響應(yīng)時間低于該值而另一半高于該值。

偏離

服務(wù)器響應(yīng)時間變化、離散程度測量值的大小,或者,換句話說,就是數(shù)據(jù)的分布。

?

4.? Http請求的配置參數(shù)

名稱

本屬性用于標識一個取樣器,建議使用一個有意義的名稱。

注釋

對于測試沒有任何作用,僅用戶記錄用戶可讀的注釋信息。

服務(wù)器名稱或IP?

HTTP請求發(fā)送的目標服務(wù)器名稱或IP地址。

端口號

目標服務(wù)器的端口號,默認值為80?。

協(xié)議

向目標服務(wù)器發(fā)送HTTP請求時的協(xié)議,可以是http或者是https?,默認值為http?。

方法

發(fā)送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

Content?encoding?

內(nèi)容的編碼方式,默認值為iso8859

路徑

目標URL路徑(不包括服務(wù)器地址和端口)

自動重定向

如果選中該選項,當發(fā)送HTTP請求后得到的響應(yīng)是302/301時,JMeter?自動重定向到新的頁面。

Use?keep?Alive?

當該選項被選中時,jmeter?和目標服務(wù)器之間使用?Keep-Alive方式進行HTTP通信,默認選中。

Use?multipart/from-data?for?HTTP?POST?

當發(fā)送HTTP?POST?請求時,使用Use?multipart/from-data方法發(fā)送,默認不選中。

同請求一起發(fā)送參數(shù)?

在請求中發(fā)送URL參數(shù),對于帶參數(shù)的URL?,jmeter提供了一個簡單的對參數(shù)化的方法。用戶可以將URL中所有參數(shù)設(shè)置在本表中,表中的每一行是一個參數(shù)值對(對應(yīng)RUL中的?名稱1=值1)。

同請求一起發(fā)送文件

在請求中發(fā)送文件,通常,HTTP文件上傳行為可以通過這種方式模擬。

HTML文件獲取所有有內(nèi)含的資源

當該選項被選中時,jmeter在發(fā)出HTTP請求并獲得響 應(yīng)的HTML文件內(nèi)容后,還對該HTML進行Parse?并獲取HTML中包含的所有資源(圖片、flash等),默認不選中,如果用戶只希望獲取頁面中 的特定資源,可以在下方的Embedded?URLs?must?match?文本框中填入需要下載的特定資源表達式,這樣,只有能匹配指定正則表達式的 URL指向資源會被下載。

用作監(jiān)視器

此取樣器被當成監(jiān)視器,在Monitor?Results?Listener?中可以直接看到基于該取樣器的圖形化統(tǒng)計信息。默認為不選中。

Save?response?as?MD5?hash?

選中該項,在執(zhí)行時僅記錄服務(wù)端響應(yīng)數(shù)據(jù)的MD5值,而不記錄完整的響應(yīng)數(shù)據(jù)。在需要進行數(shù)據(jù)量非常大的測試時,建議選中該項以減少取樣器記錄響應(yīng)數(shù)據(jù)的開銷。

?

5.? Constant?Throughput?Timer?的主要屬性

名稱?

定時器的名稱

Target?throughputin?samples?per?minute

目標吞吐量。注意這里是每分鐘發(fā)送的請求數(shù)。

Calculate?Throughput?based?on?

有5個選項,分別是:

  This?thread?only?:控制每個線程的吞吐量,選擇這種模式時,總的吞吐量為設(shè)置的?target?Throughput?乘以線程的數(shù)量。

  All?active?threads?:?設(shè)置的target?Throughput?將分配在每個活躍線程上,每個活躍線程在上一次運行結(jié)束后等待合理的時間后再次運行。活躍線程指同一時刻同時運行的線程。

   All?active?threads?in?current?thread?group?:設(shè)置的target?Throughput將分配在當前線程 組的每一個活躍線程上,當測試計劃中只有一個線程組時,該選項和All?active?threads選項的效果完全相同。

  All?active?threads?(shared?):與All?active?threads?的選項基本相同,唯一的區(qū)別是,每個活躍線程都會在所有活躍線程上一次運行結(jié)束后等待合理的時間后再次運行。

   All?active?threads?in?current?thread?group?(shared?):與 All?active?threads?in?current?thread?group?基本相同,唯一的區(qū)別是,每個活躍線程都會在所有活躍線程的上 一次運行結(jié)束后等待合理的時間后再次運行。

?

6.? JMeter常見問題

1. JMeter的工作原理是什么?

向服務(wù)器提交請求;從服務(wù)器取回請求返回的結(jié)果。

2. JMeter的作用?

JMeter可以用于測試靜態(tài)或者動態(tài)資源的性能(文 件、Servlets、Perl腳本、java對象、數(shù)據(jù)庫和查詢、ftp服務(wù)器或者其他的資源)。JMeter用于模擬在服務(wù)器、網(wǎng)絡(luò)或者其他對象上附 加高負載以測試他們提供服務(wù)的受壓能力,或者分析他們提供的服務(wù)在不同負載條件下的總性能情況。你可以用JMeter提供的圖形化界面分析性能指標或者在 高負載情況下測試服務(wù)器/腳本/對象的行為。

?

3. 怎樣能看到j(luò)meter提供的腳本范例?

在\JMeter\jakarta-jmeter-2.0.3\xdocs\demos目錄下。

4. 怎樣設(shè)置并發(fā)用戶數(shù)?

選中可視化界面中左邊樹的Test?Plan節(jié)點,單擊右鍵,選擇Add-> Thread Group,其中Number of Threads參數(shù)用來設(shè)置發(fā)送請求的用戶數(shù)目。

5. JMeter的運行指示?

Jmeter在運行時,右上角有個單選框大小的小框框,運行是該框框為綠色,運行完畢后,該框框為白色。

6. User Parameters的作用是什么?

提高腳本可用性

7. 在result里會出現(xiàn)彩色字體的http response code,說明什么呢?

?Http response code是http返回值,彩色字體較引人注目,可以使用戶迅速關(guān)注。象綠色的302就說明在這一步驟中,返回值取自本機的catch,而不是server

8. 怎樣計算Ramp-up period時間?

Ramp-up period是指每個請求發(fā)生的總時間間隔,單位是秒。如果Number of Threads設(shè)置為5,而Ramp-up period是10,那么每個請求之間的間隔就是10/5,也就是2秒。Ramp-up period設(shè)置為0,就是同時并發(fā)請求。

9. Get和Post的區(qū)別?

他們是http協(xié)議的2種不同實現(xiàn)方式。Get是指server從Request URL取得所需參數(shù)。從result中的request中可以看到,get可以看到參數(shù),但是post是主動向server發(fā)送參數(shù),所以一般看不到這些參數(shù)的。

10. 哪些原因可能導致error的產(chǎn)生?

a. Http錯誤,包括不響應(yīng),結(jié)果找不到,數(shù)據(jù)錯誤等等;

b.?JMeter本身原因產(chǎn)生的錯誤。

11. 為什么Aggregate Report結(jié)果中的Total值不是真正的總和?

JMeter給結(jié)果中total的定義是并不完全指總和,為了方便使用,它的值表現(xiàn)了所在列的代表值,比如min值,它的total就是所在列的最小值。下圖就是total在各列所表示的意思。

12. JMeter的Thread Number是提供多個不同用戶并發(fā)的功能么?

不是,Thread Number僅僅是指并發(fā)數(shù),如果需要實現(xiàn)多個不同用戶并發(fā),我們應(yīng)該采用其它方法,比如通過在jmeter外建立csv文件的方法來實現(xiàn)。

13. 同時并發(fā)請求時,若需要模擬不同的用戶同時向不同的server并發(fā)請求,怎樣實現(xiàn)呢?

方法很靈活,我們可以將不同的server在thread里面預先寫好。或者預先將固定的變量值寫入csv文件,這樣還可以方便修改。然后將文件添加到User Parameters。

14. User Parameter中的DUMMY是什么意思?

當其具體內(nèi)容是${__CSVRead(${__property(user.dir)}${FILENAME},next())}時用來模擬讀文件的下一行。

15. 當測試對象在多server間跳轉(zhuǎn)時,應(yīng)該怎樣處理?

程序運行時,有些http和隱函數(shù)會攜帶另外的server IP,我們可以從他們的返回值中獲取。

16. 為何測試對象是http和https混雜出現(xiàn)?

Https是加密協(xié)議,為了安全,一般不推薦使用http,但是有些地方,使用https過于復雜或者較難實現(xiàn),會采用http協(xié)議。

17. Http和https的默認端口是什么?

Apache server (Http)的默認端口是80;

SSL (Https)的默認端口是443。

18. 為何在run時,有些頁面失敗,但是最后不影響結(jié)果?

原因較多,值得提及的一種是因為主流頁面與它不存在依賴關(guān)系,所以即使這樣的頁面出錯,也不會影響運行得到正常結(jié)果,但是這樣會影響到測試的結(jié)果以及分析結(jié)果。

19. 為什么腳本剛開始運行就有錯誤,其后來的腳本還可運行?

在Thread Group中有相關(guān)設(shè)置,如果選擇了continue,即使前面的腳本出現(xiàn)錯誤,整個thread仍會運行直到結(jié)束。選擇Stop Thread會結(jié)束當前thread;選擇Stop Test則會結(jié)束全部的thread。推薦選項是Stop Thread。

20. 在Regular expression_r Extractor會看到Template的值是$1$,這個值是什么意思呢?

$1$是指取第一個()里面的值。如果Regular expression_r的數(shù)值有多個,用這種方法可以避免不必要的麻煩。

21. Regular expression_r中的(.*)是什么意思?

那是一個正則表達式(regular expression_r)。’.’等同于sql語言中的’?’,表示可有可無。’*’表示0個或多個。’()’表示需要取值。(.*)表達任意長度的字符串。

22. 在讀取Regular expression_r時要注意什么?

一定要保證所取數(shù)值的絕對唯一性。

23. 怎樣才能判斷什么樣的情況需要添加Regular expression_r Extractor?\

檢查Http Request中的Send Parameters,如果有某個參數(shù)是其前一個page中所沒有給出的,就要到原文件中查找,并添加Regular expression_r Extractor到其前一page的http request中。

24. 在自動獲取的腳本中有時會出現(xiàn)空的http request,是什么意思呢?

是因為在獲取腳本時有些錯誤,是腳本工具原因。在run時這種錯誤不參與運行的。

25. 在運行結(jié)果中為何有rate為N/A的情況出現(xiàn)?

可能因為JMeter自身問題造成,再次運行可以得到正確結(jié)果。

26. 常用http錯誤代碼有哪些?

400??? 無法解析此請求。

403??? 禁止訪問:訪問被拒絕。

404??? 找不到文件或目錄。

405??? 用于訪問該頁的HTTP動作未被許可。

410??? 文件已刪除。

500??? 服務(wù)器內(nèi)部錯誤。

501??? 標題值指定的配置沒有執(zhí)行。

502 ?? Web服務(wù)器作為網(wǎng)關(guān)或代理服務(wù)器時收到無效的響應(yīng)。


27. Http request中的Send Parameters是指什么?

是指code中寫定的值和自定義變量中得到的值,就是在運行頁面時需要的參數(shù)。

28. Parameters在頁面中是不斷傳遞的么?

是的。參數(shù)再產(chǎn)生后會在頁面中一直傳遞到所需頁面。所以我們可以在動態(tài)參數(shù)產(chǎn)生時捕獲它,也可以在所需頁面的上一頁面捕獲。(但是這樣可能有錯誤,最好在產(chǎn)生頁面獲取)

29. 在使用JMeter測試時,是完全模擬用戶操作么?造成的結(jié)果也和用戶操作完全相同么?

是的。JMeter完全模擬用戶操作,所以操作記錄會全部寫入DB.在運行失敗時,可能會產(chǎn)生錯誤數(shù)據(jù),這就取決于腳本檢查是否嚴謹,否則錯誤數(shù)據(jù)也會進入DB,給程序運行帶來很多麻煩。

轉(zhuǎn)載于:https://www.cnblogs.com/Andy520/p/6651159.html

總結(jié)

以上是生活随笔為你收集整理的JMeter 测试计划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。