Blog | Arxus

DTU's berekenen voor je Azure SQL database | Arxus

Geschreven door Cloud Custodian | Apr 29, 2024 10:00:00 AM

In de wereld van cloud computing heeft Microsoft Azure zich stilaan ontpopt als één van de belangrijkste hostingplatformen voor SQL-databases. Maar om ervoor te zorgen dat ze optimaal presteren, sta je vaak voor een extra uitdaging: het juiste DTU-niveau kiezen voor je database-migratie. Benieuwd hoe wij dat aanpakken? Laten we dat eens van dichterbij bekijken.

Azure SQL-databases zijn volledig beheerde relationele opslagunits, die een waaier aan opties bieden voor je bedrijf. Om topprestaties en een optimaal resourcegebruik te kunnen garanderen, werken Azure SQL-databases met een eigen meeteenheid: Database Transaction Units (DTU).

 

DThuh?

Database Transaction Units, of kortweg DTU's, zijn een gecombineerde meeteenheid die je een volledig beeld geven van de performance-capaciteit van je Azure SQL Database. Microsoft heeft deze praktische eenheden ontworpen om het jou een stuk makkelijker te maken om het juiste performance-niveau te kiezen voor je database. Kort gezegd, omvatten DTU's drie belangrijke resources: CPU, geheugen en data-I/O.

 

Waarom is een DTU-berekening belangrijk?

Azure SQL-databases hebben verschillende performance-tiers met telkens verschillende DTU-niveaus. Jouw workload en performance-eisen bepalen welke tier het meest geschikt is voor jouw database. Maar hoe weet je nu welke het beste past bij jou? Door een genuanceerde DTU-berekening uit te voeren, op basis van drie componenten:

  • CPU: De verwerkingscapaciteit die je database nodig heeft om queries en transacties uit te voeren.
  • Geheugen: De hoeveelheid RAM die je nodig hebt om gegevens efficiënt te cachen en te verwerken.
  • Data-I/O: De input/outputbewerkingen per seconde (IOPS). Dit heb je nodig om gegevens te raadplegen en op te halen uit je opslag.

Door het juiste DTU-niveau te kiezen, kan je de performance optimaliseren, zonder te veel resources te verbruiken. Om je bij die keuze te helpen, heeft Microsoft een handige Azure SQL DTU Calculator ontworpen. Deze tool houdt rekening met verschillende belangrijke factoren, zoals je transactievolume, de complexiteit van je query en de omvang van je data.

 

Aan de slag met de DTU Calculator

Om exact te berekenen hoeveel DTU's je nodig hebt, raden we je aan om een SQLTest op te zetten. Daarmee kan je een real-life workload simuleren. En een zo nauwkerig mogelijke meting doen.

We hebben de SQL-testserver geïnstalleerd op een virtuele machine (8 vCPU, 32 GB RAM) en een database aangemaakt. Vooraleer de test ten einde loopt, hebben we snel een aantal grote bestanden gekopieerd om wat I/O te genereren. Zodra dit klaar is, kan je de Command Line Utility downloaden voor de Azure DTU-berekening. Je pakt vervolgens het ZIP-bestand uit en voert de sql-perfmon.cmd uit om de Performance Monitor (PerfMon) counters te starten. Daarna druk je op een willekeurige toets om te beginnen met loggen:

Nu zie je dat er een User Defined Data Collector Set in de PerfMon aan het lopen is. Laat dat gewoon even z'n gang gaan en kom over een uurtje terug. Zoek daarna naar het CSV-bestand in "C:\PerfLogs/Admin". En upload het naar de Azure SQL Database DTU Calculator. Nu alleen nog het aantal vCPU's van je machine invullen en op "Calculate" drukken.

Klaar om de resultaten te bekijken?

 

De uitkomst analyseren

In het geval van onze test tonen de resultaten aan dat wij goed zitten met een Standard - S4.

Wil je liever wat meer details? Je kan voor elk van de drie belangrijkste resources ook een geschatte berekening raadplegen.

CPU

Iops

Log

Wanneer je naar de grafieken van de afzonderlijke componenten kijkt, kan je een diepgaandere vergelijking maken tussen de verschillende service- en performance-niveaus. Volgens de algemene berekeningen zijn onze databases het beste af met een Standard - S3. Maar die dekt slechts 95,28% van het hele gebruik. Dus wanneer je workload piekt, kan er wat vertraging ontstaan. De specifiekere grafieken, daarentegen, wijzen uit dat een Premium - P1 beter past, omdat die bijna 100,00% van de CPU, 99,73% van de iops en 99,19% van het loggebruik dekt.

Met andere woorden, afhankelijk van de omvang van je werklast, zou je kunnen kiezen tussen de S3 en P1 tier. Het is dus zeker de moeite om de hele berekening grondig te analyseren.

 

Je DTU's checken en aanpassen

De Azure SQL Database DTU Calculator is een goed startpunt. Maar als je database eenmaal draait, raden we je aan om de performance regelmatig te controleren. Azure biedt daarvoor robuuste monitoring tools aan om je te helpen het verbruik van je resources bij te houden en mogelijke knelpunten te identificeren. Als je op performance-problemen stoot of als je workload verandert, kan je het DTU-niveau altijd aanpassen om een optimale resource allocation te behouden.

Samengevat: dankzij de uniforme meeteenheid voor je CPU, geheugen en data-I/O, maakt een Azure SQL DTU-berekening je resource provisioning een stuk makkelijker. En door te begrijpen hoe deze componenten de performance van je database beïnvloeden, kan je altijd de juiste performance tier kiezen voor je workloads.

 

Vragen voor ons?

Hulp nodig om de uitkomst van je DTU-berekening te interpreteren? Of wil je jouw workloads migreren naar Azure? Onze experts staan helemaal klaar om al je uitdagingen aan te pakken. En bieden deskundig advies, op maat van jouw bedrijf.