使用JMeter进行测试:如何每秒运行N个请求

我需要测试我们的系统是否每秒可以执行N个请求。从技术上讲,它是对一个API的2个请求,对另一个API的2个请求,对第三个API的6个请求。但重要的是它们应该同时发生-

因此每秒10个请求。因此,在JMeter中,我创建了三个线程组,第一个定义线程数为1,启动时间为0。第二个线程组是相同的,第三个线程组定义了线程数为6,启动时间为0。但是那并不能真正保证它能

每秒 运行 一次。 我该如何模拟呢?以及如何查看结果-它是否能够执行?

谢谢!

回答:

像任何网络测试一样,总会有问题,尤其是延迟问题-即使您每秒 可以

发送精确的6个字符,它们也将按顺序发送(这就是数据包的发送方式),并且可能不会全部被发送出去。第二,加上处理时间。

通常,当性能指标特定于每秒x时,将在一段时间内对其进行测量。您的API甚至可能有一个缓冲区-

因此,从技术上讲,您可以每秒发送6个,但每秒处理5个,缓冲区为20,这意味着20秒的流量就可以了,因为您已经发送了120次,将需要120/5 =

24秒来处理。但除此之外,缓冲区溢出。因此,仅精确发送6秒钟进行测试是不够的。

在线程组中,您正确地将线程(用户)数设置为6。然后将其永久循环运行(将其选中或放入while循环中)并添加诸如聚合报告和结果树之类的侦听器。您可以用来检查是否发送和响应了正确内容的结果(假设您验证了响应),并且在汇总报告中,您可以看到每小时每个活动发生了多少(显然乘以3600秒钟,但是由于这种不准确性,最好将其运行一段较长的时间)。

现在可以运行初始负载测试,作为更准确的测试,您可以让它运行更长的时间(浸泡测试),以查看是否还存在其他问题-缓冲区溢出,内存泄漏或其他意外事件。

以上是 使用JMeter进行测试:如何每秒运行N个请求 的全部内容, 来源链接: utcz.com/qa/427877.html

回到顶部