
Я пытаюсь понять, правильно ли я указал свою базу данных. Ниже приведена диаграмма, показывающая WriteIOPS
, CPUCreditBalance
и BurstBalance
для экземпляра SQL Server t3.xlarge. Похоже, что я потребляю свой BurstBalance
еще около 15 часов, учитывая довольно постоянную скорость WriteIOPS. Однако CPUCreditBalance
неуклонно растет.
Что будет через +-15 часов - база данных будет заблокирована или нет? Я пытался понять метрикиопределено здесьиописано здесь, но я не совсем понимаю, в чем разница между этими двумя балансами. Может ли кто-нибудь пояснить, что означают эти два показателя баланса?
решение1
CPUCreditBalance
и BurstBalance
являются двумя не связанными между собой показателями.
На экземплярах типа T у вас есть CPUCreditBalance
. Если вы постоянно используете ЦП, ваш кредитный баланс будет исчерпан, и машина будет ограничена. Экземпляры типа T хороши только для прерывистых рабочих нагрузок. Любой процесс (даже ошибочный процесс), который продолжает потреблять даже небольшое количество ЦП, может парализовать систему, если он не будет правильно рассчитан. Таблицаздесьпоказывает, что t3.xlarge может работать на базовом уровне 40% на vCPU, не получая и не теряя кредиты. Все, что заставляет сервер работать выше этой скорости, будет потреблять кредиты, пока система не исчерпает кредиты и не будет снижена до базовой скорости. По сути, ваша система будет снижена до 40% использования ЦП.
С другой стороны, BurstBalance
является функцией тома хранилища EBS, поддерживающего экземпляр EC2 или RDS. Когда вы предоставляете стандартный том хранилища gp2, он обеспечивает базовую производительность. Однако вы можете заработать кредиты, чтобы превзойти эту производительность. Чем больше том, тем выше базовая производительность. Если у вас есть процесс, потребляющий диск (чтение или запись), он будет работать намного быстрее базовой производительности, пока не будет исчерпан баланс. Затем он будет снижен до базовой производительности. Подробнее об этомздесь.
На вашем графике отсутствуют ключевые значения, а именно CPUUtilization
и ReadIOPS
. Вы видите, что при устойчивом чтении или записи IOPS на диск ваш пиковый баланс уменьшается. Когда он заканчивается, вы будете ограничены базовой производительностью диска. Кроме того, вы видите, что при устойчивом использовании ЦП ваш кредитный баланс уменьшится. Когда он заканчивается, ваш ЦП будет дросселирован до базовой производительности.
В зависимости от рабочей нагрузки вам может потребоваться скорректировать размер экземпляра или тома для учета ваших потребностей. Или вам может потребоваться перейти на не-взрывной тип экземпляра для надежной и постоянной производительности ЦП. Или вам может потребоваться перейти на выделенный том хранилища iops для надежной и постоянной производительности диска.
решение2
Если ваша нагрузка постоянна 24/7, у вас закончится BurstBalance (диск EBS). Есть хорошая статья в блоге об этомздесьОднако если ваша нагрузка уменьшится, например, за пределами рабочего времени, то баланс, скорее всего, восстановится.
Если у вас диск GP2 / GP3, я предлагаю увеличить размер диска, так как ваш burst-баланс будет увеличиваться быстрее. Если это IO1 / IO2, увеличьте выделенные IOPS.