У меня есть запущенный экземпляр 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)
Основываясь на ответе Владимира: метрика 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.