Memcache是其中解決方案可能是絕對的任何東西之一,也沒有人真的給出了正確的答案,也許是因爲沒有。所以我不是在尋找直接的答案,但也許只是讓我朝着正確的方向前進。Google App Engine低memcache性能
對於一個典型的請求,這是我將Appstats信息:
所以,在總共440毫秒的請求,我花342毫秒內存緩存。在這裏,我認爲memcache應該是閃電般的。我一定做錯了什麼。
看看我在我的管理控制檯memcache的統計,我有這樣的:
Hit count: 3848
Miss count: 21382
Hit ratio: 15%
我對這個東西不是專家,但我敢肯定,15%是可怕的。
上面的典型請求有點太詳細以至於無法解釋,但基本上,我創建並放置了一個新實體,該實體還更新並放置父實體,該實體還更新並放置與父實體關聯的任何用戶。
縱觀這一切,我總是通過按鍵獲取,從不查詢。哦,我正在使用NDB,所以基本都是memcache stuff is handled automatically。所以我從來沒有真正在自己的代碼中手動觸摸memcache。
任何想法?
編輯:這是我的要求的擊穿
所以我只有2個數據存儲變得和2個看跌期權。其餘的是自動處理memcache的東西。爲什麼它做了這麼多工作?手動處理這些東西會更好嗎?
如果不知道你在做什麼,以及你的數據模型是什麼樣子,就不可能給你任何好的建議。 –
@JasonHall你我想通了。我正在使用NDB,所以我沒有手動處理任何memcache。它的全部自動。所以我想知道什麼會導致它在內存緩存中佔用342?即使在絕對最壞的情況下,如果memcache真的需要那麼長時間? – Snowman
您可能想要掌握一些什麼/如何進行memcaching - 將它留給NDB不會奇蹟般地解決您的問題,特別是因爲NDB不知道您要做什麼。例如,儘可能使用'set_multi'而不是'set'來批量處理內存緩存請求。 –