【问题标题】:Java Servlet container performance?Java Servlet 容器性能如何?
【发布时间】:2011-05-27 06:34:22
【问题描述】:

我想在这里向 Java 专业人士提出一个关于我即将进行的研究的问题 - 导致各种 servlet 容器效率差异的关键因素是什么?我需要比较 Tomcat/JBoss/Glassfish/Jetty 等,我需要知道哪些“因素”可能以最显着的方式影响结果?我将为此目的编写模拟应用程序,因此我可能会在那里实现对 Java 功能/框架/库等的任何建议,以便我可以大大增加容器的负载(实际上是容器,我不关心机器的负载,因为我当然要在同一台机器上运行所有测试),将不胜感激!我需要研究尽可能客观。感谢大家的帮助!

【问题讨论】:

  • JBoss AS 运行 Tomcat 容器,而 Jetty 也一样,如果我没记错的话。为什么要比较 servlet 容器的效率?
  • 这很难回答。基准测试有很多方面的价值,并且有很多可能性这样做。除非您解释您想从收集的数据中学到什么,否则恐怕对您的问题没有任何有用的答案。也许开始解释这一点:你为什么要这样做?
  • @精英绅士:Jetty 绝对不是基于 Tomcat 的,虽然旧版本的 JBoss 使用 Tomcat 作为 Web 容器,但我不确定当前版本是否。
  • @Michael Borgwardt,感谢您的澄清。
  • 好吧,我必须做那个比较,因为我把它作为与我的毕业论文相关的研究课题。我知道它非常学术,在实践中用处不大,但无论如何,至少找出一些结果可能会很有趣。

标签: java servlets containers


【解决方案1】:

一些可能对 Web 容器造成负担的事情(当然,除了大量请求之外):

  • 使用小堆(例如,只有 128 或 256 MB)
  • 钝化会话(每个会话中都有大型可序列化对象,太大而无法全部保存在内存中)
  • 提供静态资源(很多小资源,或者一些大资源)
  • 请求失败(404 或服务器错误)
  • 包含许多其他 JSP 的 JSP
  • 大量不同的 JSP
  • 大量不同的 servlet 映射
  • 大量链式 servlet 过滤器
  • 大量单独的应用程序
  • 重新部署应用程序(确保应用程序本身没有类加载器泄漏)

【讨论】:

    【解决方案2】:

    更多参数:

    1. 启用压缩
    2. 缓存已启用
    3. 调整缓冲区大小

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      相关资源
      最近更新 更多