0

Я запускаю веб-сервис ASP.NET с использованием DynamoDB в AmazonWebServices для обработки сеансового состояния.Поставщик состояния сеанса 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() 

Любые идеи?

Edit: Подходящие части из 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 в то же время, как начались ошибки, даже ты мне не кажется, что даже закрыть на подготовленном thruput. Однако за время я вижу небольшое снижение трафика в мониторинге для ElasticLoadBalancer (как и ожидалось к концу рабочего дня). Поэтому мне не кажется, что я получаю гораздо больше хитов и поэтому получаю дросселированные запросы.

Screendump мониторинга dynamodb http://1drv.ms/1vU7BzO

+0

Ваш вопрос должен содержать более подробную информацию, чтобы мы могли вам помочь. Можете ли вы предоставить нам пример кода? Как вы настроили ключ доступа, секретный ключ? и т. д. –

ответ

0

Мое предположение было бы один из следующих, так как он кажется он работает большую часть времени, иногда возникают проблемы, а затем восстанавливается без вас делать что-нибудь:

  • Вы превысили свой тарифный запрос, который вы предоставили при настройке БД - это приведет к ошибке 400 (это мое первое предположение)
  • убедитесь, что время на вашем IIS синхронизировано с AWS; это может вызвать проблемы с подписью
  • убедитесь, что вы не пытаетесь превысить максимальный размер 64 КБ для одного элемента.
+0

Я добавил несколько контрольных дампов из dynamodb, я вижу много дросселированных запросов, однако входящий трафик на сайт не выше во время ошибок, поэтому я не понимаю, откуда берутся все эти дросселированные запросы. (Мой трафик составляет около 2000 просмотров за 5 минут, но у меня есть> 3000 дроссельных запросов, и много трафика не затронуто) – DavKa