【问题标题】:servlet response time is slow for first request第一个请求的 servlet 响应时间很慢
【发布时间】:2016-08-01 14:52:56
【问题描述】:

Servlet 仅对第一个请求的响应时间很慢

响应时间

第一个request 是 10.5 秒。

进一步request 2.5 秒。

从少数java 资源中,我知道servlet 在第一个request 期间第一次加载所需的classes,并将其重复用于进一步requests,因此delay

修复 1: 我在执行init() 方法后立即在servlet 内创建了一个dummy request。

响应时间:通过用户代理的所有请求的响应时间为 2.5 秒。

修复 2: 我尝试在servlet 的startup 中加载可能的classes

响应时间:第一个request 是 6 秒。其他请求为 2.5 秒。

是否还有其他实现相同目标的可能性,因为我认为当应用程序的 url(端口号、资源路径等)发生变化时,方法 1 需要更改代码,并且方法2的响应时间不够。

我已经为我的servlet 设置了loadOnStartup=1。

【问题讨论】:

    标签: java class servlets web-applications


    【解决方案1】:

    您还可以使用 web.xml 中的 load-on-startup 参数在启动时加载和初始化您的 servlet。

    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <display-name>My Servlet</display-name>
        <servlet-class>com.foo.MyServlet</servlet-class>
       <load-on-startup>1</load-on-startup>
    </servlet>  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 2019-10-14
      • 2013-12-08
      • 2016-06-04
      • 1970-01-01
      • 2018-09-05
      相关资源
      最近更新 更多