【问题标题】:Performance testing a deployed servlet application?性能测试已部署的 servlet 应用程序?
【发布时间】:2012-10-25 05:13:54
【问题描述】:

目前我有一个基于 servlet 的应用程序,它从存档数据库中检索数据并将其作为 XML 通过 HTTP 发送回客户端。

我想创建一个“X”测试客户端来测试我的数据库检索 servlet 的以下内容:

  • 最短 HTTP 响应时间
  • 最大 HTTP 响应时间
  • 从服务器收到错误

该应用程序几乎处于开发的部署阶段,但是我需要一个测试客户端,在其部署后我可以使用它来检查应用程序是否正常运行,或者我是否需要在其环境中进行维护(例如重新索引数据库)说是 6 个月后。

我希望它为应用程序生成数千个 HTTP 请求(垃圾邮件)。

到目前为止,我可以想到两种方法:

  1. 发送多个 HTTP 请求的多线程 Java 控制台应用程序 在我的计算机上同时通过多个线程。
  2. 一个单独的 java servlet,通过多个线程将 HTTPS 请求同时从一台服务器发送到另一台服务器。

我认为 servlet 测试应用程序最适合这项工作,因为默认情况下它已经是多线程的。

我将如何实现这一点,我只是使用 requestDispatcher 类来调用另一个 servlet 还是有更好的方法?

欢迎任何建议!

【问题讨论】:

    标签: java servlets jmeter performance-testing requestdispatcher


    【解决方案1】:

    也许你可以试试apache benching tool (ab)。它简单实用。您只需指定客户端线程数、总请求数和要测试的 URL,即可获得所需的内容。

    【讨论】:

    • 也感谢您,但遗憾的是我使用的是 Oracle Web 服务器。但是,对于使用 LAMP 的其他项目,我会牢记这一点。 :)
    【解决方案2】:

    我建议您查看JMeter。它是模拟 Web 应用程序/servlet(和其他)负载的好工具。您可以定义(分支)工作流、多个线程、线程组、延迟、加速时间等。

    我认为它完全符合您的选项 1) 标准。

    干杯,

    【讨论】:

    • 谢谢,操作起来好像有点复杂。它有很多功能。对于我需要的东西,也许有点矫枉过正。
    • 很公平,您的电话 :-) 它一个非常通用的工具,但您不需要使用所有的工具...有一个很好的在线手册/教程有很多截图,例如。 jmeter.apache.org/usermanual/build-web-test-plan.html -- 我仍然认为你应该在自己编码之前试一试。干杯,
    • 那个链接比主教程好多了,谢谢@Anders!
    猜你喜欢
    • 2017-11-07
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 2022-01-13
    • 1970-01-01
    相关资源
    最近更新 更多