JMeter做效能測試(1)-效能壓測指令碼的生成以及完善和增強

越长大越孤单哦發表於2024-03-16

1.上網的整個過程?

假設我們點選了某網頁上的一個連結,指向清華大學院系設定,其URL是:http://www.tsinghua.edu.cn/chn/yxsz/index.html。我們來分析一下整個過程:
  1.瀏覽器分析連結指向頁面的URL
  2.瀏覽器向DNS請求解析www.tsinghua.edu.cn的IP地址
  3.DNS系統解析出清華大學伺服器的地址是166.111.4.100
  4.瀏覽器與伺服器建立TCP連線
  5.瀏覽器發出取檔案命令:GET /chn/yxsz/index.html
  6.伺服器www.tsinghua.edu.cn給出響應,把檔案index.html返回給瀏覽器
  7.釋放TCP連線
  8.瀏覽器解析並顯示“清華大學院系設定”檔案index.html中的內容

2.使用JMeter進行效能測試時,為什麼首先要設定代理伺服器?

  1. 攔截並記錄操作:HTTP代理伺服器允許JMeter在使用常規瀏覽器瀏覽Web應用程式時攔截並記錄操作。JMeter將建立測試樣本物件,並將其直接儲存到測試計劃中。這樣,在操作錄製的同時,使用者還可以檢視錄製的測試計劃。
  2. 監聽瀏覽器操作:設定代理伺服器可以監聽瀏覽器在相應埠的操作,有助於深入理解系統業務。
  3. 分析請求:使用代理伺服器可以記錄請求,方便使用者進一步分析請求,從而更好地進行效能測試。

總的來說,設定代理伺服器可以幫助使用者更好地瞭解系統效能,分析潛在問題,並最佳化系統效能。但請注意,設定代理伺服器也會增加一定的系統開銷和複雜性,因此需要根據實際情況進行權衡和選擇。

3.JMeter做效能測試時設定代理伺服器和不設定代理伺服器區別是什麼?

  1. 網路連線的靈活性:當設定代理伺服器時,JMeter的效能測試請求會透過代理伺服器進行轉發。這意味著,如果測試環境需要透過代理伺服器才能訪問目標系統(如公司網路或特定網路環境),設定代理伺服器是必要的。這樣,JMeter可以適應特定的網路環境,確保測試的順利進行。而不設定代理伺服器時,JMeter將直接與目標系統進行通訊,這在某些網路環境下可能會受到限制或阻止。
  2. 測試需求的滿足:在某些效能測試場景中,可能需要透過代理伺服器來模擬或記錄測試過程中的網路流量。例如,使用代理伺服器可以錄製瀏覽器與伺服器之間的互動,以便後續的分析和回放。這種設定對於重現使用者行為、分析效能瓶頸或進行壓力測試等場景非常有用。如果不設定代理伺服器,這些特定的測試需求可能無法滿足。
  3. 安全性考慮:代理伺服器有時也用於增強網路安全,例如過濾惡意流量或加密通訊。透過設定代理伺服器,可以確保JMeter與目標系統之間的通訊更加安全。而不設定代理伺服器時,測試資料可能會直接暴露在網路中,增加了潛在的安全風險。

綜上所述,設定代理伺服器可以提高JMeter效能測試的靈活性、滿足特定的測試需求並增強安全性。然而,是否需要設定代理伺服器應根據實際情況來判斷,確保配置正確並適應測試環境的需求。

4.代理伺服器:

代理伺服器是一種充當客戶端和伺服器之間中介的伺服器。當計算機嘗試連線到網際網路上的資源時,代理伺服器會代表計算機傳送請求,並返回響應。

5.使用JMeter進行能測試測試的實際操作

(1)設定客戶端的代理

(2)建 測試計劃--HTTP代理伺服器--執行緒組-- HTTP請求--檢視結果樹--HTTP Cookie管理器

為什麼要新增HTTP代理伺服器???

