iT邦幫忙

1

鼠年全馬鐵人挑戰 WEEK 30:負載性能測試 - JMeter (下)

           Photo on Hashedin by Sripathi Krishnan


前言

上週簡單的介紹了如何快速的使用 JMeter
簡單分成三個部分,分別是:安裝、使用與報告
如果還沒看過的大哥大姐們 小弟非常建議來看看
鼠年全馬鐵人挑戰 WEEK 29:負載性能測試 - JMeter (上)

而這週小弟想要延續上週的內容
藉由上週的 JMeter 來更深入的介紹 JMeter 的各種功能

分享重點

  • JMeter - Options
  • JMeter - Tools (import from cURL)
  • setUp Thread Group
  • tearDown Thread Group
  • PreProcessor
  • Toggle

JMeter - Options

JMeter 的 Options 標籤中有許多的設定選項
每一個的設定選項都可以讓使用上更為順暢
小弟覺得最有感的設定有三個,分別是:

  • Look and Feel:設定 JMeter GUI 的系統主題
  • Log Viewer:開啟或關閉執行 log
  • Choose Language:設定 JMeter GUI 的系統語系
             (並非完全翻譯 建議還是學點英文XD)

JMeter - Tools

JMeter 的 Tools 標籤中有一個功能小弟不得不介紹
那就是 import from cURL (實在是太方便 太好用拉)
import from cURL 的方式有兩種

  • 在上方的編輯器內 直接輸入 cURL 內容
  • 點擊瀏覽(Browse...) 選擇 cURL 的執行檔

額外補充:
如果不確定 cURL 是否正確的話
可以先使用 Insomnia 設定
完成後再透過 Insomnia 功能來產生 cURL
如果還不知道怎麼使用 Insomnia 的大哥大姐們
歡迎點擊下方連結 進來看看
鼠年全馬鐵人挑戰 WEEK 11:API 測試工具 - Insomnia

新增 setUp Thread Group

setUp Thread Group 的使用方式與 Thread Group 幾乎相同
差別在於 setUp Thread Group 是在執行 Sampler 請求之前的前置作業
換句話說,也就是非主要的測試內容
但是又必須在負載測試執行之前完成的操作

  • setUp Thread Group

    對左側預設的 Test Plan 按右鍵 接著依序選擇
    Add > Threads(Users) > setUp Thread Group

新增 tearDown Thread Group

tearDown Thread Group 的使用方式與 Thread Group 也幾乎相同
差別在於 tearDown Thread Group 是在執行完所有 Sampler 請求之後的還原作業
換句話說,也就是非主要的測試內容
但是又必須在負載測試執行之後完成的操作

  • tearDown Thread Group

    對左側預設的 Test Plan 按右鍵 接著依序選擇
    Add > Threads(Users) > tearDown Thread Group

PreProcessor

PreProcessor 的概念與 setUP Thread Group 相似
目的都是為了在執行 Sampler 的請求前完成一些操作
差別在於 PreProcessor 是為單一 Sampler 請求提前執行的操作

  • BeanShell PreProcessor

    • 新增 BeanShell PreProcessor

      在 Sampler 請求中添加 BeanShell PreProcessor:
      對左側預設的 Sampler(HTTP Request) 按右鍵 接著依序選擇
      Add > Pre Processors > BeanShell PreProcessor

    • 編輯 BeanShell PreProcessor

      Name:BeanShell PreProcessor 的名稱
      Reset Interpreter:在每次執行前重置內容並清除內存 (預設為 False)
      Parameters:設定參數,透過空格來設定多參數,並以 bsh.args[num] 使用
      File Name:執行外部 BeanShell 腳本的路徑位置

      BeanShell 是一種輕量級腳本,語法與 Java 相似

  • JSR223 PreProcessor

    • 新增 JSR223 PreProcessor

      在 Sampler 請求中添加 JSR223 PreProcessor
      對左側預設的 Sampler(HTTP Request) 按右鍵 接著依序選擇
      Add > Pre Processors > JSR223 PreProcessor

    • 編輯 JSR223 PreProcessor

      Name:JSR223 PreProcessor 的名稱
      Language:撰寫 PreProcessor 腳本的程式語言
      (beanshell, bsh, ecmascript, groovy, java, javascript, jexl, jexl2)
      Parameters:設定參數,透過空格來設定多參數,並以 bsh.args[num] 使用
      File Name:執行外部 BeanShell 腳本的路徑位置

      小弟這邊用的是 JavaScript 的語法,雖然範例沒有寫 function

除此之外,JMeter 還有提供很多種的 PreProcessor

  • HTML Link Parser
  • HTTP URL Re-writing Modifier
  • JDBC PreProcessor
  • RegEx User Parameters
  • Sample Timeout
  • User Parameters

但是相較之下沒有前兩個所介紹的 PreProcessor 流行
換句話說 透過前兩種 PreProcessor
就可以解決絕大部分甚至是所有的問題
因次這邊小弟就不再贅述

Toggle (Enable/Disable)

Toggle 的功能主要是用來 啟用或是禁用 Thread Group/Sampler
就跟寫 script 將 function 註解的概念一樣
使用方式有兩種

  • 第一種
    如果狀態為 Enable 可以選擇 Disable 或是 Toggle 來禁用
    如果狀態為 Disable 可以選擇 Enable 或是 Toggle 來啟用

    對左側的 Thread Group/Sampler(HTTP Request) 按右鍵
    選擇 Enable/Disable 或是 Toggle

  • 第二種
    如果想要更快速的話 也可以透過快捷鍵達到同樣的效果
    對左側的 Thread Group/Sampler(HTTP Request) 按左鍵
    直接使用快捷鍵 command+t


結尾

因為小弟也是新手使用的分享文
所以介紹的內容可能有遺漏或是錯誤,還請各位大哥大姐提點。
小弟將繼續往下週邁進。 ─=≡Σ((( つ•̀ω•́)つ


參考文獻

相關文章

相關影片


1 則留言

0
screenleon
iT邦新手 3 級 ‧ 2020-09-15 17:22:26

你有沒有覺得Jmeter的字有點小
看得有點累

Ron Hsieh iT邦新手 5 級 ‧ 2020-09-18 12:53:02 檢舉

會嗎 我覺得還好耶~
/images/emoticon/emoticon01.gif

我要留言

立即登入留言