Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door Wouter Tinus

Databaseserver en -software vergelijking

MySQL query cache en multi-client

MySQL 5.0 bleek verrassend goede resultaten op te leveren, maar de snelste machine die we beschikbaar hadden kwam niet aan zijn top met maar ťťn cliŽnt die om pagina's aan het vragen was. De server kon kennelijk dus sneller antwoorden geven dan de cliŽnt ze kon verwerken. Om die reden hebben we een tweede testmachine geconfigureerd, zodat er iets meer druk op de servers gelegd kon worden. Het resultaat is hieronder zichtbaar gemaakt:

Serverplatformvergelijking Q1 06: MySQL 5.0 - Single-client vs. multi-client - Query rate
Serverplatformvergelijking Q1 06: MySQL 5.0 - Single-client vs. multi-client - CPU Idle

Het vermoeden dat er nog meer uit MySQL 5.0 te halen was met meerdere cliŽnts bleek te kloppen: de piek kwam voor de dual Opteron 280 (2,4GHz dualcore) op 4131 queries per seconde te liggen, tegenover 3576 queries met ťťn cliŽnt. Ook de gemiddelde query rate steeg met 11%. De Opteron 254 (2,8GHz singlecore) weet ook nog een aardig voordeel uit de tweede cliŽnt te halen, wat doet vermoeden dat het sowieso beter is voor de prestaties van een database om meerdere cliŽnts in te zetten. Het leeuwendeel van de benchmarks in dit artikel is nog uitgevoerd met ťťn cliŽnt, maar dat is dus een les die is geleerd. Zoals te zien is aan de belastingsgrafiek zitten de processors zelfs met twee cliŽnten nog steeds niet aan hun absolute maximum. Er zitten ergens anders dus nog bottlenecks in het systeem, maar het is niet duidelijk waar precies. De harde schijven leken in ieder geval niet echt een beperkende factor te zijn: de leessnelheid bedroeg gemiddeld slechts 600KB/s.

* Query cache

Een van de redenen waarom MySQL zo goed werkt voor websites is het query cache. Het resultaat van een zoekopdracht wordt door deze functie tijdelijk vastgehouden, zodat er de volgende keer dat dezelfde opdracht gegeven wordt niet opnieuw gezocht hoeft te worden. Het cache staat standaard aan en is dus ook overal in de benchmarks gebruikt.

Een query cache is echter lang niet altijd evenveel nuttig: het komt natuurlijk het best tot zijn recht in een read-only omgeving, maar als er ongeveer even veel geschreven als gelezen wordt heeft het nauwelijks effect. Tweakers.net valt net als de meeste andere websites in een categorie applicaties die in databasetermen 'read-mostly' genoemd wordt: het grijze gebied tussen read-only en read-write in. De database spendeert het grootste deel van zijn tijd aan het lezen van data, maar moet af en toe ook dingen bijwerken (afhankelijk van welke tabel tientallen tot duizenden keren per dag). In verhouding tot ruim een miljoen pageviews die stuk voor stuk meerdere lees-queries nodig hebben is het aantal schrijfacties dus klein, maar toch kan het cache hierdoor niet optimaal werken. Iedere keer als er is iets veranderd moeten de queries namelijk wťl opnieuw uitgevoerd worden.

Dat de feature toch nog flinke winsten oplevert blijkt uit onderstaande test van een dual Xeon 3,8GHz waarbij het cache als experiment is uitgeschakeld: bij een concurrency van 1 tot en met 3 halveert het aantal queries per seconde zowat, een vrij dramatische val ten opzichte van dezelfde configuratie met cache. Omdat we query cache verder overal aan hebben staan hebben we niet verder doorgetest tot en met een concurrency van 50, maar het is in ieder geval iets om in het achterhoofd te houden.

Serverplatformvergelijking Q1 06: MySQL 5.0 - Invloed Query Cache

Apple iPhone XS HTC U12+ dual sim LG W7 Google Pixel 3 XL OnePlus 6 Battlefield V Samsung Galaxy S10 Google Pixel 3

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True