Problemen met databaseprestaties zijn niet ongewoon. Gelukkig is er meestal een redelijk intuïtieve oplossing voor de meeste problemen. Het belangrijkste dat een DBA kan doen om problemen snel op te lossen en de prestaties van SQL Server te verbeteren, is ervoor te zorgen dat uw strategie voor prestatiebewaking up-to-date is en is afgestemd op uw databasebewakingsbehoeften. Als dat niet het geval is, is het tijd om actie te ondernemen.
De eerste stap naar het verbeteren van uw databasemonitoring is het beoordelen van uw huidige situatie. U weet niet waar uw monitoring ontbreekt of dat monitoring uw prestatieproblemen verbetert als u geen nulmeting van uw startpunt uitvoert.
Om uw prestatiebasis in te stellen, moet u de gezondheid van uw SQL Server-databases beoordelen door uzelf een paar vragen te stellen:
Zijn zoekopdrachten geoptimaliseerd? Slecht presterende query's zijn een zekere manier om de prestaties te vertragen. Er zijn veel trucs die u kunt proberen om uw zoekopdrachten op te schonen, maar uw beste optie is om een query-optimalisatieprogramma te implementeren dat uw zoekopdrachten analyseert en herschrijft totdat er een wordt gevonden die sneller is.
Zijn indexen in goede staat? Correct uitgevoerd indexeren zou het ophalen van gegevens moeten versnellen. Er zijn echter enkele veelvoorkomende problemen die de prestaties kunnen vertragen, waaronder inefficiënte instellingen voor de vulfactor en paginasplitsingen. De beste manier om deze prestatieproblemen te voorkomen, is door geen systeembrede vulfactorwaarde in te stellen en de behoeften van elke index afzonderlijk te bekijken.
Zijn veel gegevens gefragmenteerd? Gefragmenteerde gegevens beïnvloeden de prestaties doordat er te veel lege ruimte op een pagina wordt geplaatst of doordat er pagina's worden toegevoegd. De server moet de gefragmenteerde gegevens scannen en zoeken, waardoor de database langzaam draait. Rebuild of Reorganize uitvoeren kan fragmentatie opruimen.
Is er iets dat de CPU aan het eten is? Databases vertragen wanneer de CPU wordt belast door meerdere bronnen. Beoordeel de CPU-belasting en beslis of het probleem is dat u meer CPU moet toevoegen of dat er inefficiënte bronnen zijn die meer CPU gebruiken dan zou moeten.
Zodra u een momentopname van de startlijn hebt, heeft u een beter idee van de soorten monitoringverbeteringen waarop u zich moet concentreren. Hier zijn vijf manieren waarop u uw SQL Server-databasebewaking kunt verbeteren.
1. Beoordeel uw bewakingsintervallen en verwijder gegevens zo vaak mogelijk
Tools voor prestatiebewaking bieden eindeloze keuzes voor welke statistieken moeten worden gecontroleerd, wanneer gegevens moeten worden opgehaald en hoe lang de gegevens moeten worden bewaard. Als u meerdere instanties bewaakt, is de hoeveelheid gegevens die u verzamelt potentieel enorm (en duur om op te slaan).
Om uw gegevens beheersbaar te houden, verzamelt u gegevens niet vaker dan nodig is en bewaart u gegevens alleen lang genoeg om trends te herkennen. Zodra je iets interessants hebt vastgelegd, archiveer of verwijder je de gegevens.
2. Controleer of uw zoekopdrachten efficiënt worden uitgevoerd
Er zijn veel plaatsen waar prestatieproblemen zich kunnen verbergen in SQL Server. Omdat databasetoepassingen regelmatig SQL-query's uitvoeren, is het beoordelen van de status van uw query's een goede plek om problemen op te lossen.
Als u bijvoorbeeld controleert hoe query's in de loop van de tijd presteren, kunt u eventuele query's isoleren die meer resources gebruiken dan normaal. Zodra u problematische zoekopdrachten hebt geïdentificeerd, kunt u elke zoekopdracht uitvoeren om de specifieke oorzaak van het probleem te achterhalen en deze te corrigeren.
3. Perfmon-tellers en instellingen bekijken
SQL Server Performance Monitor (Perfmon) is een waardevol hulpmiddel dat DBA's helpt zwakke punten in hun SQL Server-databases te isoleren. Met Perfmon kunt u prestatiemeteritems instellen voor elk van uw servers om CPU-knelpunten, schijfprestaties, geheugenproblemen en nog veel meer te identificeren.
Dit artikel van Brent Ozar legt uit hoe u aan de slag kunt gaan met Perfmon en beschrijft enkele best practices.
4. Configureer uw waarschuwingen op basis van ernst
Hoewel er veel waarschuwingsconfiguraties beschikbaar zijn, is het het beste om selectief te zijn bij het configureren van waarschuwingen, zodat u niet bezwijkt voor waarschuwingsmoeheid. Een goede vuistregel is om waarschuwingen in te stellen voor problemen met ernstgraad 17 of hoger en voor foutmeldingen 823, 824 en 825, met andere woorden, die problemen die ertoe kunnen leiden dat uw servers offline gaan, ernstige gegevensbeschadiging of gegevensverlies.
5. Profiteer van alle alarmbeheerfuncties die uw SQL Server-tool voor prestatiebewaking biedt
SQL Server-bewakingsoplossingen bieden een breed scala aan beheerfuncties. Neem de tijd om de functies van uw tool te leren kennen en zorg ervoor dat u het meeste uit uw investering haalt.
Enkele functies om naar te zoeken die u zullen helpen uw prestatiebewakingsproces te verbeteren, zijn:
Regels: Hiermee kunt u aanpassen welke alarmen worden geactiveerd en wanneer
Diagnose: Vertelt u dat er een probleem is en biedt vervolgens mogelijke oplossingen
Prioriteiten voor problemen: Richt uw aandacht eerst op de meest ernstige problemen
Mobiele meldingen: Hiermee kunt u altijd en overal toegang krijgen tot alarmen, deze beoordelen en beginnen met triageren
Ruisonderdrukking: Helpt u alarmmoeheid te voorkomen door alleen die meldingen te ontvangen die u nodig heeft