加载/压力测试Java应用程序

加载/压力测试Java应用程序,java,multithreading,thread-safety,stress,Java,Multithreading,Thread Safety,Stress,全部, 我们有一个基于HTTP servlet、EJB和POJO的Java应用程序。客户端使用HTTPServlet访问应用程序,应用程序使用Web服务 我需要对这个应用程序进行压力测试,以测试负载、线程安全性和响应时间 Web服务是使用HttpUrlConnectionAPI和JAXB API使用的 由于JAXB编组/解编有线程安全问题,因此需要进行负载测试和线程安全 我见过应用程序通过指定事务数和线程数进行负载测试。我也想对我的申请做同样的事情 真诚感谢您的任何建议使用: ApacheJMe

全部,

我们有一个基于HTTP servlet、EJB和POJO的Java应用程序。客户端使用HTTPServlet访问应用程序,应用程序使用Web服务

我需要对这个应用程序进行压力测试,以测试负载、线程安全性和响应时间 Web服务是使用HttpUrlConnectionAPI和JAXB API使用的

由于JAXB编组/解编有线程安全问题,因此需要进行负载测试和线程安全

我见过应用程序通过指定事务数和线程数进行负载测试。我也想对我的申请做同样的事情

真诚感谢您的任何建议

使用:

ApacheJMeter™ 桌面应用程序是开源软件,是一个100%纯Java应用程序,设计用于加载测试功能行为和测量性能。它最初设计用于测试Web应用程序,但后来扩展到其他测试功能

使用:

ApacheJMeter™ 桌面应用程序是开源软件,是一个100%纯Java应用程序,设计用于加载测试功能行为和测量性能。它最初设计用于测试Web应用程序,但后来扩展到其他测试功能

使用:

ApacheJMeter™ 桌面应用程序是开源软件,是一个100%纯Java应用程序,设计用于加载测试功能行为和测量性能。它最初设计用于测试Web应用程序,但后来扩展到其他测试功能

使用:

ApacheJMeter™ 桌面应用程序是开源软件,是一个100%纯Java应用程序,设计用于加载测试功能行为和测量性能。它最初设计用于测试Web应用程序,但后来扩展到其他测试功能

在对比之后,我选择了JMeter,因为它是用于创建测试计划的GUI。学习曲线是平坦的-很容易创建简单的场景

如果您对jython中的编写测试计划没有意见,那么这些工具似乎非常接近。两者

  • 具有用于运行和协调分布式测试的GUI(必须具有用于压力测试的GUI)
  • 可以创建用于进一步分析的文本/xml报告
  • 有内置的报告插件
请点击链接,获取关于jMeter中压力测试的链接,以及更好的插件,以可视化结果

对于大型数据集(>100.000个条目),我的默认图形插件存在性能问题。在与JMeter进行比较之后,我选择JMeter,因为它是用于创建测试计划的GUI。学习曲线是平坦的-很容易创建简单的场景

如果您对jython中的编写测试计划没有意见,那么这些工具似乎非常接近。两者

  • 具有用于运行和协调分布式测试的GUI(必须具有用于压力测试的GUI)
  • 可以创建用于进一步分析的文本/xml报告
  • 有内置的报告插件
请点击链接,获取关于jMeter中压力测试的链接,以及更好的插件,以可视化结果

对于大型数据集(>100.000个条目),我的默认图形插件存在性能问题。在与JMeter进行比较之后,我选择JMeter,因为它是用于创建测试计划的GUI。学习曲线是平坦的-很容易创建简单的场景

如果您对jython中的编写测试计划没有意见,那么这些工具似乎非常接近。两者

  • 具有用于运行和协调分布式测试的GUI(必须具有用于压力测试的GUI)
  • 可以创建用于进一步分析的文本/xml报告
  • 有内置的报告插件
请点击链接,获取关于jMeter中压力测试的链接,以及更好的插件,以可视化结果

对于大型数据集(>100.000个条目),我的默认图形插件存在性能问题。在与JMeter进行比较之后,我选择JMeter,因为它是用于创建测试计划的GUI。学习曲线是平坦的-很容易创建简单的场景

如果您对jython中的编写测试计划没有意见,那么这些工具似乎非常接近。两者

  • 具有用于运行和协调分布式测试的GUI(必须具有用于压力测试的GUI)
  • 可以创建用于进一步分析的文本/xml报告
  • 有内置的报告插件
请点击链接,获取关于jMeter中压力测试的链接,以及更好的插件,以可视化结果


对于大型数据集(>100.000个条目),我的默认图形插件存在性能问题。下面是如何为这些数据量绘制图形的想法

是的,您可以使用JMeter来测试响应时间,尽管我怀疑您是否会通过使用JMeter发现所有并发问题。JMeter在负载测试应用程序时非常有用,但请记住:

1确保您的测试正在复制您的实际用例

  • 您没有在同一个框上运行应用程序和JMeter

  • 您正在使用真实的新数据和现有数据

  • 编写并发测试可能非常棘手。更好的方法是非常仔细地检查使用已知不安全类的代码。例如,JAXB的一个解决方法是使用局部变量在每个请求处理程序上创建一个新的解组器

    比如说

     public void handler(HttpServletRequest req) {
        Unmarshaller u = context.createUnmarshaller();
        u.unmarshal(...);
    }
    
    显然,这存在性能问题,因此如果可能,最好使用不同的库。如果您部署的代码不是线程安全的,那么很可能会遇到很难重现的bug


    如果您确实希望编写并发集成测试,那么请提前阅读第12章《在Java并发中测试并发程序》,因为编写好的测试比您可能想象的要困难得多。

    是的,您可以使用JMeter测试响应时间,尽管我怀疑您是否会发现所有并发问题