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