Amazon S3: максимальное количество запросов PUT в секунду - PullRequest
6 голосов
/ 24 февраля 2012

Я помещаю большое количество мелких предметов в S3, используя REST API. Средняя полезная нагрузка составляет ~ 10 байт.

Все предметы собираются в одно ведро и имеют рандомизированные имена (т. Е. Нет лексикографического порядка)

Начиная с EC2, я управлял скоростью 4-500 в секунду. Я использую пул потоков из 96 потоков с 64 TCP-соединениями.

Иногда я получаю HTTP 500, но еще не получил 503 - это означает, что клиент замедляет скорость запросов.

Кто-нибудь знает, чего я могу реально достичь? Я знаю, что канал между EC2 и S3 может управлять пропускной способностью 20 МБ / с, поэтому я надеюсь, что будет немного лучше.

1 Ответ

1 голос
/ 24 февраля 2012

Не должно быть сюрпризом, что вы наблюдаете низкую производительность при использовании REST для передачи для таких крошечных полезных нагрузок.

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

Действительно, размер каналасвоего рода несущественный вопрос, поскольку вы полностью заполняете его HTTP-накладными расходами;например, если бы вы могли удвоить пропускную способность соединения, вы бы смогли отправить в два раза больше бесполезных накладных расходов без каких-либо изменений в используемых данных.

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