sql >> Database teknologi >  >> RDS >> Mysql

MySQL-ydelse – 5 parametre fra konfigurationsfil

Tidligere skrev jeg et blogindlæg om MySQL Performance – Slow Query og innodb_buffer_pool_size . Jeg fik masser af e-mails, hvor folk ville vide mere om sådanne parametre. Lad os diskutere 5 parametre fra Config File, som kan hjælpe MySQL Performance.

innodb_buffer_pool_size

I bufferpuljen cachelagres data. Hvis den er af lille størrelse, vil din disk blive brugt mere. Hold denne stor for at undgå, at MySQL går på disk igen og igen. Den typiske størrelse, jeg ser hos mine kunder, er alt fra 6 til 10 GB.

max_connections

Du kan nemt undgå for mange forbindelsesfejl, hvis du holder denne stor nok. Men hvis du holder den for stor, end hvad din server kan klare, vil du begynde at se ydeevneproblemer igen. Det er meget vigtigt at holde dette stort nok, så det kan håndtere din typiske arbejdsbyrde, og derfor bør du tilføje flere ressourcer. Jeg har ofte ændret dette først og senere tilpasset ressourcer til mine kunder.

query_cache_size

Alle ved, at hvis du holder størrelsen på dette sæt meget lav eller høj, vil din præstation være forfærdelig. Jeg har dog set mange mennesker ignorere denne indstilling. Jeg begynder normalt at tune MySQL ved at se på denne indstilling og holde den på 0. Det betyder, at denne indstilling er deaktiveret, og jeg bruger andre metoder til at tune mine forespørgsler. Jeg foretrækker normalt at tune mine indekser frem for denne metode.

innodb_flush_method

Denne indstilling styrer, hvordan data og logfiler tømmes til disken fra hukommelsen. Jeg plejer at beholde det O_DIRECT for at undgå dobbelt buffering. Jeg har oplevet, at dobbelt buffering normalt reducerer serverens ydeevne.

Indstillingerne, jeg har nævnt ovenfor, er relateret til MySQL Performance, og de kan ændres fra konfigurationsfilen. Du kan finde MySQL-konfigurationsfilen på stedet her i Linux:/etc/mysql/my.conf

Men før du ændrer nogen indstillinger i produktionen, anbefaler jeg stærkt, at du prøver dem i dit udviklersystem. Det er meget muligt, at din oplevelse er anderledes end min oplevelse, og at du har brug for en anden værdi for din server.

Hvis du kunne lide denne blog, så glem ikke at abonnere på min YouTube-kanal – SQL på tres sekunder .


  1. Dvalesekvens på oracle, @GeneratedValue(strategi =GenerationType.AUTO)

  2. Hvordan finder man grænserne for grupper af sammenhængende sekventielle tal?

  3. Sådan får du den aktuelle dato i MySQL

  4. SQL Server 2008 Tom streng vs. plads