我想優化我的GAE webapp以獲得延遲。GAE/Python上的請求之間的異步數據庫訪問
該應用程序有兩個請求通常來來一個接一個。
在第一個請求期間啓動異步數據庫/ memcache請求,然後在以下請求中使用其結果是否安全?
(我知道,第二個請求可能擊中另一個實例。這將是一次不命中處理)
我想優化我的GAE webapp以獲得延遲。GAE/Python上的請求之間的異步數據庫訪問
該應用程序有兩個請求通常來來一個接一個。
在第一個請求期間啓動異步數據庫/ memcache請求,然後在以下請求中使用其結果是否安全?
(我知道,第二個請求可能擊中另一個實例。這將是一次不命中處理)
你不能在一個請求啓動一個異步API調用,並獲得其在其他結果。 HTTP服務基礎設施將等待在HTTP響應被髮送回去之前完成請求中的所有API調用;代表異步API調用的數據結構將在第二個請求中無用(即使它碰到相同的實例)。
您可能會嘗試使用Appstats來查明您的請求正在進行哪些API調用,並查看是否可以避免使用某些API,或者使用memcache或並行化。
您也可以使用在數據存儲區API中集成了memcache的NDB。
撇開安全問題,你會怎麼建議這樣做? –
@DanielRoseman - 只需在全局名稱空間中保留一個引用即可。 – Srg
通過全局名稱空間,您是否意味着在發生處理第一個請求的實例的記憶中,隨着流量增加和緩存更加有用,減少了在緩存彩票中獲勝的機會? – tesdal