更改Jmeter线程池大小

时间:2018-07-23 08:24:47

标签: java jmeter jmeter-4.0

在响应数据中,我收到一条错误消息。 我想将池大小从10增加到100 !!

{
    "errorCode": "INTERNAL_SERVER_ERROR",
    "message": "Task java.util.concurrent.FutureTask@428373db rejected from java.util.concurrent.ThreadPoolExecutor@7114477d[Running, pool size = 10, active threads = 10, queued tasks = 0, completed tasks = 30014]"
}

1 个答案:

答案 0 :(得分:1)

让我们从the docs看:

  

核心和最大池大小
  ThreadPoolExecutor将根据getPoolSize()(请参见corePoolSize)和getCorePoolSize()(请参见{{1 }})。当在方法execute(maximumPoolSize中提交新任务且运行的线程少于getMaximumPoolSize()时,即使其他工作线程处于空闲状态,也会创建一个新线程来处理请求。如果正在运行的线程多于java.lang.Runnable但少于corePoolSize,则仅当队列已满时才创建新线程。通过将corePoolSizemaximumPoolSize设置为相同,可以创建固定大小的线程池。 通过将corePoolSize设置为本质上不受限制的值,例如maximumPoolSize,您可以使池容纳任意数量的并发任务。最典型的是,核心和最大池大小仅在构造时设置,但也可以使用maximumPoolSizeInteger.MAX_VALUE动态更改。

因此,请使用setCorePoolSize(int)值作为参数的setMaximumPoolSize方法。

这里是some samples to guide you around