Ограничен ли AWS i3.2xlarge 10 КБ IOPS?

Я использую экземпляр AWS i3.2xlarge EC2 и сталкиваюсь с ограничением в 10K IOPS. Интересно, почему это так?

Я пишу только в хранилище экземпляра NVMe. Что бы я ни делал, я не могу преодолеть этот предел. Я думал, что экземпляр I3 class может быть намного выше этого?

Что-то мне не хватает? Нужен ли мне более крупный экземпляр для достижения более высоких показателей IOPS? Прежде чем я попытаюсь подняться выше, я хотел бы понять, является ли это типичным пределом для этого экземпляра или это что-то в моей настройке?

Удалось ли кому-нибудь достичь более высокой пропускной способности с экземпляром этого типа? Почему ограничение 10K IOPS? В чем причина этого? А как подняться выше?

Примечание: я запускаю приложение базы данных и делаю для него много запросов на обновление.

2
задан 18 November 2018 в 02:54
3 ответа

Вы на 100% уверены , что выполняете запись в локальное хранилище SSD ?

Похоже, вы случайно использовали объем EBS вместо , ограничение 10K IOPS предполагает, что ...

Как проверить: В Amazon Linux 2 на i3.2xlarge хранилище экземпляров NVMe - / dev / nvme0n1 , а тома EBS - / dev / xvd * . Проверьте, какое устройство смонтировано в используемом вами каталоге / benchmarking:

[root@ip-172-31-41-210 ~]# mount
/dev/xvda1 on / type xfs (rw,noatime,attr2,inode64,noquota)
/dev/xvdba1 on /ebs-storage type ext4 (rw,relatime,data=ordered)
/dev/nvme0n1 on /local-storage type ext4 (rw,relatime,data=ordered)

Здесь второй том EBS смонтирован как / ebs-storage , а хранилище экземпляров NVMe - как / local -storage .

Обратите внимание, что диск NVMe должен быть явно отформатирован ( mkfs ) и смонтирован , прежде чем он сможет использоваться! По умолчанию экземпляр запускается только с корневого диска с поддержкой EBS , а быстрый диск NVMe не используется!

Надеюсь, что это поможет :)

5
ответ дан 3 December 2019 в 08:52

На этой странице AWS говорится, что i3.2xlarge может выполнять 412 500 операций ввода-вывода в секунду при произвольном чтении и 180 000 операций ввода-вывода в секунду при записи. Для сравнения, i3.16Xlarge может выполнять 3,3 миллиона операций ввода-вывода в секунду при произвольном чтении и 1,4 миллиона операций ввода-вывода в секунду при записи.

Также говорится

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

Предложите вам запустить инструмент тестирования, чтобы увидеть, сколько операций ввода-вывода в секунду вы можете достичь - извините, я не могу рекомендовать инструмент. После этого, вероятно, придется оптимизировать вашу базу данных для данного экземпляра. Возможно, где-нибудь в Интернете есть статьи об оптимизации вашего программного обеспечения для экземпляров i3.

В противном случае совет обратиться в службу поддержки AWS будет хорошим советом. Их поддержка отличная. За их поддержку нужно платить, хотя уровень разработчика не так уж и дорог.

2
ответ дан 3 December 2019 в 08:52

В AWS скорость операций ввода-вывода в секунду ограничена для каждого тома .

Если вам нужна более высокая пропускная способность, лучше использовать большее количество меньших томов , чем один огромный том. Затем вы можете поместить тома, например. на SW-RAID или настройте программное обеспечение для использования нескольких хранилищ данных.

1
ответ дан 3 December 2019 в 08:52

Теги

Похожие вопросы