【问题标题】:100 simultaneous requests on a servlet一个 servlet 上的 100 个并发请求
【发布时间】:2011-09-04 13:27:38
【问题描述】:

我想测试我使用同时请求(100 或 1000 或更多)创建的 sevlet。我正在搜索它并找到了 JMeter,但我不太确定它是否符合我的要求。

你知道我怎么能做这样的事吗?你知道任何可以帮助我的教程或指南吗? (我没有编程经验)

附言 我在 Jetty 上运行我的 servlet,因为我正在使用 jetty 延续。这也是我要测试的。

【问题讨论】:

    标签: java servlets jetty jmeter requests-per-second


    【解决方案1】:

    JMeter 相当容易使用。还可以考虑安装 JMeter plugins 以启用更丰富的图表集和采样方法。有关一些说明,请参阅我的 blog 帖子,还可以查看 JMeter 的 sample 性能测试计划。

    【讨论】:

      【解决方案2】:

      JMeter 是一个不错的选择,它可以完成这项工作。请参阅用户手册,其中详细说明了如何设置测试。

      顺便说一句:在同一台机器上运行测试工具和应用程序并不是一个严格的性能/吞吐量测试场景,它只能提供关于您的 servlet 在现实世界中的行为方式的指示。

      【讨论】:

      • 我在 Apache JMeter 网站上看不到任何关于使用 JMeter 处理 Jetty 延续(长轮询)样式调用的信息
      • @justinhj:我也没有,而且我从未尝试过……我的答案针对的是“经典”测试用例。也许OP通过使用JMeter找到了解决方案?
      【解决方案3】:

      您可以使用任何 HTTP 性能测试器,例如 apache bench

      ab -c 100 -n 100000 http://localhost/
      # Hit the http://localhost/ with 100000 requests, 100 at a time
      

      这将输出如下内容:

      Requests per second:    4497.18 [#/sec] (mean)
      

      【讨论】:

        【解决方案4】:

        JMeter 是一个不错的选择 - 易于使用且足以满足大多数情况。 如果你想做简单的测试就足够了。但是,如果您有兴趣编写更复杂的测试场景,我推荐HP LoadRunner(但它是商业软件)。

        【讨论】:

        • 感谢您的回答。我想我会选择 JMeter,但我也可能会看看 apache bench。 phigag 的例子似乎很简单。
        • 考虑accepting 一个您认为最有用的答案。
        【解决方案5】:

        您可能需要重新考虑测试的准确性。除非您的连接代理由同步时钟定义,否则同时事件连接的几率非常低。人类是非常混乱的有机计算单元,与指示服务请求之间间隔的不精确时钟相关联。实际上,您必须先获得非常多的混乱请求,然后才能在发出请求的同一段代码和同一时间标记内获得一些用户的自然同时事件的某些行为。现在,您很有可能在很短的窗口内有大量的同时发生,例如每秒 200 次,但在现实世界条件下,真正的同时行为非常罕见。

        深思……

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-07-15
          • 2017-02-04
          • 2015-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-08
          相关资源
          最近更新 更多