¿Cuándo aumentar la instancia del servidor MySQL de AWS RDS a una CPU/RAM más grande?

¿Cuándo aumentar la instancia del servidor MySQL de AWS RDS a una CPU/RAM más grande?

Me pregunto en qué etapa necesito aumentar la imagen del servidor RDS MySQL a una instancia de CPU/RAM más grande.

El gráfico de utilización de la CPU está cerca de 0. La memoria libre promedio es de alrededor de 150 MB. El uso promedio de intercambio es de 420 MB.

La latencia de lectura es de 0 a 20 ms/op y aumenta aleatoriamente. La latencia de escritura promedio es de 5 ms/operación, pero aumenta hasta 10-20 ms/operación.

¿Hay algunas reglas comunes aquí que debo seguir?

¡Gracias!

Respuesta1

No hay reglas comunes

Las reglas de desempeño deben ser establecidas por objetivos comerciales y técnicos, no arbitrarios.

¿Qué problema de rendimiento estás intentando resolver o prevenir?

Las métricas no equivalen al rendimiento y, a menudo, tienen poco que ver con los objetivos comerciales o incluso técnicos.

Normalmente observo dos aspectos del rendimiento.

  • ¿Qué métricas necesito monitorear para cumplir con los objetivos de desempeño?
  • ¿Cuántos recursos generales deseo mantener para asegurar que cumplo con estos objetivos de desempeño?

Centrarse únicamente en las métricas de recursos de la base de datos en ausencia de otros datos probablemente no sea muy útil. Estas métricas necesitan contexto; de lo contrario, se trata simplemente de una optimización prematura.

Métricas como estas son útiles para la planificación de la capacidad si conoce sus tasas de utilización.

Entonces quizás las preguntas más importantes serían:

  • En los niveles máximos de uso, ¿mi aplicación funciona dentro de límites aceptables?
  • En el pico de uso, ¿cuál es mi utilización de recursos?
  • Con el crecimiento esperado, ¿cuál será mi utilización de recursos?

Con demasiada frecuencia encuentro que la gente se centra en lo que yo llamo ping, alimentación y canalización (CPU/Disco/RAM). Rara vez son estas las cosas importantes en las que centrarse.

Obtener datos y establecer objetivos para las preguntas anteriores lo ayudará a tomar decisiones de escalabilidad con justificaciones tanto técnicas como comerciales.

Respuesta2

Por lo que he visto en instancias de RDS, FreeableMemory es bastante bajo y SwapUsage es relativamente alto. Parece que su carga de trabajo consume mucha memoria y mejoraría al menos con memoria adicional.

Para latencias más consistentes, los IOP aprovisionados son el camino a seguir si ya ha asignado al menos 300 GB de almacenamiento:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.html

información relacionada