academia/deploy/docker-mssql/optimize.sql

58 lines
2.0 KiB
MySQL
Raw Normal View History

-- =============================================================================
-- SQL Server 2017 Express - Optimizaciones para Bajo Consumo de RAM
-- =============================================================================
-- Aplicar automáticamente al iniciar el contenedor
-- RAM objetivo: 384MB - 512MB
-- =============================================================================
-- Habilitar opciones avanzadas
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
-- MAX SERVER MEMORY: Limitar buffer pool (ajustar según contenedor)
-- Para 384MB container: usar 280-320MB
-- Para 512MB container: usar 380-420MB
EXEC sp_configure 'max server memory', 320;
RECONFIGURE;
-- MIN SERVER MEMORY: Permitir liberar memoria bajo presión
EXEC sp_configure 'min server memory', 128;
RECONFIGURE;
-- OPTIMIZE FOR AD HOC WORKLOADS
-- Reduce memoria del plan cache para queries únicos
-- Cachea stub pequeño en lugar de plan completo
EXEC sp_configure 'optimize for ad hoc workloads', 1;
RECONFIGURE;
-- MAX DEGREE OF PARALLELISM (MAXDOP)
-- Limitar a 2 para reducir consumo en operaciones paralelas
EXEC sp_configure 'max degree of parallelism', 2;
RECONFIGURE;
-- COST THRESHOLD FOR PARALLELISM
-- Subir umbral: solo queries costosas usan paralelismo
EXEC sp_configure 'cost threshold for parallelism', 50;
RECONFIGURE;
-- RECOVERY INTERVAL
-- Checkpoints más frecuentes = recuperación más rápida tras crash
EXEC sp_configure 'recovery interval (min)', 1;
RECONFIGURE;
-- =============================================================================
-- TRACE FLAGS PARA ESTABILIDAD
-- =============================================================================
-- TF 3226: Suprime mensajes de backup exitosos en el log (reduce I/O)
DBCC TRACEON(3226, -1);
-- TF 1118: Reduce contención en tempdb (extents uniformes)
DBCC TRACEON(1118, -1);
-- TF 1117: Crecimiento uniforme de archivos de datos
DBCC TRACEON(1117, -1);
PRINT '[LOWRAM] Todas las optimizaciones aplicadas correctamente';
GO