性能测试部署的servlet应用程序?

时间:2012-11-05 11:12:26

标签: java servlets jmeter performance-testing requestdispatcher

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

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

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

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

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

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

  1. 发送多个HTTP请求的多线程java控制台应用程序     同时通过我的计算机上的多个线程。
  2. 一个单独的java servlet,它通过多个线程同时从一个服务器向另一个服务器发送HTTPS请求。
  3. 我认为servlet测试应用程序对于作业来说是最好的,因为默认情况下它已经是多线程的。

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

    欢迎任何建议!

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

我认为这完全符合你的选择标准。

干杯,