Подтвердить что ты не робот

AWS RDS Предоставляемые IOPS действительно стоят того?

Как я понимаю, ROD Provisioned IOPS довольно дорогой по сравнению со стандартной скоростью ввода-вывода.

В регионе Токио уровень P-IOPS составляет 0,15 $/GB, 0,12 $/IOP для стандартного развертывания. (Двойная цена для развертывания Multi-AZ...)

Для P-IOPS минимальное требуемое хранилище составляет 100 ГБ, IOP - 1000. Таким образом, начальная стоимость P-IOPS составляет 135 $, за исключением стоимости экземпляров.

В моем случае использование P-IOPS стоит около 100X больше, чем при использовании стандартной скорости ввода-вывода.

Это может быть очень субъективный вопрос, но, пожалуйста, дайте некоторое мнение.

В наиболее оптимизированной базе данных для RDS P-IOPS производительность будет стоить?

или

сайт AWS дает некоторое представление о том, как P-IOPS может принести пользу производительности. Есть ли реальный ориентир?

SELF ANSWER

В дополнение к тому, что zeroSkillz написал, я сделал еще несколько исследований. Однако учтите, что я не специалист по чтению баз данных. Кроме того, эталонный тест и ответ основывались на EBS.

Согласно статье, написанной "Родриго Кампосом", производительность действительно значительно улучшилась.

От 1000 IOPS до 2000 IOPS производительность чтения/записи (включая случайное чтение/запись) удваивается. Из того, что сказал zeroSkillz, стандартный блок EBS содержит около 100 IOPS. Представьте себе улучшение производительности, когда 100 IOPS достигает 1000 IOPS (что является минимальным IOPS для развертывания P-IOPS).

Заключение

Согласно эталону, производительность/цена кажутся разумными. Для критических ситуаций с точки зрения производительности, я думаю, некоторые люди или компании должны выбрать P-IOPS, даже если они заряжены на 100% больше.

Однако, если бы я был финансовым консультантом в малом или среднем бизнесе, я бы просто наращивал (как в CPU, память) на своих экземплярах RDS постепенно, пока производительность/цена не совпадают с P-IOPS.

4b9b3361

Ответ 1

Ok. Это плохой вопрос, потому что он не упоминает размер выделенного хранилища или любые другие детали настройки. Мы используем RDS, и у него есть свои плюсы и минусы. Во-первых, вы не можете использовать эфемерное устройство хранения данных с RDS. Вы даже не можете обращаться к устройству хранения напрямую при использовании службы RDS.

При этом предполагается, что носитель данных для RDS основан на варианте EBS из амазонки. Производительность для стандартного ввода-вывода зависит от размера тома, и есть много источников, в которых говорится, что выше 100 ГБ памяти они начинают "разделять" объемы EBS. Это обеспечивает лучший доступ к данным по средним случаям как при чтении, так и в записи.

В настоящее время мы запускаем около 300 ГБ дискового пространства хранения и можем получить 2 КБ ввода IOP и 1 к IOP около 85% времени в течение нескольких часов. Мы используем datadog для регистрации этого, чтобы мы могли видеть. Мы видели, что всплески до 4 тыс. Писали IOP, но ничего такого не выдержало.

Основным симптомом, который мы видим со стороны приложения, является нарушение блокировки, если IOPS для записи недостаточно. Количество и частота, которые вы получаете из них в журналах приложений, дадут вам симптомы для изматывания IOPS стандартного RDS. Вы также можете использовать службу, такую ​​как datadog, для мониторинга IOPS.

Проблема с предоставленными IOPS заключается в том, что они предполагают, что объемы стационарных операций записи/чтения будут экономически эффективными. Это почти никогда не является реалистичным вариантом использования и является причиной, по которой Amazon запустила облачные сервисы для исправления. Единственная гарантия, которую вы получаете с P-IOPS, заключается в том, что вы получите максимальную пропускную способность. Если вы не используете его, вы платите за него.

Если вы в порядке с работающими репликами, мы рекомендуем использовать реплику только для чтения как экземпляр NON-RDS и помещать его в обычный экземпляр EC2. Вы можете лучше читать-IOPS по гораздо более низкой цене, управляя репликой самостоятельно. Мы даже настраиваем реплики вне AWS с использованием stunnel и ставим SSD-диски в качестве основного блочного устройства, и мы получаем смешные скорости чтения для наших систем отчетности - буквально в 100 раз быстрее, чем мы получаем из RDS.

Я надеюсь, что это поможет дать некоторые реальные детали мира. Короче говоря, по моему мнению, если вы не должны обеспечивать определенный уровень пропускной способности (или ваше приложение не будет работать) на постоянной основе (или в любой заданной точке), то есть лучшие альтернативы предоставленным-IOPS, включая разделение чтения и записи с чтением -replicas memcache и т.д.

Ответ 2

Итак, я только что позвонил с инженером системы Amazon, и у него была интересная информация, связанная с этим вопросом. (т.е. это знание второй руки.)

стандартные блоки EBS могут хорошо обрабатывать многократный трафик, но в конечном итоге он будет уменьшаться до 100 iops. Было предложено несколько альтернатив, предложенных этим инженером.

  • некоторые клиенты используют несколько небольших блоков EBS и полоса их. Это улучшит IOPS и будет наиболее экономически эффективным. Вам не нужно беспокоиться о зеркалировании, потому что EBS зеркалируется за кулисами.

  • некоторые клиенты используют эфемерное хранилище в экземпляре EC2. (или экземпляр RDS) и иметь несколько подчиненных устройств для обеспечения "долговечности". Эфемерное хранилище - локальное хранилище и намного быстрее, чем EBS. Вы даже можете использовать экземпляры EC2, предоставленные SSD.

  • некоторые клиенты сконфигурируют мастер для использования подготовленных IOPS или эфемерного хранилища SSD, а затем используют стандартное хранилище EBS для ведомого (-ов). Ожидаемая производительность хорошая, но производительность отказоустойчивости снижается (но все еще доступна).

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