0

我使用AmazonWebServices中的DynamoDB運行ASP.NET webservice以進行sessionstate處理。DynamoDB會話狀態提供程序會嚮應用程序拋出錯誤

但是今天我得到了大量的異常冒泡,直到錯誤的應用程序級別。是否有其他人遇到這些錯誤。這周我也有這種行爲,它持續了大約1-2小時,然後就離開了。

我正是用它作爲這裏描述: http://docs.aws.amazon.com/AWSSdkDocsNET/latest/DeveloperGuide/net-dg-dynamodb-session.html

我使用的版本2.3.0.1的AWS的sessionState提供商(從AWS SDK)

這是堆棧跟蹤:

System.Net.WebException: The remote server returned an error: (400) Bad Request. 
at System.Net.HttpWebRequest.GetResponse() 
at Amazon.Runtime.Internal.HttpRequest.GetResponse() 

任何想法?

編輯:從Web.config文件,請 適合部分

<appSettings>  
    <add key="AWSAccessKey" value="XXXXXXXXXXXX"/> 
    <add key="AWSSecretKey" value="XXXXXXXXXXXX"/>   
</appSettings> 

<compilation> 
    <assemblies> 
    <add assembly="AWS.SessionProvider, Version=2.3.0.1, Culture=neutral, PublicKeyToken=9f476d3089b52be3" /> 
    <add assembly="AWSSDK, Version=2.3.0.1, Culture=neutral, PublicKeyToken=9f476d3089b52be3" /> 
    </assemblies> 
</compilation> 

<system.web> 
    <sessionState timeout="20" mode="Custom" customProvider="DynamoDBSessionStoreProvider"> 
    <providers> 
     <add name="DynamoDBSessionStoreProvider" type="Amazon.SessionProvider.DynamoDBSessionStateStore" Region="eu-west-1" /> 
    </providers> 
    </sessionState> 
</system.web> 

EDIT2: 我確實看到了很多在同一時間appering的錯誤開始節流的請求,甚至你我不似乎是甚至接近規定的吞吐量。然而,在我看到ElasticLoadBalancer監控流量略有下降的情況下(如預期在營業日結束時)。所以它不覺得我得到更多的命中,因此得到扼殺請求。

的Screendump dynamodb監測 http://1drv.ms/1vU7BzO

+0

你的問題應該包括更多細節讓我們來幫助你。例如,你能給我們提供一個代碼示例嗎?你是如何配置你的訪問密鑰,密鑰的? etc .. – 2014-12-05 16:12:41

回答

0

我的猜測是以下中的一個,因爲它似乎它工作的大部分時間,偶爾有問題,再沒有你做任何事情恢復:

  • 當您設置 數據庫時,您超出了您設置的費率請求 - 這將拋出400錯誤(這是我的第一次猜測)
  • 請確保您的IIS上的時間與AWS同步;這可能會導致簽名問題
  • 請確保您沒有試圖超過單個項目的最大大小64KB。
+0

我已經添加了一些來自dynamodb的監控轉儲,我看到很多受限制的請求,但是在錯誤期間網站的傳入流量不會更高,所以我不明白所有這些節流請求的來源。 (我的流量大約是每5分鐘2000次點擊,但是我有> 3000個節流請求,並且很多流量不受影響) – DavKa 2014-12-05 16:49:46

相關問題