0

我正在尝试了解 JMeter 的基础知识。我有一个“plus1”Java servlet,它向请求参数添加一个并返回结果,所以它是一个快速测试 servlet,因此我可以理解负载测试。

这是我的测试计划:

Thread Group: 1 thread, ramp up 1 s, loop count 10000 
  HTTP Request to localhost
  Graph Results
  Summary Report

当我运行它时,摘要报告显示吞吐量数为 200/秒左右。

测试计划中没有控制器的关键问题是,JMeter 是在运行测试计划(发送单个请求)并在循环之前等待响应吗?

当我为请求引入一个计算量更大的页面时,吞吐量数字会像我预期的那样下降。

4

1 回答 1

4

简而言之,是的。

有一个论点是让采样器发出请求而不等待响应,但这是一个极端情况。在大多数情况下,您希望测试工具等待以查看发生了什么并验证事情。这也更现实,大多数用户会等待响应,实际上他们通常必须等待,然后再进行后续调用。

如果您想运行容量测试,那么我认为最好的方法是将负载分散到多个线程上并实际限制每个线程的吞吐量 - 您可以使用Constant Throughput Controller来做到这一点。例如。您可以有 500 个线程,每个线程以每分钟 60 个请求的速度运行,这将产生 500 个请求/秒的总负载。这样,您的测试负载是可预测且稳定的 - 它不会与服务器的响应速度相关联。笔记。对于多个线程,您将需要一个加速期,并且您可能会发现您必须将测试分布在多台机器上(如果您要使用谷歌搜索,则称为“分布式”测试)。

于 2012-06-25T19:55:01.420 回答