2012-06-14 69 views
0

在我的AppEngine應用程序中,servlet需要很長時間才能初始化。這對於通常的Tomcat部署來說不是一個大問題,因爲初始化只發生一次。但是,在AppEngine中,我注意到許多服務請求導致AppEngine啓動一個新進程並執行初始化,因此這些請求需要很長時間。AppEngine servlet的長時間初始化

是否可以斷開服務請求的初始化?以某種方式告訴AppEngine在後臺執行初始化,以便當用戶請求頁面時,他不必等待那麼久?

+0

作爲參考,下面是我在我的日誌中獲得的每幾個請求的消息:「此請求導致您的應用程序啓動一個新進程,從而導致您的應用程序代碼首次加載。因此需要花費更長的時間並使用比您的應用程序的典型請求更多的CPU。「 –

+1

這應該回答你的問題: http://stackoverflow.com/questions/9577457/gae-go-this-request-caused-a-new-process-to-be-started-for-your-application –

+0

@ vishal.biyani,這遠遠沒有回答他的問題。它甚至是一個不同的平臺。 –

回答

2

您可以在應用程序的App Engine控制檯的「應用程序設置」部分將應用程序設置設置爲空閒實例或預熱請求。這應該避免獲得那些較慢的初始化時間,因爲您的應用程序將被預加載並準備就緒。

+1

謝謝!我不知道這些選項。設置空閒實例的最小值對我來說不可用,因爲我的應用程序是免費的,但即使對於免費應用程序也可以使用熱身請求:https://developers.google.com/appengine/docs/java/config/appconfig#Warmup_Requests –