Recientemente he tenido problemas con la paliza como resultado de la falta de memoria. (Mi VPS tiene 256M en total)
Estoy tratando de sintonizar MySQL usando mysqltuner.pl y obtengo los siguientes resultados:
-------- Estadísticas Generales ---------------------------------------- ---------- [-] Verificación de versión omitida para el script MySQLTuner [OK] Actualmente ejecuta MySQL compatible versión 5.0.51a-3ubuntu5.4-log [OK] Operando en arquitectura de 64 bits -------- Estadísticas del motor de almacenamiento --------------------------------------- ---- [-] Estado: + Archivo -BDB -Federated -InnoDB -ISAM -NDBCluster [-] Datos en tablas MyISAM: 114M (Tablas: 454) [!!] Tablas totales fragmentadas: 34 -------- Métricas de rendimiento ---------------------------------------- --------- [-] Hasta: 40 s (570 q [14.250 qps], 23 conn, TX: 154K, RX: 23K) [-] Lecturas / Escrituras: 100% / 0% [-] Buffers totales: 338.0M global + 2.7M por hilo (20 hilos máximo) [!!] Uso de memoria máximo posible: 392.9M (153% de RAM instalada) [OK] Consultas lentas: 0% (5/570) [OK] Mayor uso de conexiones disponibles: 15% (3/20) [!!] Tamaño del búfer clave / índices totales de MyISAM: 8.0M / 9.4M [!!] Tasa de aciertos del búfer clave: 57,1% (7 en caché / 3 lecturas) [Aceptar] Eficiencia de caché de consulta: 21,9% (7 en caché / 32 selecciones) [OK] Consulta de ciruelas pasas por día: 0 [OK] Clasificaciones que requieren tablas temporales: 0% (0 clasificaciones temporales / 1 clasificaciones) [OK] Tablas temporales creadas en disco: 0% (0 en disco / 32 en total) [OK] Tasa de aciertos de caché de subprocesos: 86% (3 creadas / 23 conexiones) [OK] Tasa de aciertos de caché de tabla: 26% (128 abiertos / 484 abiertos) [OK] Límite de archivo abierto utilizado: 25% (259 / 1K) [OK] Bloqueos de tabla adquiridos inmediatamente: 100% (492 inmediatos / 492 bloqueos) -------- Recomendaciones ----------------------------------------- ------------ Recomendaciones generales: Ejecute OPTIMIZE TABLE para desfragmentar tablas para un mejor rendimiento MySQL comenzó en las últimas 24 horas: las recomendaciones pueden ser inexactas Reduzca su huella general de memoria MySQL para la estabilidad del sistema Variables a ajustar: *** El uso máximo de memoria de MySQL es peligrosamente alto *** *** Agregue RAM antes de aumentar las variables del búfer MySQL *** key_buffer_size (> 9.4M)
¿Pero estoy un poco confundido sobre cómo reducir el uso máximo de memoria? Parece estar basado en key_buffer y max_ connections, pero ¿debe haber algo más involucrado también?
my.cnf:
key_buffer = 8M max_allowed_packet = 12M thread_stack = 128K thread_cache_size = 8 max_ connections = 20 table_cache = 128 tmp_table_size = 256M max_heap_table_size = 256M join_buffer_size = 256K query_cache_limit = 8M query_cache_size = 64M
He estado tratando de leer los artículos de ajuste de MySQL, ¡pero parecen estar dirigidos a personas que ya saben lo que están haciendo! Cualquier ayuda sería apreciada. ¡Gracias!