AWS DynamoDB.Я злоупотребляю своей емкостью записи? - PullRequest
0 голосов
/ 01 января 2019

Входные данные

Бесплатный уровень DynamoDB обеспечивает:

  • 25 ГБ хранилища
  • 25 единиц чтения Емкость
  • 25 единиц записиЕмкость

Единицы мощности (SC / EC - строго / в конечном итоге согласовано):

  • 1 RCU = 1 SC считывание 4 КБ элемента / секунду
  • 1RCU = 2 чтения EC по 4 кБ элемента / секунду
  • 1 WCU = 1 запись по 1 КБ элемента / секунду

Мое приложение:

  • одна таблица DynamoDB5 RCU, 5 WCU
  • одна лямбда
    • запускается каждую 1 минуту
    • записывает 3 элемента ~ 8 КБ каждый в DynamoDB
    • лямбда-выполнение занимает <1 секунду</li>

Приложение работает нормально, пока что нет регулирования.

CloudWatch

В моем CloudWatch есть несколько диаграмм (игнорируйте часть после7:00):

  • значение на этом графике равно 22 WCU

enter image description here

  • вкл.этот график это 110 WCU - на самом деле понял это - этот графикразрешение 5 минут - 5 * 22 = 110 (оставив его здесь на случай, если мое будущее я запутается)

enter image description here

Вопросы

У нас есть 3 записи по ~ 8 КБ элементов в секунду - это ~ 24 WCU.Это соответствует тому, что мы видим в CloudWatch (22 WCU).Но в таблице настроено только 5 WCU.Я прочитал некоторые другие вопросы, и насколько я понимаю, я не могу доплачивать, если сумма WCU в конфигурациях моих таблиц ниже 25.

  • Не слишком ли я злоупотребляю емкостью записи для своихтаблица?
  • Стоит ли ожидать удушения или дополнительных расходов?
  • Насколько я могу судить, мое использование все еще находится в пределах свободных уровней, но близко (22 из 25).Должен ли я платить дополнительно, если мое использование превышает 25 на этих графиках?

1 Ответ

0 голосов
/ 01 января 2019

Сконфигурированная выделенная емкость равна в секунду , тогда как данные, которые вы видите в CloudWatch, равны в минуту .Таким образом, сконфигурированные вами 5 WCU в секунду переводятся в 300 WCU в минуту (5 WCU * 60 секунд), что намного выше потребляемых 22 WCU в минуту.

Это уже должно ответить на ваш вопрос, но немного уточнимнекоторые детали:

Одна запись 7 КБ с настроенным объемом 5 WCU теоретически никогда не будет успешной и приведет к регулированию, так как 7 КБ потребует 7 WCU для записи, в то время как у вас настроено только 5 WCU (и мыможете смело предполагать, что ваша запись произойдет в течение одной секунды).К счастью, инженеры DynamoDB подумали об этом и реализовали разрывную мощность .Пока вы не используете выделенную емкость, вы сохраняете их до 5 минут, чтобы использовать их, когда вам нужно больше, чем выделенная емкость.Об этом следует помнить при увеличении использования ваших возможностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...