Как вычислить начальные пределы автоматического масштабирования для таблицы DynamoDb
На нашем столе бурные записи, ожидаемые раз в неделю. У нас включено автоматическое масштабирование с выделенной емкостью 5 WCU, с 70%
целевое использование. Этого достаточно для нашего непикового (не пакетного) трафика. Тем не менее, во время бурных записей, WCU охватывают вокруг 1.5-2k
, что приводит к большому количеству задушенных писем и в конечном итоге к невозможности написать.
1) Подходит ли автоматическое масштабирование для такого варианта использования?
2) Если да, какой должна быть наша первоначальная подготовленная мощность?
2 ответа
Этот ответ расскажет вам, почему автоматическое масштабирование не работает для вас: /questions/2697052/serverless-proizvoditelnost-dynamodb-uzhasnaya-po-sravneniyu-s-rethinkdb-aws-lambda/2697066#2697066
Этот ответ расскажет вам, как вы можете настроить SDK для повторения операций в течение гораздо более длительного периода (и, следовательно, для предотвращения сбоев операций при пиковых запросах). Что должно быть сделано при превышении выделенной пропускной способности?
В конечном итоге вам, вероятно, следует переместить ваши таблицы по требованию.
Для таблиц, использующих режим по требованию, DynamoDB мгновенно приспосабливается к рабочим нагрузкам клиентов по мере их увеличения или снижения до любого ранее наблюдаемого уровня трафика. Если уровень трафика достигает нового пика, DynamoDB быстро адаптируется к рабочей нагрузке.
Нет, автоматическое масштабирование не подходит для ваших нужд. На масштабирование уходит несколько минут, и это происходит за счет увеличения фиксированного процента от вашей текущей емкости каждый раз. Также есть ограниченное количество раз, когда оно увеличивается или уменьшается в день, поэтому вы не можете получить от 5 до 2000 в считанные минуты. Вы можете даже не получить это в течение нескольких часов.
Я бы посоветовал попробовать режим "по требованию" или вручную установить мощность до 2000 за некоторое время, прежде чем он действительно понадобится (на самом деле он не масштабируется мгновенно).
Я настоятельно рекомендую прочитать ВСЮ динамо-документацию, касающуюся лучших практик для первичного ключа, GSI, архитектуры данных. В зависимости от размера вашей таблицы (больше 10 Гб), 2000 единиц могут быть распределены по разделам, и вы потенциально можете по-прежнему ограничивать запросы.