Jmeter系列(5)线程数到底能设置多大

疑惑

  • 一台设备的线程数到底可以设置多大?

线程数设置

经过一番搜索找到了这样的答案

  • Linux下,2g的 java内存,1m 的栈空间,最大启动线程数=2000
  • 线程数建议不超过1000
  • jmeter 能启动多少线程,由你的堆内存和栈内存决定

在找线程数最大值的时候,我也在想为什么要设置最大值呢?随心所欲些不好么?

然后在搜索的过程中,会发现很多问题是,jmeter运行过程中卡死,内存溢出等问题,这类问题基本都是运行jmeter机器的内存,占用较高,超过了jmeter设置的内存上限,导致内存溢出。

最后在官网中找到如下的答案

在这里需要了解三个关键字Xms、Xmx,MaxMetaspaceSize

-Xms1g表示JVM启动时分配的最大堆内存为1GB。当JVM启动时,它会尝试分配最小可用内存,这里设置的是这个最小值。

-Xmx1g表示JVM最大可用堆内存为1GB。当JVM启动后,它将尝试使用最大可用内存,这里设置的是这个最大值。

-XX:MaxMetaspaceSize=256m表示JVM的最大元空间内存为256MB。元空间是Java 8及以后版本中用于存储类的元数据(如类的结构、方法和字段的信息等)的内存区域。通过设置这个参数,可以限制元空间的最大大小。

如果说一个线程数占1M的话,可以根据这个堆内存大小进行计算,这里可以设置1024个线程数。

在哪里设置

找到jmeter/bin目录下

window 在jmeter.bat文件下设置

我以为mac的话,会在jmeter.sh文件内设置,结果找不到关键字...

官网推荐,创建setenv.sh文件。

注意⚠️:这里的大小也并非随意设置,推荐设置内存50%以下。eg:16G内存,推荐设置不超过8G。

现在基本可以确定了,线程数设置多大合适了。

疑惑

  • -XX:MaxMetaspaceSize 值大小与内存设置的大小有何关系
  • 一个线程数的占用内存是否可以设置?没有找到对应内容。
相关推荐
卓码软件测评10 小时前
第三方软件测评机构:【Gatling与JMeter的架构对比:异步与非阻塞I/O模型如何实现更高并发】
测试工具·jmeter·架构·测试用例·负载均衡·压力测试
小小测试开发10 小时前
JMeter XPath2 Extractor用法全解析:精准提取XML/HTML响应数据
xml·jmeter·html
安然无虞21 小时前
JMeter性能测试工具·下
开发语言·测试工具·jmeter
程序员三藏1 天前
Jmeter自动化测试
自动化测试·软件测试·python·测试工具·jmeter·测试用例·接口测试
小小测试开发1 天前
JSR223后置处理程序用法详解:JMeter复杂响应处理的终极方案
jmeter
小小测试开发2 天前
JMeter XPath提取器用法详解:XML/HTML响应数据提取神器
xml·jmeter·html
weixin_440730504 天前
jmeter请求头和参数总结
jmeter
2501_924064116 天前
2025数据库性能测试工具:Utest、JMeter、HammerDB 等主流方案推荐
数据库·测试工具·jmeter·数据库性能测试·数据库负载测试·数据库压测工具·jmeter 压力测试
小小测试开发6 天前
JMeter JSR223预处理程序全攻略:用Groovy解锁复杂场景自动化
运维·jmeter·自动化
卖个几把萌6 天前
【08】JMeter从文本中读取多个参数
测试工具·jmeter