Jmeter新增HTTP代理伺服器的作用在於透過監聽瀏覽器在相應埠的操作,允許JMeter攔截並記錄使用者的操作,將建立的測試樣例物件儲存到測試計劃中。

這樣,使用者可以在操作錄製的同時檢視錄製的測試計劃。

此外,使用HTTP代理伺服器還可以設定瀏覽器對所有HTTP和HTTPS請求使用代理,以便在錄製指令碼時使用無痕瀏覽模式,確保瀏覽器沒有儲存的Cookie資訊,並防止儲存某些更改。

為什麼要新增執行緒組??

Jmeter新增執行緒組的原因在於,它可以模擬多使用者併發訪問和操作,以對軟體做壓力測試。透過模擬多使用者併發訪問,執行緒組可以測試軟體在高併發訪問下的效能表現和穩定性。透過設定執行緒組的引數,如執行緒數、迴圈次數等,可以模擬不同數量的使用者併發訪問,從而測試軟體的效能瓶頸和存在的問題。因此,新增執行緒組是進行壓力測試和效能測試的重要步驟之一。

為什麼要新增 HTTP請求?

  1. 模擬使用者行為:JMeter透過傳送HTTP請求來模擬使用者在瀏覽器中的操作,如訪問網頁、提交表單等。這樣可以幫助測試人員瞭解在真實場景下,系統如何處理大量的使用者請求,並評估其效能表現。
  2. 測試系統效能:透過模擬多個使用者同時傳送HTTP請求,JMeter可以對系統的處理能力、響應時間、吞吐量等關鍵指標進行測試。這有助於發現系統在高併發情況下的瓶頸和問題,從而進行最佳化和改進。
  3. 驗證系統穩定性:在壓力測試過程中,透過不斷增加HTTP請求的數量和頻率,可以測試系統的穩定性和可靠性。這有助於發現系統在極端情況下可能出現的問題,如崩潰、記憶體洩漏等。
  4. 評估系統安全性:JMeter還可以模擬各種異常請求,如大量併發請求、惡意請求等,以測試系統的安全性。這有助於發現系統可能存在的安全漏洞和風險,並採取相應的防護措施。

總之,新增HTTP請求是為了在JMeter的壓力測試過程中模擬真實場景下的使用者行為,測試系統的效能、穩定性和安全性。這有助於發現系統存在的問題並進行改進,從而提高系統的整體質量和使用者體驗。

遇到的問題,設定代理伺服器後,要測試的網站打不開了?????

  1. 代理設定不正確:請確保在JMeter中正確配置了代理伺服器和埠號。同時,確保JMeter的IP地址和埠號是正確的,並且沒有被防火牆或其他網路設定阻止。
  2. 瀏覽器未設定使用JMeter代理:您需要確保瀏覽器已設定為使用JMeter作為代理伺服器。在瀏覽器的設定或網路設定中,將代理伺服器的IP地址和埠號設定為與JMeter中設定的相同。
  3. 證書問題:HTTPS協議的網頁需要匯入安全證書。在JMeter設定代理伺服器後,會在JMeter的bin目錄下生成一個安全證書檔案。您需要將這個證書匯入到瀏覽器中,以便瀏覽器能夠信任JMeter代理伺服器。具體操作方法可以參考相關文件或教程。
  4. JMeter未啟動或配置錯誤:確保JMeter已正確啟動,並且在錄製指令碼的設定中沒有其他錯誤。您可以檢查JMeter的日誌檔案,檢視是否有任何錯誤或警告資訊。
  5. 網路問題:有時網路連線可能會出現問題,導致無法連線到JMeter的代理伺服器。您可以嘗試重啟您的網路裝置,或者檢查您的網路連線是否正常。

進行錄製

錄製完畢後,新增檢視結果樹

把 會發生變化的值,透過正規表示式提取出來,設定為變數。

把點選發帖和發帖透過事務控制器合併為一個事務。

僅一次控制器:一般用於控制登入的

每個執行緒組的總請求為 100*3=300

併發數設定:參考運營,或者評估測算

相關文章