当线程减少时,为什么JMeter会产生不同的结果?

当线程减少时,为什么JMeter会产生不同的结果?,jmeter,jmeter-plugins,Jmeter,Jmeter Plugins,我有一个测试计划,我必须从CSV文件中选择100个用户。如果我将线程计数设为500,循环计数设为1,那么我可以看到490个线程失败,只有10个线程通过。但同时,如果我将线程数设为5,循环计数设为100,那么所有测试都通过了。总请求数为500的情况下,这些不是相同的吗 这是因为500个线程和5个线程吗?如果启动500个线程,默认情况下,文件只打开一次,每个线程将使用文件中的不同行。但是,行传递给线程的顺序取决于执行的顺序,在迭代之间可能会有所不同 在EOF上更改Jmeter CSV数据集配置属性R

我有一个测试计划,我必须从CSV文件中选择100个用户。如果我将线程计数设为500,循环计数设为1,那么我可以看到490个线程失败,只有10个线程通过。但同时,如果我将线程数设为5,循环计数设为100,那么所有测试都通过了。总请求数为500的情况下,这些不是相同的吗


这是因为500个线程和5个线程吗?

如果启动500个线程,默认情况下,文件只打开一次,每个线程将使用文件中的不同行。但是,行传递给线程的顺序取决于执行的顺序,在迭代之间可能会有所不同

在EOF上更改Jmeter CSV数据集配置属性Recycle-True ; 你的问题会解决的


希望这有帮助

由于应用了不同的加载模式,因此会得到不同的结果。JMeter的作用如下:

每个线程都会在启动期内启动虚拟用户线程 每个线程开始倒挂执行或根据 当线程没有更多的采样器执行或循环交互时,它将被关闭 因此,原因可能在于:

您的应用程序无法处理500个用户。检查其日志以获取错误详细信息。如果没有特定错误,则可能是硬件资源不足,请使用重新运行测试,以检查负载增加对硬件资源消耗的影响 您的应用程序底层组件不适合高负载。一些应用程序和数据库服务器具有连接限制、内存分配不足等,换句话说,配置适合于开发和调试。生产部署采用完全不同的配置,因此需要对其进行检查和修改 JMeter实例无法创建所需的加载。与第2点一样,JMeter默认配置有利于测试开发,但在运行负载测试时,您需要记住一些要点:

增加JMeter的JVM堆大小 在非GUI模式下运行测试 在测试运行期间禁用所有侦听器

有关更多信息,请参阅JMeter用户手册的章节


你们看过失败消息了吗?关于失败原因的信息是什么?您在10个线程上遇到了一些瓶颈。可能是JMeter内存,可能是端口,可能是服务器端。正如nazar_art所说,您需要查看错误此属性集在哪里?选择CSV数据集配置;给出变量名称的位置,在下面可以看到这些设置下拉列表ViewsHanks,Dmitri。只是想和你确认一下。。每个线程都被视为单个用户,对吗?我认为在我的例子中应该使用线程,而不是使用循环。而且堆大小更改为4096,在非GUI中运行,并且禁用了所有侦听器。