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

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

Мне интересно, на каком этапе мне нужно увеличить изображение для сервера RDS MySQL до более крупного экземпляра CPU / RAM.

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

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

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

Спасибо!

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

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

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

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

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

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

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

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

Так что, возможно, более важные вопросы будут:

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

Слишком часто я нахожу, что люди сосредотачиваются на том, что я называю ping, power и pipe (CPU / Disk / RAM). Редко это важные вещи, на которых стоит сосредоточиться.

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

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

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