MySQL is een van de meest populaire databasebeheersystemen voor webservers. Als je een WordPress website hebt, is de kans groot dat deze MySQL gebruikt voor de database. Dat maakt het essentieel om te begrijpen hoe je de prestaties van je MySQL kan tunen.

Met MySQL “tunen” bedoelen we het optimaliseren van je database zodat de software sneller op verzoeken kan reageren. Uiteindelijk kan dat leiden tot kortere laadtijden en een algehele vlottere website. Bovendien, als je je database op de juiste manier onderhoudt, zou deze hoge prestaties moeten blijven bieden, zelfs als deze groter wordt.

In dit artikel geven we een kort overzicht van wat MySQL is en hoe het werkt. Daarna zullen we onderzoeken hoe je de prestaties van MySQL kan tunen met behulp van vier essentiële tips.

Laten we beginnen!

Wat MySQL is en hoe het werkt

Dynamische websites slaan informatie op in databases, een mooie term voor een complexe structuur van tabellen met enorme hoeveelheden informatie. Databases stellen je in staat variabelen op te slaan zodat je deze middels een verzoek, oftewel request, kan “opvragen” wanneer je informatie nodig hebt. Wanneer je bijvoorbeeld een WordPress website laadt, maakt het Content Management System (CMS) verbinding met de database om de benodigde informatie te krijgen.

Als WordPress om een of andere reden geen verbinding kan maken met de database, kun je fouten tegenkomen zoals “MySQL Server Has Gone Away” of “MySQL 1064“. MySQL is open-source software waarmee je databases kunt maken en beheren.  Het is verre van het enige databasebeheersysteem dat online beschikbaar is. Het domineert echter wel in termen van marktaandeel, waarbij ongeveer 15% van alle websites het gebruikt.

MySQL marktaandeel
MySQL marktaandeel

Er zijn verschillende benaderingen voor databasebeheer en MySQL gebruikt ‘relationele’ en ‘client-server’ modellen. Dit is wat dat betekent:

  • Relationele databases — Dit type database verdeelt informatie in tabellen. Dankzij het relationele model kun je gegevens uit meerdere tabellen verbinden met behulp van “sleutels” of unieke identifiers.
  • Client-servermodel — Bij dit model bevindt je database zich op de server en is je website de client. Browsers doen verzoeken aan je website, die op zijn beurt de database doorzoekt.

Omdat MySQL opensource software is, zijn er veel forks beschikbaar. Hier bij Kinsta gebruiken we bijvoorbeeld MariaDB, een afsplitsing van MySQL. We hebben ervoor gekozen om MariaDB te gebruiken omdat het betere prestaties biedt dan de moedersoftware.

Als je een Kinsta gebruiker bent, hoef je je geen zorgen te maken over het uitvoeren van een MySQL prestatie-tune, aangezien wij deze voor je afhandelen.

Leren hoe je MySQL zelf sneller kunt laten werken, is echter nog steeds een waardevolle vaardigheid, vooral als je webhost niet voor optimalisatie zorgt. Laten we het hebben over wat die optimalisatie inhoudt.

4 tips voor het tunen van MySQL prestaties

Als je WordPress gebruikt en wilt leren hoe je MySQL sneller kunt laten werken, kun je je het beste niet concentreren op specifieke configuraties. In plaats daarvan wil je je database afstemmen op hoe je WordPress gebruikt. Laten we het hebben over wat dat betekent.

1. Houd je versie van MySQL up-to-date

De meeste webhosts werken MySQL automatisch voor je bij naar de nieuwste versie. Als je echter volledige controle hebt over je server, moet je je databasebeheersysteem handmatig bijwerken. Aangezien je WordPress gebruikt, begrijp je waarschijnlijk de voordelen van het up-to-date houden van software. Er zijn veel voordelen van het tunen van MySQL prestaties, zoals:

  • Nieuwere versies repareren beveiligingsgaten in de software.
  • De nieuwste versies van MySQL zijn beter geoptimaliseerd en dus sneller.

