sql >> Database >  >> RDS >> Mysql

Benchmark MySQL op SSD:tools en strategieën

Een belangrijk ding om te onthouden bij het benchmarken van MySQL-opslagprestaties in Linux is cache. Ik was zelf ook benieuwd naar dezelfde testcase. Het is altijd grappig als een gebruiker klaagt over een langzame zoekopdracht. Ze bellen je en rennen opnieuw om te ontdekken dat hun zoekopdracht van meer dan 50 minuten nu binnen 30 seconden is voltooid vanwege de querycache. Voer altijd een

. uit
mysql> reset query cache;

in MySQL wanneer u query's probeert te optimaliseren. Dat gezegd hebbende, is er nog een stap bij het vergelijken van SSD met traditionele spindels:schijfcache. Het is moeilijk om toegangstijden of IOps te vergelijken wanneer het besturingssysteem alleen de schijf in het geheugen cachet. Voer het volgende uit vanuit een shell om de schijfcache te wissen:

$ sync && sysctl -w vm.drop_caches=3

Deze opdrachten die vóór elk van uw benchmarkquery's worden uitgevoerd, helpen u het potentieel van uw SSD te realiseren in vergelijking met die 7k2 SATA-slowpoke die u heeft. Controleer dit door dezelfde query twee keer uit te voeren zonder de cache te legen en de querytijden te observeren. Op dit moment is het een goed idee om enkele query's met en zonder indexen uit te proberen, evenals enkele joins indien mogelijk. Gebruik EXPLAIN PLAN bij elke query om te controleren of een index wordt gebruikt. De willekeurige toegang van lezen tussen index- en gegevensbestanden zal knelpunten op langzamere schijven blootleggen. Zorg ervoor dat uw my.cnf consistent is tussen uw SSD-benchmarks en uw schotel. Ik heb een aantal dingen getest op een eenvoudige desktop OCZ SSD en merkte dat de queryprestaties ongeveer 10x zo snel waren als mijn 7200rpm SATA-schijf. In een op SSD gebaseerde transactiedatabase zou ik voorzichtig zijn bij het gebruik van OPTIMIZE TABLE, aangezien frequente databaseverdichting in combinatie met SSD TRIM de levensduur van de schijf kan beïnvloeden. Dat is echter theoretisch en ik heb nog geen bewijs gezien om dit te ondersteunen.

Ik hoop dat dit helpt! Ik kan niet wachten op de dagen dat magnetische HD's tape als back-upmedium vervangen en in de meeste hardware volledig worden vervangen door SSD.



  1. Hoe de sortering van een database in MySQL te tonen

  2. ORDER BY RAND() functie duurt lang om uit te voeren in mysql

  3. Slow bulk insert voor tafel met veel indexen

  4. Wat is het verschil tussen varchar en nvarchar?