第一个请求的servlet响应时间很慢

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

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

  MyServlet My Servlet com.foo.MyServlet 1