我需要什么硬件配置才能在jmeter上运行1000个用户的工作负载来测试我的api

我需要什么硬件配置才能在jmeter上运行1000个用户的工作负载来测试我的api,jmeter,Jmeter,我有一个api,当我向它发送学生id时,它会返回学生数据。现在我想测试我的api,每秒钟有1000个用户点击。 我的笔记本电脑配置-Core i5,ram 8 gB 我的jmeter完成了测试,但线程显示错误 summary + 2642 in 00:00:30 = 88.0/s Avg: 938 Min: 59 Max: 130375 Err: 3 (0.11%) Active: 993 Started: 1000 Finished: 7 Generate Summa

我有一个api,当我向它发送学生id时,它会返回学生数据。现在我想测试我的api,每秒钟有1000个用户点击。 我的笔记本电脑配置-Core i5,ram 8 gB 我的jmeter完成了测试,但线程显示错误

summary +   2642 in 00:00:30 =   88.0/s Avg:   938 Min:    59 Max: 130375 Err:     3 (0.11%) Active: 993 Started: 1000 Finished: 7
Generate Summary Results =  14824 in 00:02:54 =   85.3/s Avg:  1699 Min:    59 Max: 130375 Err:    54 (0.36%)
summary =  14824 in 00:02:54 =   85.3/s Avg:  1699 Min:    59 Max: 130375 Err:    54 (0.36%)
Generate Summary Results +   2636 in 00:00:30 =   87.9/s Avg:   613 Min:    59 Max: 15489 Err:     2 (0.08%) Active: 977 Started: 1000 Finished: 23
Generate Summary Results =  17460 in 00:03:24 =   85.7/s Avg:  1535 Min:        59 Max: 130375 Err:    56 (0.32%)
summary +   2636 in 00:00:30 =   87.9/s Avg:   614 Min:    59 Max: 15489     Err:     2 (0.08%) Active: 977 Started: 1000 Finished: 23
summary =  17460 in 00:03:24 =   85.7/s Avg:  1535 Min:    59 Max: 130375         Err:    56 (0.32%)
:
:
:
:
summary =  17460 in 00:010:24 =   123.7/s Avg:  5535 Min:    59 Max: 130375         Err:    723 (70.3%)
到年底,大约有723个线程失败


如果我使用100个用户运行测试,我的api将返回响应测试成功,但当我使用1000个用户运行测试时,大多数线程都会失败或在完成后保持活动状态

JMeter默认配置不适合高负载,您需要对其进行调优,以便能够启动1000个线程

  • 确保使用和64位版本的或
  • 至约6千兆字节
  • 在测试计划中禁用(或删除)(如果有)
  • 确保在测试期间监视JMeter运行的机器上的CPU和RAM使用情况,您可以使用它。JMeter必须有足够的空间来运行,如果它缺少RAM或CPU,它将无法足够快地发送请求。如果您看到JMIT机器过载,您将不得不考虑

  • Harwdare需求将因您的测试性质而大不相同,即前置/后置处理器的数量、断言、请求和响应大小、应用程序响应时间等。因此没有像X hardware=Y虚拟用户这样的映射,您需要为每个不同的测试计划进行评估。记住逐渐增加负荷,并关注健康指标


  • 让我们用简单的数学来计算它。HTTP请求的最大线程大小约为1MB(除了有效负载)

    1MB*1000=1000MB=1GB至少需要1000个并发用户的堆大小

    500 MB-对于其他任务,如侦听器,聚合结果

    运行此测试所需的总容量至少为1500 MB。在/apache jmeter/bin/jmeter文件中配置jmeter使用如下内存

    多线程也取决于CPU能力,所以尽量使用多核CPU

    什么是CPU上的线程?
    在计算机体系结构中,多线程是中央处理器(CPU)(或多核处理器中的单核)并发执行多个进程或线程的能力,操作系统支持。

    我在哪里配置heap size?您能解释一下heap size中传递的两个参数吗?我使用的是阿里云的虚拟机。我的服务器配置是-RAM-16Gb内核-8HDD-50GB我使用的服务器仅用于测试上述负载,是否足以创建这些多个请求注意-多线程是允许的我使用阿里云的虚拟机。我的服务器配置是-RAM-16Gb Cores-8HDD-50GB我使用服务器只是为了测试上面提到的负载,是否足以创建那些请求注意-多线程是可以启用的,您可以用这些配置模拟相当好的负载。