Dit stak developer Edwin op tijdens de opleidingsdag over SQL Server

We vinden het belangrijk dat onze mensen up-to-date blijven met wat er evolueert in de IT-sector, zodat ze top blijven in hun job. Daarom organiseerden we in april een opleiding over SQL Server voor onze developers. Edwin woonde de online sessie bij en maakte heel wat notities. Hij deelt ze graag, voor al wie ook professioneel bezig is met of geïnteresseerd is in programmeren en SQL Server.

In deze opleiding gaf Pieter Vanhove, Solution Architect bij Microsoft en SQL expert, een overzicht van de beschikbare tools en methodes om performantie te monitoren, bottlenecks te identificeren en queries te optimaliseren. Hij deed dit exclusief voor alle geïnteresseerde Novado-collega's.

Performantie monitoren & bottlenecks identificeren

In de voormiddag ging het over monitoring & performance issues. Verschillende aspecten kwamen hierbij aan bod:

Monitoring SQL server components:

  • Hoe wordt de server gebruikt/belast, ook over de tijd heen?
  • Wat wil je monitoren en wat zijn de monitoring goals?
    • responstijd, SQL queries (opbouw, efficiëntie etc), throughput,…
    • Wanneer je dit bepaald hebt, kan je beslissen welke monitoring tool je wil/kan gebruiken en welke componenten en metrics je gaat hanteren om de uiteindelijke analyse te maken.

Establish a performance baseline:

  • Om de analyse zinvoller te maken, is het goed om vooraf een monitoring baseline op te zetten.
  • Deze baseline moet het volgende bevatten:
    • page life expectancy
    • cpu
    • disk i/o
    • db file sizes
    • wait statistics

Identify and analyze bottlenecks:

  • CPU usage
  • Disk usage
  • Memory usage
  • User connections
  • Blocking locks

Al deze zaken werden toegelicht tijdens een demo door middel van handige scripts. Ook de First Response Kit (Brent Ozar) kwam aan bod.

Task execution model:

  • Uitleg over hoe SQL server een taak uitvoert en wat de totale tijd van een query inhoudt.
  • Een taak bestaat uit 1 van de 3 states:
    • cpu time (running state)
    • signal wait time (runnable state, wachten op cpu)
    • resource wait time (suspended state, wachten op i/o of mem
    • Deze 3 samen samen bepalen de total query time.

Performance monitoring and tuning tools:

  • Error log
  • Extended events:
    • Ter vervanging van de klassieke SQL Server Profiler (= te vermijden)
  • Dynamic management views
  • Activity monitor
  • Live query statistics:
    • Live het query plan zien dat de server aan het gebruiken is
    • Eventuele bottlenecks worden hierbij onmiddellijk duidelijk.
  • Performance dashboard
  • Query store:
    • Tracking van queries over de tijd, inclusief query plan en statistieken.
    • Het voordeel hiervan is dat het persistent is, in tegenstelling tot de DMV's die alle informatie verliezen bij server restart.
    • De query store dient manueel aangezet en ingesteld te worden in de properties, per database.
  • System stored procedures
  • System monitor

Queries optimaliseren

‘s Namiddags lag de focus op het optimaliseren van queries. De volgende aspecten kwamen aan bod:

  • Indexes
  • Statistics
  • Partitioned tables
  • In-memory OLTP
  • Intelligent query processing
  • Query store
  • Column store indexes

Edwin: “Het was een zeer praktische sessie, waardoor ik hetgeen ik geleerd heb vroeg of laat effectief zal kunnen toepassen in mijn job als developer. Ik vind het goed dat ik door mijn werkgever gestimuleerd word om mee te blijven en bij te leren, want alles verandert zo snel. Het zorgt ervoor dat ik mijn job goed kan blijven uitoefenen. Dat geeft mij veel voldoening en het maakt dat ik met plezier kom werken!”

Bram Van Impe, general Manager Novado: “Binnen Novado maken we er een punt van om op elk moment bij te leren, op alle niveaus. Enerzijds doen we dit on the job door gebruik te maken van innovatieve technologie, en anderzijds naast/buiten de job. Dat kan door middel van externe opleidingen – wat we sterk aanmoedigen – en ook door in company-opleidingen of e-learnings. Zolang we maar blijven leren en dagelijks stappen vooruit zetten! Zo zetten we ‘continuous improvement’ om in de praktijk. We kijken er alvast naar uit om de uitdagingen van morgen aan te gaan met de verfrissende ideeën en inzichten die we tijdens al deze leermomenten opdoen.”

Ben jij een expert in digitale innovatie en wil je ook werken bij een bedrijf dat je alle kansen geeft om jezelf te ontwikkelen? De toffe werksfeer krijg je er sowieso bij! Check onze vacatures.