2015-04-27 53 views
1

我有一个web服务要求,它应该能够处理最少1000请求/分钟。JMeter - 吞吐量控制器

我可以创建一个JMeter测试&一次又一次地在一个循环中调用这个webservice来查看有多少请求 - 对于一个用户,它能够在一分钟内完成100个呼叫,我可以将用户增加到10- 15 &看看我能否处理最少1000个请求/分钟或不。

我的问题是 - 是否有任何控制器/方法来测试这种类型的要求 - 1000请求/分钟(用户数可以是任何东西)? (我不想通过使用试用&错误的方法来增加用户)

Throughput controller - 正如apache所说的那样,它的命名很糟糕。这不是为了这个。可以使用Constant Throughput Timer来达到这个要求吗?

+0

@负选民,请留下评论,如果你认为这个问题没有足够的信息。我会很乐意提供。 – KitKarson

+0

这听起来像是一个合理的问题给我。我能想到downvote的唯一原因是你问什么恒定吞吐量定时器的功能是什么,这在用户手册中有详细的记录,并在之前讨论过。无论如何,upvoting让你回到零。 – RaGe

回答

1

对您的问题的简短回答是,是,恒定的吞吐量计时器完全满足您的要求。从大量用户开始,CTT将插入暂停以确保满足目标吞吐量。

CTT当然不能保证达到目标吞吐量,这也取决于应用程序的可扩展性,它真正做的是防止吞吐量超过以上的设置值。如果您愿意,您也可以在运行时更改设定的吞吐量值。

长的答案是,也许你应该考虑一个不断的渐进型测试。你问的问题是我的应用程序可以支持1000请求/分钟。暗含的问题是,如果不是,它真的支持多少?如果可行,在它失败之前它能走多远?

运行IMO的更好测试是使用户数量(以及吞吐量)缓慢但随时间不断增加,从0一直增加到150%甚至200%所需负载。

enter image description here

如果你正在监视错误率和响应时间,以及,你会看到在响应时间急剧增加,或者在错误率突然增加,或趋于稳定的吞吐量,即使用户的不断增加 - 这是您知道应用程序已达到突破或稳定点的位置。

+0

感谢您的回答。通常你运行性能测试多久? 1小时,2小时......或..直到你看到一个突破点?我在Jmeter有相当的知识 - 但我没有性能测试经验/概念。你建议任何书/网站?再次感谢。 – KitKarson

+0

持续时间实际上取决于您要测量的内容。响应时间测量类型测试通常为1小时。但寻找内存泄漏可能需要几个小时。这有点旧,但这些概念仍然适用:https://msdn.microsoft.com/en-us/library/bb924375.aspx – RaGe

+0

感谢您的回答。 – KitKarson