Назад | Перейти на главную страницу

Как рассчитать текущее использование IOPS и количество кредитов IOPS и график в AWS RDS

У меня есть запущенный экземпляр Mysql db.m3.medium RDS на AWS, работающий с SSD на 20 ГБ, как показано ниже: Описание машины RDS

Операции записи и чтения в последний час проходили следующим образом: Дисковые операции

Похоже, что максимальное количество операций (запись) + максимальное количество операций (чтение) составляет около 50 в секунду, что означает, что оно находится ниже 3 * disk_capacity = 3 * 20 = 60 iops / секунду. Это означает, что каждую секунду я получаю дополнительные 10 иопс на моем кредитном балансе.

Имея это в виду, мой текущий счет кредита - это счет кредита до этого периода времени (1 час) + сумма (баланс кредита за каждый второй период времени)?

Это правильный способ расчета текущего использования IOPS и накопления / количества кредитов?

Если да, то нет графика AWS, отображающего использование кредита IOPS, поскольку есть использование кредита ЦП, верно?

Как упоминалось в Как я могу увидеть свои пакеты IOPS? (источник):

К сожалению, нет метрики Cloudwatch для текущего баланса IOPS, как в случае с кредитами ЦП.

По состоянию на июль 2016 года это еще не было реализовано.

В Документы AWS предлагают довольно хорошее введение в всплеск IOPS:

Каждый том получает начальный баланс ввода-вывода в размере 5,4 миллиона кредитов ввода-вывода, что достаточно для поддержания максимальной пакетной производительности 3000 операций ввода-вывода в секунду в течение 30 минут. Этот начальный кредитный баланс предназначен для обеспечения быстрого начального цикла загрузки для загрузочных томов и для обеспечения хорошей загрузки других приложений. Для томов начисляются кредиты ввода-вывода при базовой производительности 3 IOPS на ГиБ размера тома. Например, для тома GP2 объемом 100 ГиБ базовая производительность составляет 300 операций ввода-вывода в секунду.

Если для вашего тома требуется больше, чем базовый уровень производительности ввода-вывода, он использует кредиты ввода-вывода в кредитном балансе, чтобы достичь требуемого уровня производительности, максимум до 3000 операций ввода-вывода в секунду. Тома размером более 1000 ГиБ имеют базовую производительность, равную максимальной пакетной производительности или превышающую ее, и их кредитный баланс ввода-вывода никогда не истощается. Когда ваш том использует меньше кредитов ввода-вывода, чем зарабатывает за секунду, неиспользованные кредиты ввода-вывода добавляются к кредитному балансу ввода-вывода. Максимальный кредитный баланс ввода-вывода для тома равен начальному кредитному балансу (5,4 миллиона кредитов ввода-вывода).

Итак, возьмем ваш пример, ваш том 20 ГБ имеет базовую производительность 60 IOPS. Если вы используете в среднем 50 операций ввода-вывода в секунду, 10 кредитов ввода-вывода будут добавляться к вашему кредитному балансу каждую секунду, максимум до 5,4 миллиона кредитов ввода-вывода.

AWS только что выпустила эту функцию, это может помочь вам контролировать количество операций ввода-вывода в секунду:

Метрика Burst Bucket теперь доступна для томов Amazon EBS General Purpose SSD (gp2)

(на данный момент это доступно только для томов GP2, но мы можем предположить, что другие тома уже в пути)

Основываясь на ответе Владимира: метрика BurstBalance теперь также доступна в Cloudwatch, так что вы можете настроить и сигнализировать на ее основе там.

Хотя график пакетного баланса еще не доступен в веб-консоли, его можно получить в aws cli с помощью такой команды:

aws cloudwatch get-metric-statistics --namespace AWS/RDS --metric-name  BurstBalance --dimensions Name=DBInstanceIdentifier,Value=YOUR_INSTANCE_NAME --start-time $(date +%s -d "-6 hours") --end-time $(date +%s) --period 30 --statistics Average

Эта команда вернет примерно следующее:

DATAPOINTS      99.999962963    2018-12-26T18:00:00Z    Percent
DATAPOINTS      100.0   2018-12-26T17:25:00Z    Percent
DATAPOINTS      99.999962963    2018-12-26T16:50:00Z    Percent
DATAPOINTS      100.0   2018-12-26T16:15:00Z    Percent

Это доступно для томов EC2 gp2, а также для томов RDS gp2.

Чтобы просмотреть его для EC2 EBS Volumes, перейдите в Cloudwatch -> Metrics -> EBS -> BurstBalance.

Чтобы просмотреть его для экземпляров RDS, перейдите в Cloudwatch -> Metrics -> RDS -> BurstBalance.