Hola, Mateo:
¡Gracias por publicar tu pregunta en el foro de Microsoft Windows!
Sí, es posible cambiar dinámicamente el tamaño de innodb_buffer_pool_size sin reiniciar la instancia de MySQL, siempre que utilices una versión de MySQL que admita esta funcionalidad (MySQL 5.7+ y MySQL 8.x). Esto te permite aumentar o reducir el tamaño del buffer pool mientras la base de datos sigue en funcionamiento. Sin embargo, el cambio no es instantáneo y puede generar cierta actividad interna a medida que InnoDB redistribuye la memoria. Please refer:learn.microsoft.com
Respuestas a sus preguntas
1. ¿Es seguro modificar innodb_buffer_pool_size en caliente?
Sí, es una operación soportada. No debería requerir reiniciar el servicio, pero durante el proceso de redimensionamiento puede observarse un impacto temporal en el rendimiento dependiendo del tamaño del cambio y la carga actual del servidor.
Por este motivo, suele ser recomendable realizar cambios graduales y monitorizar:
- Uso de memoria.
- Latencia de consultas.
- Actividad de disco.
- Estado de InnoDB.
2. ¿Qué considerar respecto a innodb_buffer_pool_chunk_size?
Al modificar el tamaño del buffer pool, MySQL utiliza internamente bloques ("chunks") de memoria.
Conviene revisar:
innodb_buffer_pool_chunk_size
innodb_buffer_pool_instances
para garantizar que el nuevo tamaño pueda dividirse adecuadamente entre las instancias del buffer pool y evitar ineficiencias en la asignación de memoria.
Si se planean cambios frecuentes o grandes aumentos de memoria, es recomendable que el equipo de TI valide la configuración actual antes de aplicarlos en producción.
3. ¿Puede hacerse en Windows Server sin reiniciar?
Sí.
El cambio puede realizarse dinámicamente mediante:
SET GLOBAL innodb_buffer_pool_size = <nuevo_valor>;
sin necesidad de reiniciar la instancia de MySQL.
No obstante, para que el valor permanezca después de reiniciar el servidor o el servicio MySQL, también debe actualizarse en el archivo de configuración (my.ini).
Consideración importante
Si el conjunto de datos activo supera de forma constante la memoria física disponible del servidor, aumentar únicamente innodb_buffer_pool_size puede no resolver completamente el problema.
En ese escenario también conviene revisar:
- Consultas lentas (slow query log).
- Índices faltantes.
- Dimensionamiento de RAM.
- Contención de E/S (I/O).
- Configuración general de InnoDB.
En muchas ocasiones las caídas de rendimiento durante horas pico son consecuencia de una combinación de memoria insuficiente y planes de ejecución ineficientes.
Para más información, puede compartir:
- Versión exacta de MySQL.
- Cantidad de RAM del servidor.
- Valor actual de innodb_buffer_pool_size.
- Número aproximado de usuarios concurrentes.
Con estos datos será posible indicar una recomendación más específica.
Espero que esta respuesta haya sido útil. Si es así, por favor haz clic en "Aceptar respuesta" y considera votarla positivamente. Hacerlo ayuda a otros miembros de la comunidad a identificar soluciones útiles para problemas similares.