Увеличивает ли производительность сегментирование тома EC2 EBS?

#amazon-ec2 #amazon-web-services #sharding #amazon-ebs

#amazon-ec2 #amazon-веб-сервисы #сегментирование #amazon-ebs

Вопрос:

Я рассматриваю возможность использования EBS для очень большой коллекции почтовых файлов. Множество маленьких файлов разбросано по множеству каталогов. Приведет ли сегментирование моего хранилища EBS на несколько контейнеров меньшего размера к увеличению производительности при чтении / записи по сравнению с одним большим томом EBS?

Ответ №1:

Может быть, вы можете объяснить, что именно вы подразумеваете под сегментированием. В остальном, что касается производительности EBS, есть несколько недостатков:

  • Это связано с сетью (например, в меньшем экземпляре, где больше экземпляров используют один хост, производительность сети ниже звездной).
  • Он многопользовательский (опять же, несколько пользователей на хосте влияют на EBS)
  • Его производительность варьируется (производительность никогда не бывает стабильной)
  • Это не SAN!

Чтобы смягчить некоторые из этих проблем, многие люди предлагают создать raid из нескольких томов EBS, я предлагаю следующие статьи:

В итоге, для maildir я бы, вероятно, посмотрел на реальное оборудование. Не похоже, что вам нужно увеличивать / уменьшать масштаб от одной минуты к другой. Я бы, вероятно, подготовил настройку и при необходимости использовал облачное решение в дополнение к временной обработке скачков (до установки дополнительного оборудования).

Дайте мне знать, если это поможет!

Комментарии:

1. Я прочитаю эти статьи — спасибо. То, что я подразумеваю под «сегментированием», — это разделение моего корпуса maildir, скажем, на 4 относительно равные части на основе некоторой циклической метрики. Затем я сохраняю все 4 в отдельных томах EBS. Допустим, мой общий ввод-вывод для доставки почты составляет 10 Мбит / с. Если у меня есть один том EBS, этот том EBS должен выдерживать нагрузку на запись 10 Мбит / с. Если у меня есть 4 тома, каждый должен выдерживать (приблизительно) нагрузку на запись 2,5 Мбит /с. Мой вопрос был таков: смогу ли я поддерживать более высокую среднюю пропускную способность записи, распределяя мои записи на > 1 томе EBS, чем на одном томе EBS.

2. Я предполагаю, что распределение нагрузки таким образом [c, sh] могло бы сработать. Однако я не уверен, как вы планируете справляться с ростом в будущем. Например, разные пользователи будут заставлять каждый сегмент расти по-разному. Не уверен, что она всегда распределяется равномерно.

3. Я бы предложил использовать программный RAID. Недостаток сегментирования в том, что в какой-то момент времени вам всегда приходится переносить сегментирование. Это серьезная проблема, если только ваше решение не поддерживает автоматическую повторную сортировку (например, как это делает MongoDB).

4. @j00bz Я согласен с Тиллем в том, что это не будет распределяться равномерно. Я бы не советовал пытаться масштабироваться подобным образом. На практике некоторые сегменты будут испытывать гораздо большую нагрузку при записи, чем другие, казалось бы, непредсказуемыми способами.