簡體   English   中英

JMeter的“循環計數”行為

[英]JMeter's 'loop count' behavior

這與JMeter的循環計數行為有關。

這是我第一次使用JMeter對新的Web應用程序進行負載測試。
首先,我已經配置JMeter來訪問一個簡單的xhtml頁面(home.xhtml)。

Load configuration in JMeter: 
Number of threads (users): 100
Ramp-Up period (in seconds): 1
Loop count: 100

通過以上配置,我試圖模擬100 users訪問首頁URL的情況,每個100 users訪問100次。 我期望這可以模擬一個測試條件,其中100個不同的用戶打開100個瀏覽器窗口,並且每個用戶使用with the same browser window訪問URL 100次。 因此,理想情況下,應該只創建100個會話。 但是在測試結束時的堆轉儲中,我注意到有10,000(100 x 100)個會話對象。

會話實例的類: org.apache.catalina.session.StandardSession

此行為導致負載較高(例如,1000個用戶的循環計數為1000)時,Tomcat JVM上的堆內存不足錯誤。 在我的測試期間,堆的舊生成器(使用JDK附帶的VisualGC工具進行監視)繼續增長,最終導致堆內存不足錯誤。

使用的軟件:

Tomcat 7.0.47
JSF 2.2 (Mojarra 2.1.6)
PrimeFaces 4.0
JMeter 2.11 (To create the load)
VisualVM (To monitor memory consumption & take heap dump)
Eclipse Memory Analysis Tool (MAT) 1.3 – Used to analyse the heap.

我從堆分析得出的推論:當我在堆中看到10,000個會話實例時,我推斷JMeter正在使用上述配置模擬10,000個用戶,而不是模擬每個100個具有100個URL訪問的用戶。

問題 :JMeter的this循環計數行為是預期的還是我缺少什么?

如果您未添加HTTP Cookie Manager ,則每個請求將被服務器視為不同的用戶。

要模擬100個VU,只需在測試計划中添加一個Cookie管理器即可。

每個“ VU”將循環100次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM