似乎在 tomcat 空闲一段时间后,对页面或服务的第一次请求可能需要比平时更长的时间来加载或响应。
我们正在处理的一个可能原因是,当它空闲了一段时间后,tomcat 正在从内存中卸载一些缓存信息,并且第一个请求的延迟是由于它再次恢复而造成的。这是一个可能的情况吗?如果没有,是否有人对可能发生的事情有任何建议?如果是这样,有没有办法告诉tomcat不要清除它可能已清除的任何缓存?
谢谢。
It just connection pool test connections issues.I put testOnBorrow parameter the issues is settled.
JSP 在第一次被请求时被编译为 servlet,因此 JSP 页面在第一次被请求时会花费更长的时间来加载。但是,这可能不是您的问题,因为您在 tomcat 闲置一段时间时会遇到这种行为。
但是,在Tomcat 文档中,我发现有一个jspIdleTimeout
:
JSP 在卸载之前可以空闲的时间量(以秒为单位)。零或更小的值表示从不卸载。默认 -1
这可能是您的问题的原因。
根据这篇文章,jspIdleTimeout
是一个初始化参数:
JSP 卸载由一个新的配置参数管理,
jspIdleTimeout
. 如果您有在该阈值内未被请求的 JSP,则 tomcat 将卸载该 jsp。