Jmeter常见问题(转)
生活随笔
收集整理的這篇文章主要介紹了
Jmeter常见问题(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
收集工作中JMeter遇到的各種問題 1. ?JMeter的工作原理是什么? 向服務器提交請求;從服務器取回請求返回的結果。 2. ?JMeter的作用? JMeter可以用于測試靜態或者動態資源的性能(文件、Servlets、Perl腳本、java對象、數據庫和查詢、ftp服務器或者其他的資源)。JMeter用于模擬在服務器、網絡或者其他對象上附加高負載以測試他們提供服務的受壓能力,或者分析他們提供的服務在不同負載條件下的總性能情況。你可以用JMeter提供的圖形化界面分析性能指標或者在高負載情況下測試服務器/腳本/對象的行為。 3. ? 怎樣能看到jmeter提供的腳本范例? 在\JMeter\jakarta-jmeter-2.0.3\xdocs\demos目錄下。 4. ? 怎樣設置并發用戶數? 選中可視化界面中左邊樹的Test Plan節點,單擊右鍵,選擇Add-> Thread Group,其中Number of Threads參數用來設置發送請求的用戶數目。 5. ?JMeter的運行指示? Jmeter在運行時,右上角有個單選框大小的小框框,運行是該框框為綠色,運行完畢后,該框框為白色。 6. ?User Parameters的作用是什么? 提高腳本可用性 7. ? 在result里會出現彩色字體的http response code,說明什么呢? Http response code是http返回值,彩色字體較引人注目,可以使用戶迅速關注。象綠色的302就說明在這一步驟中,返回值取自本機的catch,而不是server。 8. ? 怎樣計算Ramp-up period時間? Ramp-up period是指每個請求發生的總時間間隔,單位是秒。如果Number of Threads設置為5,而Ramp-up period是10,那么每個請求之間的間隔就是10/5,也就是2秒。Ramp-up period設置為0,就是同時并發請求。 9. ? ?Get和Post的區別? 他們是http協議的2種不同實現方式。Get是指server從Request URL取得所需參數。從result中的request中可以看到,get可以看到參數,但是post是主動向server發送參數,所以一般看不到這些參數的。 10. 哪些原因可能導致error的產生? a. ? Http錯誤,包括不響應,結果找不到,數據錯誤等等; b. ? JMeter本身原因產生的錯誤。 11. 為什么Aggregate Report結果中的Total值不是真正的總和? JMeter給結果中total的定義是并不完全指總和,為了方便使用,它的值表現了所在列的代表值,比如min值,它的total就是所在列的最小值。下圖就是total在各列所表示的意思。 12. ?JMeter的Thread Number是提供多個不同用戶并發的功能么? 不是,Thread Number僅僅是指并發數,如果需要實現多個不同用戶并發,我們應該采用其它方法,比如通過在jmeter外建立csv文件的方法來實現。 13. 同時并發請求時,若需要模擬不同的用戶同時向不同的server并發請求,怎樣實現呢? 方法很靈活,我們可以將不同的server在thread里面預先寫好。或者預先將固定的變量值寫入csv文件,這樣還可以方便修改。然后將文件添加到User Parameters。 14. ? User Parameter中的DUMMY是什么意思? 當其具體內容是${__CSVRead(${__property(user.dir)}${FILENAME},next())}時用來模擬讀文件的下一行。 15. ? 當測試對象在多server間跳轉時,應該怎樣處理? 程序運行時,有些http和隱函數會攜帶另外的server IP,我們可以從他們的返回值中獲取。 16. ? 為何測試對象是http和https混雜出現? Https是加密協議,為了安全,一般不推薦使用http,但是有些地方,使用https過于復雜或者較難實現,會采用http協議。 17. ? Http和https的默認端口是什么? Apache server (Http)的默認端口是80; SSL (Https)的默認端口是443。 18. ? 為何在run時,有些頁面失敗,但是最后不影響結果? 原因較多,值得提及的一種是因為主流頁面與它不存在依賴關系,所以即使這樣的頁面出錯,也不會影響運行得到正常結果,但是這樣會影響到測試的結果以及分析結果。 19. 為什么腳本剛開始運行就有錯誤,其后來的腳本還可運行? 在Thread Group中有相關設置,如果選擇了continue,即使前面的腳本出現錯誤,整個thread仍會運行直到結束。選擇Stop Thread會結束當前thread;選擇Stop Test則會結束全部的thread。推薦選項是Stop Thread。 20. ? ? 在Regular expression_r Extractor會看到Template的值是$1$,這個值是什么意思呢? $1$是指取第一個()里面的值。如果Regular expression_r的數值有多個,用這種方法可以避免不必要的麻煩。
21. ? ?Regular expression_r中的(.*)是什么意思? 那是一個正則表達式(regular expression_r)。’.’等同于sql語言中的’?’,表示可有可無。’*’表示0個或多個。’()’表示需要取值。(.*)表達任意長度的字符串。 22. ? 在讀取Regular expression_r時要注意什么? 一定要保證所取數值的絕對唯一性。 23. ? 怎樣才能判斷什么樣的情況需要添加Regular expression_r Extractor? 檢查Http Request中的Send Parameters,如果有某個參數是其前一個page中所沒有給出的,就要到原文件中查找,并添加Regular expression_r Extractor到其前一page的http request中。 24. ? 在自動獲取的腳本中有時會出現空的http request,是什么意思呢? 是因為在獲取腳本時有些錯誤,是腳本工具原因。在run時這種錯誤不參與運行的。 25. ? 在運行結果中為何有rate為N/A的情況出現? 可能因為JMeter自身問題造成,再次運行可以得到正確結果。 26. ? 常用http錯誤代碼有哪些? 400無法解析此請求。 403禁止訪問:訪問被拒絕。 404找不到文件或目錄。 405用于訪問該頁的HTTP動作未被許可。 410文件已刪除。 500服務器內部錯誤。 501標題值指定的配置沒有執行。 502 Web服務器作為網關或代理服務器時收到無效的響應。 27. ? ?Http request中的Send Parameters是指什么? 是指code中寫定的值和自定義變量中得到的值,就是在運行頁面時需要的參數。 28. ? ?Parameters在頁面中是不斷傳遞的么? 是的。參數再產生后會在頁面中一直傳遞到所需頁面。所以我們可以在動態參數產生時捕獲它,也可以在所需頁面的上一頁面捕獲。(但是這樣可能有錯誤,最好在產生頁面獲取) 29. ? 在使用JMeter測試時,是完全模擬用戶操作么?造成的結果也和用戶操作完全相同么? 是的。JMeter完全模擬用戶操作,所以操作記錄會全部寫入DB.在運行失敗時,可能會產生錯誤數據,這就取決于腳本檢查是否嚴謹,否則錯誤數據也會進入DB,給程序運行帶來很多麻煩。 原文:https://www.cnblogs.com/yangxia-test/p/4137519.html
21. ? ?Regular expression_r中的(.*)是什么意思? 那是一個正則表達式(regular expression_r)。’.’等同于sql語言中的’?’,表示可有可無。’*’表示0個或多個。’()’表示需要取值。(.*)表達任意長度的字符串。 22. ? 在讀取Regular expression_r時要注意什么? 一定要保證所取數值的絕對唯一性。 23. ? 怎樣才能判斷什么樣的情況需要添加Regular expression_r Extractor? 檢查Http Request中的Send Parameters,如果有某個參數是其前一個page中所沒有給出的,就要到原文件中查找,并添加Regular expression_r Extractor到其前一page的http request中。 24. ? 在自動獲取的腳本中有時會出現空的http request,是什么意思呢? 是因為在獲取腳本時有些錯誤,是腳本工具原因。在run時這種錯誤不參與運行的。 25. ? 在運行結果中為何有rate為N/A的情況出現? 可能因為JMeter自身問題造成,再次運行可以得到正確結果。 26. ? 常用http錯誤代碼有哪些? 400無法解析此請求。 403禁止訪問:訪問被拒絕。 404找不到文件或目錄。 405用于訪問該頁的HTTP動作未被許可。 410文件已刪除。 500服務器內部錯誤。 501標題值指定的配置沒有執行。 502 Web服務器作為網關或代理服務器時收到無效的響應。 27. ? ?Http request中的Send Parameters是指什么? 是指code中寫定的值和自定義變量中得到的值,就是在運行頁面時需要的參數。 28. ? ?Parameters在頁面中是不斷傳遞的么? 是的。參數再產生后會在頁面中一直傳遞到所需頁面。所以我們可以在動態參數產生時捕獲它,也可以在所需頁面的上一頁面捕獲。(但是這樣可能有錯誤,最好在產生頁面獲取) 29. ? 在使用JMeter測試時,是完全模擬用戶操作么?造成的結果也和用戶操作完全相同么? 是的。JMeter完全模擬用戶操作,所以操作記錄會全部寫入DB.在運行失敗時,可能會產生錯誤數據,這就取決于腳本檢查是否嚴謹,否則錯誤數據也會進入DB,給程序運行帶來很多麻煩。 原文:https://www.cnblogs.com/yangxia-test/p/4137519.html
轉載于:https://www.cnblogs.com/jackzz/p/10145271.html
總結
以上是生活随笔為你收集整理的Jmeter常见问题(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数独高阶技巧入门之四:简单异数链
- 下一篇: Python 列表(数组)初识