sql >> Database teknologi >  >> RDS >> Sqlserver

Måler du SQL Server-ydeevne med disse metrics?

Applikations- og systemydelse spiller en stor rolle for, hvordan en bruger opfatter dit produkts værdi og din virksomheds kompetence. Hvis den samme side konstant timeout, eller det tager evigheder at få adgang til en kritisk rapport, vil dit databasesystems ydeevne skabe et tillidsproblem for din organisation.

Høj tilgængelighed og pålidelig ydeevne er nøglen til at holde kunder og interne systembrugere glade, og de kan endda påvirke din bundlinje. Med disse mål i tankerne er implementering af en omfattende SQL Server-ydelsesovervågningsstrategi et must.

Fordele ved SQL Server Performance Monitoring

Den mest almindeligt omtalte fordel ved præstationsovervågning er nem fejlfinding og løsning af problemer. Et velkonfigureret SQL Server-overvågningsværktøj er det mest effektive middel til at finde og rette server- og databaseproblemer hurtigt, før de påvirker slutbrugerne eller bliver til store, dyre problemer.

Ud over at vedligeholde systemets sundhed kan implementering af SQL Server-ydelsesovervågning hjælpe med at holde dine infrastrukturomkostninger nede. Et eksempel er unødvendige lagerudgifter. Når SQL Server-ydeevne er optimeret, overvåges filstørrelsesvæksten kontinuerligt. En overdreven stigning i filstørrelsen udløser en advarsel, så problemet kan løses, før diskpladsen er opbrugt, og der kastes yderligere ressourcer på problemet.

Og hvis du vælger en cloud-baseret overvågningsløsning, kan du øge ROI endnu mere ved at sige farvel til udgifterne til bolig og vedligeholdelse af fysiske servere.

Spor disse metrics for at forbedre din SQL Server-ydeevne

Vi ved, at overvågning af SQL Server-ydelse er en fantastisk strategi til at løse problemer og spare penge, men du får ikke det fulde udbytte af dit SQL Server-overvågningsværktøj, medmindre du sporer de rigtige målinger. For at få optimal ydeevne fra SQL Server er her fem områder, du gerne vil se, og de vigtigste metrics at spore fra hver.

1. Buffer cache

Buffercachen gemmer kopier af nyligt brugte databasesider. SQL Server kigger først i cachen, men hvis den ikke finder det, den leder efter der, går den til disken. Læsning fra disken er langsom, hvilket kan påvirke ydeevnen negativt.

Cache-hitforhold

Cache hit ratio viser, hvor ofte SQL Server tilgår sider fra cache. Højere værdier indikerer, at siderne blev tilgået fra hukommelsen og ikke fra disken. Hvis du konsekvent ser et lavt cache-hitforhold, skal du kontrollere, om der er en flaskehals i systemhukommelsen.

Forventet sidelevetid

Overvågning af sidens forventede levetid viser, hvor længe en side forbliver i hukommelsen i stedet for at gå til disk. Jo længere forventet levetid for siden er, jo bedre er cache-hitforholdet.

Kontrollpunktssider/sek.

SQL Server opsætter kontrolpunkter for at frigøre plads i buffercachen ved periodisk at tømme ændrede sider fra bufferen til disken. Antallet af skyllede sider afhænger af konfigurationsindstillinger og serverbrug, så det er vigtigt at indstille en baseline til sammenligning. Hvis du bemærker en stigning i antallet af sider, der skylles, kan du have et I/O-problem.

2. Indekser

Databaseindekser hjælper med at fremskynde operationer i tabeller med mange poster. Selvom indekser er et nyttigt værktøj til at forbedre nogle databasefunktioner, er der iboende problemer med indekser, som kan forringe ydeevnen, hvis de ikke fanges hurtigt.

Fragmentering

Indeksfragmentering opstår, når poster tilføjes og slettes. Over tid forårsager disse ændringer ydeevneproblemer ved at efterlade for meget tom plads på for mange sider og tilføje nye sider ude af drift. Dette kan sænke scanninger og bruge for meget hukommelse.

