我們有一個可怕的經驗與gae去。當我們的應用程序是免費的,我們從來沒有問題超過軟私人內存限制。我們衝擊配額,因此我們決定支付。我們的每日預算設定爲3美元。在付費服務激活之後,我們又能夠使用該網站,超額配額消失了。幾個小時後,我們得到了這個超出軟私人內存限制,並且再也看不到這些了。我試圖清除數據存儲中的一些大數據,禁用內置的插件,但仍然沒有運氣。超出軟性私人內存限制
我在代碼中做了一些關於故障來自何處的測試。刪除數據存儲區訪問代碼後,再次創建該網站。所以我的結論是訪問數據存儲庫甚至只是爲了獲取很少的實體會引發這樣的錯誤。我們有點絕望。我們選擇使用appspot來利用這項技術,但是我們得到這個結果,因爲我們無法繼續發展。
下面只是引發這種錯誤的代碼。
q := datastore.NewQuery("Course")
courses := make([]courseData, 0)
if keys, err := q.GetAll(c, &courses); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
} else {
for i := range courses {
courses[i].Key = keys[i]
}
}
任何幫助,你可以延伸到我們將不勝感激。先謝謝你。
免責聲明,請勿使用gae。但是,上面提出了問題,那裏有多少課程?每門課程有多少數據? – dskinner 2013-03-20 20:44:33
你有沒有對你的應用進行簡介,看看內存在哪裏被消費?所有的實例都有一個有限的內存量(F1 - 128MB),如果你去並獲取大量的數據,當然你會吹出內存限制。 – 2013-03-21 01:06:04
除非您一次需要所有課程,否則可能嘗試遍歷查詢結果而不是使用GetAll()? – 2013-03-21 04:38:52