2013-03-27 497 views
1

看來,在tomcat空閒一段時間後,第一個請求頁面或服務的 可能需要比平常更長的時間來加載或 響應。請求頁面或服務可能需要比平常更長的時間來加載或響應

,我們正在努力的一個可能的原因是Tomcat是從內存中卸載 一些緩存的信息,當它已經閒置了一段時間 ,這第一次請求的延遲是由它採摘回來 造成了再次。這是一個可能的情況?如果沒有,有沒有人有什麼 建議可能會發生什麼?如果是這樣,是否有一種方法可以告訴tomcat不清除它可能清除的任何緩存?

謝謝。

+0

JSP在第一次被請求時被編譯爲servlet,這將解釋如果tomcat重新啓動時的行爲。但是我認爲這在tomcat空閒一段時間後無能爲力。 – Uooo 2013-03-27 08:37:59

回答

0

它只是連接池測試連接的問題。我把testOnBorrow參數的問題解決了。

0

當第一次請求JSP時,JSP會被編譯到servlet中,所以JSP頁面在第一次請求時會花費更長的時間。但是,這可能不是你寫的問題,當你在tomcat閒置一段時間時會遇到這種行爲。

然而,在Tomcat documentation,我發現療法是jspIdleTimeout

它被卸載之前JSP可以是空閒的以秒時間量。零或小於零的值表示永不卸載。默認-1

這可能是您的問題的原因。

根據this postjspIdleTimeout是一個初始化參數:

JSP卸載是通過一個新的配置參數,jspIdleTimeout管理。如果您的JSP中沒有在該閾值內請求,那麼tomcat將卸載jsp。

相關問題