Snellere databasebeheersoftware vertaalt zich rechtstreeks in lagere laadtijden. Het kan echter zijn dat je niet weet welke versie van MySQL je gebruikt. Als je volledige toegang tot jwserver hebt, kun je de opdrachtregel starten en de volgende opdracht uitvoeren:

mysql -v

De parameter -v retourneert informatie over de versie van MySQL die je server gebruikt. Je kunt die informatie vergelijken met de nieuwste releases op de officiële MySQL website om te kijken of er nieuwere versies beschikbaar te zien. Als je niet vertrouwd bent met het gebruik van de opdrachtregel, kun je via het WordPress dashboard achterhalen welke MySQL versie je gebruikt.

Ga eerst naar het dashboard en ga naar Tools > Site Health. Open vervolgens het tabblad Info en klik op Database:

De MySQL versie in WordPress controleren.
De MySQL versie in WordPress controleren.

Afhankelijk van jouw versie van MySQL, wordt de software mogelijk automatisch bijgewerkt. Als dit niet het geval is, kun je de opdrachtregel gebruiken om MySQL bij te werken naar de nieuwste versie. Als je Kinsta gebruikt, hoef je je geen zorgen te maken over het updaten van de databasebeheersoftware. In plaats daarvan werken wij klanten automatisch bij naar de nieuwste stabiele versie van MariaDB.

2. Controleer je database op overbodige tabellen (ook wel orphaned tabellen)

Vaak laten de plugins en sitethema’s die je van je website verwijdert gegevens achter. Dat kan te wijten zijn aan slechte coderingspraktijken, of omdat de plugins/thema’s besluiten die gegevens op te slaan voor het geval je ze opnieuw wilt installeren. Het idee achter deze aanpak is dat het achterlaten van instellingen en configuraties die in je database zijn opgeslagen, je tijd en werk bespaart.

Al die ongebruikte tabellen kunnen echter leiden tot een opgeblazen database. Dit kan er weer voor zoeken dat verzoeken trager worden behandeld, afhankelijk van de mogelijkheden van je server. Idealiter ruim je op nadat je plugins hebt verwijderd, waarmee je kan voorkomen dat overbodige tabellen en gegevens zich ophopen. Er zijn twee manieren waarop je die taak kunt uitvoeren: handmatig of met een plugin.

Zodra je een backup hebt, heb je via phpMyAdmin toegang tot je database. Als je een Kinsta gebruiker bent, log dan in op je MyKinsta dashboard en ga naar Websites. Selecteer de site waaraan je wilt werken en ga naar het tabblad Info. Daar vind je een link die je via phpMyAdmin direct toegang geeft tot je database:

Toegang tot phpMyAdmin via MyKinsta.
Toegang tot phpMyAdmin via MyKinsta.

Zodra je je in phpMyAdmin bevindt, kan je de Zoek functie van de software gebruiken om overbodige tabellen te vinden die verband houden met specifieke plugins. Het probleem met deze methode is dat het moeilijk kan zijn om te weten welke queries je moet gebruiken, tenzij de plugin die je probeert op te ruimen uitgebreide documentatie heeft.

Yoast SEO raadt bijvoorbeeld aan om de wpseo query te gebruiken om tabellen te vinden die verband houden met de plugin, nadat je deze hebt verwijderd. Als je een snelle zoekopdracht uitvoert met phpMyAdmin, wordt een lijst met vermeldingen met die term in verschillende tabellen geretourneerd:

Op zoek naar vermeldingen met betrekking tot Yoast SEO in je database.
Op zoek naar vermeldingen met betrekking tot Yoast SEO in je database.

Hoewel de handmatige methode werkt, raden we je aan om een ​​plugin voor het opschonen van databases te gebruiken. Met sommige van deze plugins kun je zelfs overbodige tabellen vinden vanuit het dashboard en ze verwijderen zonder door phpMyAdmin te hoeven graven.

3. Bepaal welke gegevens MySQL automatisch wordt geladen

Elke WordPress database bevat een breed scala aan tabellen. Een van die tabellen heet wp_options en bevat informatie zoals:

  • Instellingen voor plugins en thema’s
  • Je site URL, blognaam, beschrijving en meer

