Когда следует увеличивать объем ЦП/ОЗУ экземпляра AWS RDS MySQL Server?

Когда следует увеличивать объем ЦП/ОЗУ экземпляра AWS RDS MySQL Server?

Мне интересно, на каком этапе мне нужно увеличить образ для сервера RDS MySQL до большего объема ЦП/ОЗУ.

График использования ЦП близок к 0. Средний объем свободной памяти составляет около 150 МБ. Средний объем использования подкачки составляет 420 МБ.

Задержка чтения составляет 0-20 мс/оп, она увеличивается случайным образом. Средняя задержка записи составляет в среднем 5 мс/оп, но может увеличиваться до 10-20 мс/оп.

Есть ли какие-то общие правила, которым мне следует следовать?

Спасибо!

решение1

Нет общих правил

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

Какую проблему производительности вы пытаетесь решить или предотвратить?

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

Обычно я смотрю на два аспекта производительности.

  • Какие показатели мне необходимо отслеживать, чтобы достичь поставленных целей по производительности?
  • Какой объем ресурсов я хотел бы сохранить, чтобы обеспечить достижение этих целевых показателей производительности?

Сосредоточение исключительно на метриках ресурсов базы данных при отсутствии других данных, вероятно, не очень полезно. Эти метрики нуждаются в контексте - в противном случае это просто преждевременная оптимизация.

Подобные показатели полезны для планирования мощностей, если вы знаете показатели их использования.

Поэтому, возможно, более важными вопросами будут:

  • При пиковых уровнях использования мое приложение работает в приемлемых пределах?
  • Каково потребление ресурсов при пиковой нагрузке?
  • При ожидаемом росте каково будет использование моих ресурсов?

Слишком часто я замечаю, что люди сосредотачиваются на том, что я называю пингом, питанием и каналом (ЦП/Диск/ОЗУ). Редко когда это важные вещи, на которых стоит сосредоточиться.

Получение данных и постановка целей в ответах на приведенные выше вопросы помогут вам принимать решения о масштабируемости, имеющие как техническое, так и деловое обоснование.

решение2

Из того, что я видел для экземпляров RDS, FreeableMemory довольно низкий, а SwapUsage относительно высокий. Похоже, что ваша рабочая нагрузка интенсивно использует память и улучшится с дополнительной памятью, как минимум.

Для более стабильных задержек используйте Provisioned IOPs, если вы уже выделили не менее 300 ГБ хранилища:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.html

Связанный контент