使用Jmeter模擬瀏覽器

Jmeter是常用的模擬多用戶同時訪問web頁面URL的壓力測試工具。然後,爲了模擬的準確,Jmeter需要正確的配置,使它像瀏覽器一樣工作。在這篇文章中,我怎樣配置Jmeter,可以準確的模擬瀏覽器實際的發送的請求。


在瞭解怎樣怎樣配置Jmeter之前,我們先來了解一下瀏覽器是如何工作的:

  • 當用戶在瀏覽器輸入一個web頁面URL,它會連接到服務器,開始下載頁面,並開始解析。
  • 通過解析,它會遇到類似JavaScript,CSS和圖片文件的url請求。
  • 瀏覽器然後創建更多的線程,每個JavaScript,CSS和圖片文件的url請求打開一個新的連接下載。大多數瀏覽器會限制與每個服務器的連接數在本文寫作時,Firefox限制6個連接),和下載線程的總數在本文寫作時,Firefox限制48個連接)。
  • 當所有的URL下載完,認爲該web頁面加載完成。

Jmeter的兩個配置可以模擬瀏覽器上面的行爲:

  • 從HTML文件獲取所有內含資源

此複選框在配置元素“HTTP請求取樣器”和“HTTP請求默認值”的底部。

選中該複選框,Jmeter下載頁面中包含的資源,如JavaScript,CSS和圖像,就像瀏覽器一樣。

如果需要看哪些資源下載了及他們的性能指標,添加“查看結果樹”。注意,在聚合報告中不包含這些內嵌資源的統計,

  • 使用併發池,size=N

選中複選框,併發池行爲如下:

從HTML文件獲取所有內含資源 使用併發池 行爲
選中複選框 複選框未選中複選框 web主頁面和嵌入的資源將在同一個線程中被下載。
例如,如果線程組模擬3個用戶,Jmeter創創建“線程組3-”,名字從“線程組1-1”到“線程組1-3”。
每個線程將在各自的線程內根據資源順序下載所有的內嵌資源。
如果頁面P包含資源A、B、C,Jmeter下載方式如下:
線程組1-1:P,A,B,C(一個接一個的下載)
線程組1-2:P,A,B,C(一個接一個的下載)
線程組1-3:P,A,B,C(一個接一個的下載)
選中複選框 選中複選框
池大小=X
像上面一樣,Jmeter創建一個名爲“線程組1-K”來模擬用戶線程。
此外對於這些線程中的每一個模擬的用戶,Jmeter創建單獨的線程池,大小爲X,命名爲pool-n-thread-m。
web主頁有用戶線程“線程組1-K”下載,而嵌入的資源由命名類似pool-n-thread-m的線程池中的線程下載。
因此,要模擬瀏覽器,選中“使用併發池”複選框,並指定合理的池大小(瀏覽器典型配置4-8)。
但是,設置併發池大小時,需要關注模擬用戶數量,因爲每個模擬的用戶創建一個單獨的線程池。如果很多用戶,創建過多的線程會對Jmeter端的貸款產生爭用,從而影響響應時間。如果要模擬大量併發用戶,可以使用多臺Jmeter測試機。


文章來源http://www.pathbreak.com/blog/simulating-browsers-using-jmeter,翻譯如有不當,敬請諒解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章