2015-04-19 67 views
2

我注意到,有時我用紅色標出以下警告消息:谷歌應用程序引擎 - 內存緩存 - 熱鍵警告

熱鍵警告(Memcache運算單位)/ 你顯著負載分散到集中只有4個值

第一個關鍵字有56%的流量百分比,以下3個有6-7%。 我的問題是:這是一個主要問題?它對應用性能有什麼影響? (如果在內存緩存值消失,它們將被從數據存儲裝載)

我在內存緩存108項,與286KiB

總緩存大小
+0

注意,甚至6-7%的流量到一個鍵是一個相對高一些。解決方案是更多地分割熱鍵數據。 –

回答

3

這是在您的內存緩存分配負載的內存緩存的最佳實踐keyspace

在您的memcache密鑰空間之間分配負載。擁有一個或一小部分的memcache項目代表不成比例的 流量會阻止您的應用程序擴展。這適用於每秒 次操作和帶寬。這個問題通常可以通過顯式分解數據來緩解。例如,經常更新的 計數器可以在幾個鍵之間拆分,只有在需要總數時纔可以讀回並總結 。同樣,每個HTTP請求上必須讀取的500K條數據可以跨多個鍵分割,並且可以使用單個批處理API調用回讀 。 (更好的做法是 將實例內存中的值緩存起來。)對於專用內存緩存,單個密鑰的峯值訪問率應該比每GB的評分低1-2個數量級。

https://cloud.google.com/appengine/docs/adminconsole/memcache

+0

集中加載是指寫入,讀取還是兩者(即任何這些)? –

+0

集中與服務器處理的負載有關。如果您有多個密鑰,則負載通過不同的連接/服務器進行平衡,因此您的應用程序可以更快地擴展,因爲您使用的服務器不同。如果您使用一小組項目,則會增加流量到同一資產。 –