JMter 的JVM默認值: set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m

初始堆大小 Xms   Xms1g

最大堆大小 Xmx ,Xmx1g   這2個值建議相等,減少GC

元空間:MaxMetaspaceSize

32位JDK只支持 1g的 Xms  ,Xmx,安裝的32位 JDK 修改 jmeter.bat的 HEAP  Xms ,Xmx 大於1G 在啓動時必報錯。

64位JDK建議不超過32G 的 Xms  ,Xmx。具體可以嘗試修改測試,前提是本身的電腦內存64G,可以測試下 修改為32G

一般複雜 嘗試設置為 mx2g ,Xmx2g 

 高負載下 嘗試設置為 Xmx8g ,Xmx8g 

 

內存溢出:是指 容量不夠大裝滿後就 溢出了(容量過小),本身就容量過小,不存在消耗服務器內存的説法。

內存泄漏:是指 內存沒有回收清理佔用了空間,導致空間不足 (某種角度來説不管你多大的內存,都可能會被泄露沾滿,消耗服務器內存)。

 

Jmeter支持併發用户數户 建議最大不超過1000去壓測

個人的理解:併發用户數 可以模擬1000個人去搶票,但是搶票系統沒有限制你每個人只能買一張票

所以你係統要在1個小時內 賣完100萬張票,可以,1000個人去搶,每個人搶1000張

那系統需要每秒鐘處理多少筆訂單?

100萬/(60分鐘×60秒)=277.78筆訂單/秒  即TPS= 277.78筆/秒。

 

另外一種理解是:併發用户數 100萬個人去搶票,每人只搶1張,這種情況適合秒殺

100萬 需要在2分鐘內完成搶票支付操作 ,那每秒處理多少筆訂單?

100萬÷(2分鐘×60秒)=8333.33 筆/秒,秒殺的處理能力要求是 之前的30倍。

 

因此,TPS才是衡量系統處理能力的關鍵,併發用户數,決定了壓測環境的要求。

從本質上來説:1000人併發 與 100人併發在 模擬總的請求數上 沒有本質區別。但是對 壓測負載機來説 是有影響的,

併發用户數越多,消耗的線程數越多,jmeter的JVM 內存消耗越大。

xiezhifei