我在测试计划中有一个HTTP请求。我正在发送一个正文非常大(10 MB)的POST请求。我正在使用${__FileToString(data.json)}从一个文件中阅读主体数据,并使用300个线程对其进行测试运行它会出现内存不足错误每个线程都在RAM中存储相同的(10 MB)文件,这导致了该错误。是否可以让所有线程访问同一个副本,而不是创建副本?
${__FileToString(data.json)}
ltqd579y1#
1.自JMeter 5.5起,默认的最大Java Heap大小为1 GB1.您至少需要10 * 300 == 3 GB,因此您需要相应地增加Java堆空间。有关更多详细信息,请参阅9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure文章。1.到现在为止还没有办法在线程之间重用指向大对象的指针,你可以考虑用HTTP Raw Request采样器代替,它有nice feature of direct streaming of the request body to the backend而不用先把它加载到内存
1条答案
按热度按时间ltqd579y1#
1.自JMeter 5.5起,默认的最大Java Heap大小为1 GB
1.您至少需要10 * 300 == 3 GB,因此您需要相应地增加Java堆空间。有关更多详细信息,请参阅9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure文章。
1.到现在为止还没有办法在线程之间重用指向大对象的指针,你可以考虑用HTTP Raw Request采样器代替,它有nice feature of direct streaming of the request body to the backend而不用先把它加载到内存