Sanningen är att vanliga misstag ligger bakom de flesta prestandaproblem i MySQL. För att säkerställa att din MySQL-server brummar på med topphastighet, vilket ger en stabil och konsekvent prestanda, är det viktigt att eliminera dessa misstag.

Lyckligtvis har många prestandaproblem liknande lösningar, vilket gör felsökning och inställning av MySQL en hanterbar uppgift.

Här är 10 tips för att få bättre prestanda ur MySQL:

MySQL prestandatips 1: Profilera belastningen

Det bästa sättet att förstå hur din server spenderar sin tid är att profilera serverns belastning. Genom profilering av din belastning kan du exponera de dyraste frågorna för vidare avstämning. Här är tiden den viktigaste måttstocken. När du skickar en fråga till servern, så bryr du dig väldigt lite om något annat än hur snabbt den svarar.

Det bästa sättet att profilera belastningen är med ett verktyg som MySQL Enterprise monitor query analyzer eller PT-query digest från Percona Toolkit. Dessa verktyg samlar in de frågor som servern exekverar och returnerar en tabell med uppgifter sorterade i fallande ordning efter svarstid. På så sätt ser du direkt de dyraste och mest tidskrävande arbetsuppgifterna och kan avgöra var du bör fokusera dina ansträngningar.

Profileringsverktygen kan gruppera liknande frågor tillsammans i en rad, där du kan se de frågor som är långsamma, men också de frågor som är snabba men som genomfördes många gånger.

MySQL prestandatips 2: Fyra grundläggande resurser
För att fungera behöver en databasserver fyra grundläggande resurser: cpu, minne, disk och nätverk. Om någon av dessa är svag, ojämn eller överbelastad, är det mycket sannolikt att databasservern kommer att fungera dåligt.

Att förstå de grundläggande resurserna är särskillt viktigt för två specifika saker: att välja hårdvara och felsökning.

När du väljer hårdvara för MySQL, är det också viktigt att säkerställa god prestanda även i övriga komponenter. Lika viktigt är att också balansera dem någorlunda väl mot varandra. Ofta väljer organisationer servrar med snabba processorer och diskar men med för lite minne. I vissa fall kan mer minne vara ett billigt sätt att öka prestandan, speciellt på arbeten som är diskbundna. Detta kan tyckas bakvänt, men i många fall är diskar överutnyttjade eftersom det inte finns tillräckligt med minne för att klara av att hålla all data i serverns arbetsbelastning.

Ett annat bra exempel på denna balans är kopplat till processorer. I de flesta fall kommer MySQL prestera väl med snabba processorer, eftersom varje fråga går i en enda tråd och inte parallelliserat mellan processorer.

När det gäller felsökning, bör du kontrollera prestandan och utnyttjandet av alla fyra resurser med ett vakande öga för att kunna avgöra om något utförs dåligt eller helt enkelt har för tung arbetsbelastning. Denna kunskap kan hjälpa till att lösa problem snabbt.