2013-06-25 74 views
11

我正在使用AWS來運行一些數據處理。我在EC2中有400個實例,每個實例有4個進程,所有這些實例都在S3中寫入一個存儲桶。我已經開始得到(顯然不常見)錯誤說:Amazon Web Services S3請求限制

503:減緩

有誰知道實際的請求限制是做什麼用的S3存儲?我找不到任何AWS文檔。

謝謝!

+0

似乎不大可能存在硬性限制,或者它將被記錄。您必須滿足一定的容量限制。亞馬遜監視他們的服務,所以如果他們正在努力處理更高的負載,現在他們看到用戶擊中它,它並不會讓我感到驚訝。 –

回答

9

從我讀過,減速是一個非常罕見的錯誤。然而,在發佈這個問題之後,我收到了AWS發來的一封電子郵件,說我的LIST請求每秒鐘被限制爲10個請求,因爲我有太多的時間去訪問特定的存儲桶。

我一直在使用我的工作的項目,這依賴於列表請求,以確定下一個項目來處理定製隊列腳本。在遇到這個問題後,我切換到了AWS SQS,這比我原先想象的要簡單得多。沒有更多的自定義隊列,沒有更多的LIST請求。

感謝您的答案!

9

由於臨時錯誤導致AWS文檔503。它沒有反映一個具體的限制。

根據上處理錯誤(http://aws.amazon.com/articles/1904/)節「最佳實踐使用Amazon S3」:

500系列錯誤指示請求未成功,但可以重試。雖然不經常發生,但是這些錯誤是作爲與服務正常交互的一部分而預期的,並且應該使用指數退避算法(理想情況下使用抖動)進行明確處理。一種這樣的算法可以在http://en.wikipedia.org/wiki/Truncated_binary_exponential_backoff找到。

特別是如果你突然開始執行每秒數百個看跌期權爲單鬥,你可能會發現一些請求,同時服務工作重新對負載返回503「放慢」的錯誤。與所有500系列錯誤一樣,這些錯誤應該用指數退避處理。

雖然較不詳細,在S3錯誤響應文檔確實包括503減緩(http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html)。