Overvågning af indeksfragmentering vil fortælle dig, hvornår du skal køre Rebuild eller Reorganize på et indeks for at rette op på fragmenteringen og forbedre ydeevnen.

Fyldfaktor og sideopdelinger

Fyldfaktorindstillingen lader dine indekser vide, hvor fuld hver side skal være. Hvis en side er for fuld, opstår der sideopdelinger; hvis en side ikke er fuld nok, spilder du ressourcer.

Sporing af sideopdelinger kan hjælpe med at identificere, hvornår en fyldfaktorjustering er nødvendig. For den bedste ydeevne skal du ikke angive en systemdækkende fyldfaktorværdi. Evaluer individuelle indekser og indstil fyldfaktoren på et passende niveau for hver.

3. T-SQL

For at optimere ydeevnen batcher SQL Server SQL-sætninger, kompilerer dem derefter til udførelsesplaner og cacher dem til genbrug. Hvis SQL Server ikke kan genbruge eksekveringsplanen, bliver planen genkompileret, hvilket bruger meget CPU og forringer ydeevnen. Derfor er det bedst at holde antallet af SQL-sætningsrekompileringer så lavt som muligt.

Overvågningshastigheder for SQL-kompilering og genkompilering vil vise, om du skal omkonfigurere nogle områder, såsom lagrede procedurer og forespørgselsparametre.

4. Blokering

SQL Server-blokering er forårsaget af flere klienter og processer, der anmoder om adgang til de samme ressourcer på samme tid. Hvis en ressource allerede bruges, er adgangen låst, og ressourcen er utilgængelig for efterfølgende anmodninger. Dette sætter processen i bero, indtil ressourcen er frigivet og tilgængelig igen.

Lås venter

Forespørgsler behøver normalt ikke at vente på låse, så denne metrik bør forblive omkring nul. En stigning i låseventer indikerer et problem med indlæsningstiden, så du bliver nødt til at spore årsagen til problemet.

Blokerede processer

Sporing af blokerede processer er en god måde at undgå en masse e-mails, der informerer dig om en blokeret proces. Brug SQL Server Profiler til at fange data om blokerede processer og gennemgå rapporten regelmæssigt.

5. Ressourceforbrug

Sporing af ressourceforbrugsmålinger er en effektiv måde ikke kun at lokalisere ydeevneproblemer, men også til at hjælpe med kapacitetsplanlægning.

Rækketæller

Overvågning af rækkeantal giver direkte, let sporbar indsigt i mængden af ​​data, der er knyttet til en bestemt tabel over tid. En uventet stigning eller et fald i rækkeantallet bør foranledige en undersøgelse af årsagen.

Databasefil I/O

Ved at måle I/O-metrikker mod databasefiler kan du spore, hvor meget data der skrives og læses af en given datafil. Hvis du observerer et potentielt problem, kan denne metrik hjælpe med at indsnævre den grundlæggende årsag. Sporing af databasefil I/O hjælper også med infrastrukturplanlægning, fordi det kan hjælpe dig med at forudsige fremtidig datagennemstrømning og justere ressourcer i overensstemmelse hermed.

Transaktionslog-backupstørrelse

Når en server går ned på grund af overbelastning, bruger SQL Server databaselogposterne, der er gemt i virtuelle logfiler (VLF'er) til at gendanne. Det er vigtigt at overvåge, hvor mange VLF'er, der er i transaktionsloggen, fordi for mange kan sænke gendannelsesprocesserne, når de gendannes efter en fejl.

SQL Server-ydelsesovervågning er en afgørende komponent i en organisations kvalitetskontrolstrategi. Sporing af nogle få nøgleresultater kan give dig et ry for at give dine brugere et system, de kan stole på og stole på; Hvis du undlader at gøre det, kan dit system bare blive endnu en buggy-applikation, som brugere frygter.


  1. Fejlretning af private procedurer

  2. Indsæt flere rækker i SQLite-fejl (fejlkode =1)

  3. Sådan genereres testdata i SQL Server

  4. Brug af MySQLi fra en anden klasse i PHP