Als je de tabel wp_options controleert met phpMyAdmin, zie je een kolom met de naam autoload. WordPress controleert op rijen met een yes entry onder autoload en laadt die gegevens vervolgens telkens wanneer iemand je website bezoekt en een van de pagina’s bezoekt:

Wp_options controleren voor automatisch laden van gegevens.
Wp_options controleren voor automatisch laden van gegevens.

Standaard zou WordPress alleen kritieke gegevens automatisch moeten laden. Sommige plugins en thema’s voegen echter gegevens toe aan wp_options en configureren deze om automatisch te laden. Na verloop van tijd kan het automatisch laden van gegevens de reactietijden vertragen, net alsof je te veel programma’s hebt ingesteld om automatisch te starten wanneer je je computer aanzet.

Als je WordPress website traag aanvoelt en je veel plugin gerelateerde items in wp_options kunt zien, raden we je aan te kijken hoeveel gegevens automatisch worden geladen in WordPress en te bepalen welke plugins je je kunt veroorloven om uit te schakelen.

4. Ruim revisies, concepten, weggegooide opmerkingen en berichten op

Terwijl je WordPress gebruikt, verzamelt je website veel ongebruikte gegevens. WordPress slaat bijvoorbeeld automatisch verschillende revisies en concepten voor je berichten op, afhankelijk van het aantal wijzigingen dat je erin aanbrengt. Na verloop van tijd kunnen al die gegevens je database doen opblazen, dus het is een goede gewoonte om die entries regelmatig op te schonen. De beste manier om dit te doen is met een plugin, zoals Advanced Database Cleaner:

De Advanced Database Cleaner WordPress-plug-in.
De Advanced Database Cleaner WordPress-plugin.

Je hoeft voor deze taak niet de premium versie van de plugin te gebruiken (in tegenstelling tot het omgaan met overbodige tabellen). Nadat je de plugin hebt ingeschakeld, kun je naar het tabblad WP DB Cleaner gaan en het gedeelte General cleanup  bekijken. Daar vind je een volledige lijst van alle tijdelijke gegevens die de plugin je kan helpen verwijderen uit de database:

Advanced Database Cleaner gebruiken om je database op te schonen.
Advanced Database Cleaner gebruiken om je database op te schonen.

Je kunt selecteren welke tabellen je wilt “opschonen” of leegmaken en dan het proces vervolgens handmatig uitvoeren. Als alternatief kun je met de plugin opschoningen inplannen voor de tabellen die je kiest, en deze configureren om periodiek te worden uitgevoerd. Die laatste optie is je beste keuze – het betekent dat je je om een taak minder zorgen hoeft te maken. We raden je echter aan om het opschonen van de database niet te vaak opnieuw te configureren. Op die manier heb je nog steeds toegang tot eerdere concepten voor het geval je ze nodig hebt.

Samenvatting

Er zijn veel voordelen van het tunen van MySQL prestaties. De belangrijkste reden waarom je je database wilt optimaliseren, is echter om de prestaties te verbeteren, zodat je website altijd zo snel mogelijk laadt. Aangezien je WordPress gebruikt, zijn er veel manieren om een ​​MySQL prestatie-tune uit te voeren zonder de configuratie van de software te wijzigen. Als je wilt weten hoe je MySQL sneller kunt laten werken, volgen hier vier tips om je op weg te helpen:

  1. Houd je versie van MySQL up-to-date.
  2. Controleer je database op overbodige tabellen.
  3. Bepaal welke gegevens MySQL automatisch laadt.
  4. Ruim revisies, concepten, weggegooide berichten en opmerkingen op.

Heb je nog andere tips voor het finetunen van MySQL databases? Deel ze alsjeblieft met onze community in de reacties hieronder!

Salman Ravoof

Salman Ravoof is een autodidactische webdeveloper, schrijver, creator en een groot bewonderaar van Free and Open Source Software (FOSS). Naast techniek is hij enthousiast over wetenschap, filosofie, fotografie, kunst, katten en eten. Lees meer over hem op zijn website en kom in contact met Salman op X.