使用 jmeter 进行用户模拟以进行压力和可扩展性测试
User simulation with jmeter for stress and scalability testing
您好,我正在尝试对 Web 应用程序进行压力和可伸缩性测试。问题之一是不清楚该网站可以处理多少用户。所以首先我要用不同的用户数量进行压力测试。考虑下图:
在第一张图片中,我从 100 个用户开始逐渐增加负载。所以我有要求例如:
- 响应时间不应为 7 秒
- 吞吐量不应低于每秒 35 个请求
- 错误百分比不应超过总请求的 10%
因此,如果这 100 个用户满足要求,我将继续对 150 个用户进行测试,并继续进行,直到它至少满足 3 个要求中的 2 个要求。我将对那个用户执行可扩展性测试。这种做法对吗?请大家指教,如果不对应该如何模拟用户?
这种方法或多或少是正确的。但是,您可以通过一次测试来节省查找系统崩溃点的时间和精力,只需从 1 个用户开始,逐渐增加负载直到最大。
JMeter 对单个线程组的理论限制见 2,147,483,647
, your actual limit will be less as most probably your hardware resources are limited, check out What’s the Max Number of Users You Can Test on JMeter? 文章以获取更多详细信息。
无论如何,如果你在线程组中放置相当多的线程并配置负载逐渐增加你可以运行你的测试并注意以下图表:
- Active Threads Over Time - 显示活跃用户数
- Response Times Over Time - 显示系统响应时间
- Transactions Per Second - 显示吞吐量(每秒请求数)
在测试的第一阶段,响应时间将相同,并且吞吐量会随着负载的增加而增加。在特定的测试点,响应时间将开始增加并且吞吐量将下降 - 这将是您系统的极限(所谓的 "bottleneck")
您好,我正在尝试对 Web 应用程序进行压力和可伸缩性测试。问题之一是不清楚该网站可以处理多少用户。所以首先我要用不同的用户数量进行压力测试。考虑下图:
在第一张图片中,我从 100 个用户开始逐渐增加负载。所以我有要求例如:
- 响应时间不应为 7 秒
- 吞吐量不应低于每秒 35 个请求
- 错误百分比不应超过总请求的 10%
因此,如果这 100 个用户满足要求,我将继续对 150 个用户进行测试,并继续进行,直到它至少满足 3 个要求中的 2 个要求。我将对那个用户执行可扩展性测试。这种做法对吗?请大家指教,如果不对应该如何模拟用户?
这种方法或多或少是正确的。但是,您可以通过一次测试来节省查找系统崩溃点的时间和精力,只需从 1 个用户开始,逐渐增加负载直到最大。
JMeter 对单个线程组的理论限制见 2,147,483,647
, your actual limit will be less as most probably your hardware resources are limited, check out What’s the Max Number of Users You Can Test on JMeter? 文章以获取更多详细信息。
无论如何,如果你在线程组中放置相当多的线程并配置负载逐渐增加你可以运行你的测试并注意以下图表:
- Active Threads Over Time - 显示活跃用户数
- Response Times Over Time - 显示系统响应时间
- Transactions Per Second - 显示吞吐量(每秒请求数)
在测试的第一阶段,响应时间将相同,并且吞吐量会随着负载的增加而增加。在特定的测试点,响应时间将开始增加并且吞吐量将下降 - 这将是您系统的极限(所谓的 "bottleneck")