sql >> Databasteknik >  >> RDS >> Mysql

MySQL Performance – 5 parametrar från konfigurationsfilen

Tidigare skrev jag ett blogginlägg om MySQL Performance – Slow Query och innodb_buffer_pool_size . Jag fick massor av mejl där folk ville veta mer om sådana parametrar. Låt oss diskutera 5 parametrar från konfigurationsfilen som kan hjälpa MySQL-prestanda.

innodb_buffer_pool_size

I buffertpoolen cachelagras data. Om den är liten kommer din disk att användas mer. Håll den här stor för att undvika att MySQL hamnar på hårddisken igen och igen. Den typiska storleken jag ser hos mina kunder är allt från 6 till 10 GB.

max_connections

Du kan lätt undvika för många anslutningsfel om du håller detta tillräckligt stort. Men om du håller den för stor än vad din server kan hantera kommer du att börja se prestandaproblem igen. Det är mycket viktigt att hålla denna tillräckligt stor så att den kan hantera din typiska arbetsbelastning och därför bör du lägga till fler resurser. Jag har ofta ändrat detta först och senare anpassat resurserna för mina kunder.

query_cache_size

Alla vet att om du håller storleken på den här uppsättningen väldigt låg eller hög kommer din prestation att bli fruktansvärd. Men jag har sett många människor ignorera den här inställningen. Jag brukar börja ställa in MySQL genom att titta på den här inställningen och hålla den på 0. Det betyder att den här inställningen är inaktiverad och jag använder andra metoder för att ställa in mina frågor. Jag föredrar vanligtvis att ställa in mina index framför den här metoden.

innodb_flush_method

Den här inställningen styr hur data och loggar töms till disken från minnet. Jag brukar behålla det O_DIRECT för att undvika dubbelbuffring. Jag har upplevt att dubbelbuffring vanligtvis minskar serverns prestanda.

Inställningarna jag har nämnt ovan är relaterade till MySQL Performance och de kan ändras från konfigurationsfilen. Du kan hitta MySQL-konfigurationsfilen på platsen här i Linux:/etc/mysql/my.conf

Men innan du ändrar några inställningar i produktionen, rekommenderar jag starkt att du provar dem i ditt dev-system. Det är mycket möjligt att din upplevelse skiljer sig från min erfarenhet och att du behöver ett annat värde för din server.

Om du gillade den här bloggen, glöm inte att prenumerera på min YouTube-kanal – SQL på sextio sekunder .


  1. SQL Server LIKE som innehåller hakparenteser

  2. Postgres triggerbaserad infogningsomdirigering utan att bryta RETURNING

  3. Så här fixar du dubbelkodade UTF8-tecken (i en utf-8-tabell)

  4. Hur hittar man de privilegier och roller som ges till en användare i Oracle?