java - 第一次请求的 servlet 响应时间很慢

标签 java class servlets web-applications

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

响应时间

第一个 请求 是 10.5 秒。

进一步请求 2.5 秒。

从一些 java 资源中,我了解到 servlet 在第一个 请求期间第一次加载所需的 classes 并为进一步的 requests 重复使用相同的内容,因此 delay

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

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

修复 2: 我尝试在 servlet

startup 中加载可能的 classes

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

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

我已经为我的 servlet 设置了 loadOnStartup=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>  

关于java - 第一次请求的 servlet 响应时间很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36548778/

相关文章:

java - 从另一个类文件访问另一个类文件

java - GetPropertyAction 与 System.getProperty 获取系统变量

java - java类编写语法

java - 寻找比数组列表更好的解决方案

java - 客户端和服务器端应用程序之间的通信

java - 创建 AlertDialog 时,变量未显示已定义

java - 更改非常长的字符串的每个字母

java - 找不到类的方法?

jQuery:从类中获取 ID

java - 小程序。 session 过期