我在大學裏做了一個Google App Engine應用程序作爲課程項目。現在我需要優化它以在商業上使用它。增加Google App Engine上的型號數量會影響性能?
如今,代碼非常慢。它只有幾個模型,每個模型都有很多屬性。 在重寫Models代碼之前,我需要知道如果增加模型的數量(即增加去耦),我的應用程序是否會更快。直到我應該考慮將其他模型中的模型劃分爲什麼?
其他問題,如果解耦合對性能產生正面影響,那麼模型中的屬性數量與從數據存儲中獲取時間成正比?
我在大學裏做了一個Google App Engine應用程序作爲課程項目。現在我需要優化它以在商業上使用它。增加Google App Engine上的型號數量會影響性能?
如今,代碼非常慢。它只有幾個模型,每個模型都有很多屬性。 在重寫Models代碼之前,我需要知道如果增加模型的數量(即增加去耦),我的應用程序是否會更快。直到我應該考慮將其他模型中的模型劃分爲什麼?
其他問題,如果解耦合對性能產生正面影響,那麼模型中的屬性數量與從數據存儲中獲取時間成正比?
如今,代碼非常慢。它 只有幾個型號,每個屬性中有許多 屬性。
獲取/把大對象
由於數據存儲API只能放或獲取對象(而不是單個字段),每次獲取的數據存儲的對象時,它獲取所有的字段不管你是否打算在那個時候使用它們。當我們將對象寫回到數據存儲時,這種效果會更強,即使在對象中改變單個字段時,它也必須寫入所有內容。 (寫入的成本超過讀取數)
在我進一步說明之前:模型的擴散應遵循您的讀寫模式。
更實際一些,舉個例子,說我造型上的博客,其中每個將有一個title
,一個date
和body
(我們將理所當然地承擔起爲比其他領域要大得多)的職位。在簡單的對象建模中,我會在單個類BlogPost
中使用這三個字段,但是我每次只想讀取titles
(例如,僅顯示帖子列表和構建鏈接到帖子),或者只是更新dates
。
class BlogPost {
String title; String body; long date; }
那麼,什麼人可以做的就是創建一個類Body
將持有body
,並保持內部BlogPost
參考(關鍵)給它。
class BlogPost {
String title;
Key<Body> body;
long date;
}
class Body {
String body;
}
爲高效的跨側系列化輕量級使
這也使得BlogPost
類更輕巧如果我決定序列化,並將其發送通過線路,如將其發送到Web瀏覽器(用於JavaScript),例如GWT。
是否增加模型的數量 Google App Engine會影響性能?從尼克·約翰遜
答:
沒有,增加額外的模型不會 衝擊性能。
好的答案,但您沒有明確解決主要問題:否,添加其他模型不會影響性能。 – 2010-09-07 07:35:53
我完全錯過了,我會在編輯中引用您的答案,謝謝! – bakkal 2010-09-07 08:00:36