Какой TPS может обрабатывать DynamodB? - PullRequest
0 голосов
/ 19 декабря 2018

Я думал, что база данных NoSQL, такая как Cassandra или DynamoDB, может обрабатывать 10000 QPS или TPS.Но когда я недавно посмотрел на некоторые конфигурации DynamoDB, я часто видел менее 100 TPS.Это 100 TPS для одного потока или всех потоков?Я что-то пропустил?Искал документацию AWS, но не нашел решения для подобных вопросов.спасибо

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Одним из основных аспектов баз данных NoSQL, таких как Cassandra, Scylla или DynamoDB, является то, что они масштабируемы - они используют кластер узлов, который может расти, что позволяет (теоретически) практически неограниченное количество запросов в секунду.Таким образом, вы можете обрабатывать 100 об / с, 10000 об / с или даже 10 000 000 об / с в зависимости от размера кластера (и размера каждого отдельного узла).В DynamoDB «программное обеспечение как услуга» вы не видите фактический кластер за сервером, а вместо этого вам нужно «обеспечить», сколько запросов в секунду вы хотите разрешить.

Я нене знаю, как вы подготовили установку, которая дала вам 100 об / с.Возможно, вы также неправильно измерили эту пропускную способность: вы упомянули потокиВы говорите о клиенте тем?Потому что, очевидно, если у вас есть только один клиентский поток, вы измеряете вовсе не пропускную способность, а скорее задержку: если клиентский поток отправляет один запрос и ожидает ответа на него перед отправкой следующего запроса, то, если ваши запросы имеют 10 мсзадержка (даже из-за задержки в сети), вы можете сделать только 100 из них из этого одного потока.Но у вас может быть 1000 таких потоков, обеспечивающих пропускную способность 100 000 запросов в секунду.У вас также может быть поток, управляемый событиями, который отправляет множество запросов, прежде чем ждать их завершения, вместо одного запроса.

0 голосов
/ 19 декабря 2018

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html

Нет никаких ограничений.Максимальная пропускная способность, которую вы можете обеспечить для каждой таблицы, по умолчанию составляет 40 000 блоков RCU (чтение в секунду) и 40 000 блоков WCU (запись в секунду).Но это всего лишь предел, предотвращающий случайное предоставление избыточной пропускной способностью пользователями, вы можете просто запросить более высокий лимит, применяемый к вашей учетной записи.

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