doc:techref:mysql_performance

Paràmetres de rendiment de MySQL

Molt important per MyISAM, recomanable posar-lo al 30-40% de la memòria disponible si només s'usa MyISAM. També depèn del número i tamany d'indexs que s'usi, una bona mesura sinó és un 25% de la memòria. Cal tenir en compte que MyISAM usa la cache del sistema per a les dades.

Nombre de taules que un thread pot mantenir obertes. Evidentment com més millor, però tenint en compte que consumeix recursos de sistema. Incrementar més com ḿes taules o més conexions es facin. Un mínim seria 512, es poden posar valors alts de fins a 100000 per exemple

Crear/destruïr threads té un cost elevat, aquí s'especifica quants threads es volen mantenir en reserva (actius) per reaprofitar-los per a les conexions. Un mínim recomanable serien 16, convé augmentar-ho si veiem que Threads_created augmenta molt ràpid.

query_cache_size

Tamany de cache destinat a guardar resultats de queries. Si es fan lectures intensives millora molt la velocitat, però té un cost de manteniment. Valors de 32Mb a 512Mb tenen sentit.

query_cache_limit

Especifica el tamany màxim d'una query per permetre que es guardi en cache. S'aprofita l'espai amb un tamany petit (més consultes petites).

Buffer que s'utilitza per fer ordenacions i agrupacions. Si les dades no hi caben es fa a disc, però tampoc convé fer-lo mol gran ja que s'en crea un per cada thread i pot consumir fàcilment molta memòria.

Espai per taules temporals (també usat per ordenacions i agrupaments). Si no hi cap és crea un fitxer temporal a disc.

Idem al keybuffersize de MyISAM però importantíssim per InnoDB. InnoDB no usa la cache de sistema per això aquest valor a vegades es posa al 70-80% de la memòria del sistema (si només s'usa InnoDB).

InnoDB pot ser 100 vegades més lent que MyISAM. El valor per defecte (1) indica que cada transacció fa flush de dades a disc, amb 2 només fa flush a la cache de sistema. Amb 0 va un pèl més ràpid encara al cost del risc de perdre alguna transacció en cas de fallada del MySQL.

Si no fem copies dels logs transaccionals i no fem rèplica, deshabilitar-lo suposa menys accés a disc i més velocitat (1%)

Temps d'espera per tancar un conexión inactiva. Simple, però el valor per defecte (60 minuts) és exagerat per la majoria d'aplicacions.

Evita la resolució de noms DNS de les conexions, senzill però té efectes sobre l'autorització d'usuaris.

  • doc/techref/mysql_performance.txt
  • Last modified: 2021/06/10 21:45
  • by 127.0.0.1