我对执行 JMeter测试场景的持续时间感到担忧。
事实上,如果我们在1小时内对1位用户执行手动测试,我们会发现3位用户的持续时间相同或更多。 但是,使用 JMeter 测试时,1位用户的持续时间将乘以用户数。
在使用此工具编写脚本时,我注意到JMeter始终等待请求的响应传递给另一个请求。这就像我们有1个用户在做多个用户的工作。
是否有任何机构对此问题有解释?
我们是否可以将JMeter配置为像// @
答案 0 :(得分:0)
在理想情况下,如果您使用1位用户测试您的网站,则所有操作集都会在1小时内完成。如果您再添加100个用户 - 仍然是一小时,1000个用户 - 1小时。
在现实世界中,服务器响应时间随着并发线程数的增加而增加。但它不是像
那样的东西但是
性能测试的整个想法是确定服务器负载的上限,并确定在负载下发生的瓶颈和问题,以便您可以声明:使用此硬件和此配置,应用程序能够服务500并发用户没有严重的延误。如果1000个用户的响应时间将超过15秒。
关于线程,JMeter线程启动,逐个执行样本以定义循环和退出的数量。它适用于每个独立的线程。基本吞吐量控制可以通过加速和循环计数完成(参见详细信息的Thread Group文档)
可以使用以下测试元素完成更高级的负载方案定义:
答案 1 :(得分:0)
取决于您如何模拟用户..
每个线程都会等待响应,但是用户由不同的线程表示,并且线程不会等待彼此完成样本,它们是独立的。
如果您使用线程组中的线程来表示用户(这是预期用途),则线程将同时启动并独立运行,因此您应该看到3个用户在一小时内完成,就像手动测试一样。如果没有发生这种情况,那么您应该在单线程和多线程运行期间检查运行jmeter的客户端上使用的资源。或者瓶颈可能在传输中(即带宽)。到目前为止你所确定的只是瓶颈在服务器之前,你需要确定它在哪里。
您也可以为每个模拟用户创建一个线程组。如果是这种情况,您可以将组设置为连续或并发运行。此设置位于树顶部的“测试计划”元素上。你想要并发,所以不要连续地运行线程组'。
因此,它归结为您如何模拟用户。