我正在嘗試創建約100,000個具有相同父級的新實體(代表用戶)。我讀過每個實體組每秒寫入一個實體的限制。我認爲這個請求可能會超時,所以我決定使用推送隊列任務來延長我需要十分鐘的時間。我嘗試在推送隊列任務的for循環中使用put(),但最終仍然超時(只能編寫大約8,900個實體)。Google數據存儲 - 當您超出每秒一次寫入限制時會發生什麼?
我很困惑,爲什麼我沒有得到一個錯誤,因爲我試圖對同一組進行多次寫入。任務超時10分鐘,這意味着我每分鐘寫入890個寫入,每秒寫入約14個寫入。這是每秒寫一次的方式..我讀了Google App Engine HRD - what if I exceed the 1 write per second limit for writing to the entity group?和Google Datastore - Not Seeing 1 Write per Second per Entity Group Limitation的答案,但據我的理解,它只是說,數據存儲可能每秒寫入5-10個實體。我得到的比率比那要高。
我也讀here,當以單一實體或實體組被太快更新發生
數據存儲區的爭用。數據存儲將排隊併發請求以等待輪到。請求在隊列中等待超時時間將拋出併發異常
這是否意味着錯誤不會超過1寫/秒?寫入操作只會被放入隊列中,並且在發生請求超時時(這種情況下,任務隊列爲10分鐘),我只會收到一個錯誤?
你會得到爭用,1/s是保證限制。如果不查看代碼,則無法分辨更多細節 – marcadian