我有一個配置爲Guice,Jersey和EclipseLink的小型web應用程序,並且在開發期間在jetty(8.0.0.M1)上運行此應用程序。大約有10個(小)JPA託管類(實體和可嵌入類),總共約20個類。在Jetty上加速應用程序啓動
第一次請求的初始啓動需要15秒+5秒。看起來JPA正在處理第一個請求,因爲我已經啓用了表生成策略「create」並在第一個請求中查看Maven的一些JPA輸出。
重新加載大約需要10秒,重新加載後的第一個請求需要大約3到4秒。
您可能認爲啓動時間並不那麼糟糕,但我想知道是否可以像Django一樣加速啓動,使其更加流暢。任何啓動調整的想法?
您擔心啓動時間本身,還是第一個用戶必須支付啓動成本?如果是後者,則可以讓應用程序在啓動時向其自身發送請求,以便對其進行預熱。然後第一個用戶看到一個正常的響應時間。 – 2010-11-11 13:36:03
我擔心的是開發過程中的啓動時間。重新生產在生產中比較少見,所以我會接受第一個用戶必須等待幾秒鐘。 – deamon 2010-11-11 20:07:37
如果由於代碼更改(不是模式更改)而重新啓動,請儘量避免使用JRebel(http://www.zeroturnaround.com/jrebel/)完全重新啓動(幾乎)。這不是免費的,但它可以節省很多時間(我絕不隸屬於他們)。 – DaGGeRRz 2010-11-17 17:24:36