Mi servidor actual tiene 12 núcleos y 96 GB de RAM. Pero debido a mis consultas MYSQL, hasta el 100% del servidor siempre está en uso, mientras que la RAM es inferior al 5%. Sé que el problema principal son las consultas SQL. De los registros, resultaron ser algunas consultas que resumen los valores en todas las columnas. Ahora bien, debido al tamaño de la aplicación, optimizar las consultas no será posible en el corto plazo.
Como solución a corto plazo, ¿debería adquirir un nuevo servidor con 32 núcleos? ¿O hay alguna manera de trasladar parte de la potencia de procesamiento a la RAM del servidor? De esa manera, más de 90 GB de RAM no se desperdiciarán.
Respuesta1
No.
Todavía tengo que ver un servidor MySQL que se haya quedado sin núcleos antes de quedarse sin otros recursos.
A menudo, el uso elevado de CPU se soluciona agregando un índice mejor (especialmente un índice compuesto) y/o reformulando alguna consulta lenta.
Encuentre las consultas lentas y analicémoslas. Registro lento
"Uso bajo de RAM" generalmente significa un valor demasiado bajo de innodb_buffer_pool_size
. Esa configuración debería ser aproximadamente el 70% de la RAM. Sin embargo, una configuración baja de esto generalmente implica una E/S alta, no una CPU alta. Por favor muéstranos SHOW CREATE TABLE
y SELECT...
para algunas consultas traviesas.