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

Top 10 ofte stillede spørgsmål om SQL Server Performance Monitoring

SQL Server-ydelsesovervågning anses af mange databaseadministratorer for at være deres vigtigste ansvar. Da dårligt ydende servere kan have en negativ indvirkning på ikke kun interne operationer, men også kundevendte applikationer, er sporing af SQL-ydelse og hurtig afhjælpning af problemer afgørende for virksomhedens succes og rentabilitet.

Efterhånden som flere organisationer henvender sig til SQL Server, leder DBA'er i stigende grad efter ressourcer til at hjælpe dem med at implementere en solid præstationsovervågningsstrategi. Der er en overflod af dokumentation tilgængelig for at hjælpe DBA'er med at komme i gang med deres SQL Server-ydelsesovervågning, men der er et par universelle spørgsmål, næsten alle DBA'er ønsker et hurtigt svar på. Her er svar på 10 af de hyppigst stillede spørgsmål om SQL Server-ydelsesovervågning.

Hvad er overvågning af SQL Server-ydelse?

Hovedformålet med overvågning af SQL Server-ydelse er at sikre ensartet ydeevne og høj tilgængelighed af SQL Server-instanser. Ydeevneovervågning er en todelt proces, og begge dele er afgørende for at holde dit system oppe og køre optimalt:

  • Overvågning: Spor en bred vifte af ydeevnemålinger mod forudindstillede tærskler for at identificere unormal adfærd og give en mekanisme til at informere DBA med alarmer, der er specifikke for problemet og giver tilstrækkelig kontekst til at starte diagnosticeringsprocessen.

  • Diagnostik: Den arbejdsgang og værktøjer, der kræves for at fastslå kilden til et præstationsproblem, og de data, der kræves for at afhjælpe det umiddelbare problem.

  • Root-årsagsanalyse: Indsigten til at se ud over symptomerne og identificere underliggende problemer, der udløste problemet og kan få det til at opstå igen.

  • Trendanalyse: Se på ydeevne over længere perioder. Brug trendanalyse til at identificere problemer, før de opstår, så skeln mellem engangsproblemer og tilbagevendende problemer eller for at undersøge grænserne for arbejdsbyrden over tid. Sidstnævnte kan bruges til at forudsige fremtidige infrastrukturbehov, informere konsolideringsindsatsen eller rette størrelse til planlagt skymigrering.

Hvilke værktøjer til overvågning af databaseydeevne er bedst?

Antallet af databaser en DBA er ansvarlig for gør manuel overvågning og diagnostik upraktisk - måske endda umuligt. Heldigvis er de nyeste softwareløsninger til overvågning af ydeevne udstyret med et væld af funktioner, der gør overvågning af ydeevne overskuelig, selv i stor skala:

  • Effektiv alarmstyring: At prioritere alarmer betyder, at du kan tackle de store problemer først og ignorere falske alarmer.

  • Omfattende diagnostik: De bedste værktøjer til overvågning af ydeevne giver dig mulighed for at dykke dybt ned i diagnostik. At vide, at der er et problem, er ikke nær så nyttigt som at vide, hvordan man løser det.

  • Hurtig tid til værdi: Hver instans indsamler hundredvis af metrics, og det bliver hurtigt dyrt at gemme dem på stedet. Overvej en af ​​SaaS-ydelsesovervågningsløsningerne for omkostningsbesparelser og skalerbarhed.

  • Analyse: Robuste analyser er en vigtig skelnen mellem præstationsovervågningsværktøjer. For at få maksimal indflydelse på ydeevnen skal du vælge et værktøj, der giver omfattende metrics for arbejdsbelastning, forespørgselsplan, rodårsag til alarm og blokering.

  • Historisk datasporing: Se efter et præstationsovervågningsværktøj, der gemmer historiske data. Dette vil fremskynde fejlfinding, fordi du vil vide, om et problem er tilbagevendende, og hvordan problemer spores over tid.

  • Tuning og forespørgselsplanoptimering: Et værktøj med indbygget kunstig intelligens vil gøre dig i stand til at finjustere forespørgsler og optimere dem til en bestemt instans.

  • Sundhedstjek: Sundhedstjek overvåger SQL Servers vitale tegn for at fortælle dig, at du muligvis har et problem – nogle gange før problemet overhovedet eksisterer.

Hvis du vil have et værktøj med alle de funktioner, der er diskuteret ovenfor, skal du se til en af ​​de cloud-drevne SQL Server-ydelsesovervågningsløsninger. Uovertruffen med hensyn til skalerbarhed, fleksibilitet og pris giver disse overvågningsværktøjer en sikker platform til overvågning af ydeevne, der opfylder ethvert behov.

Hvad er den bedste måde at optimere overvågning af databasens ydeevne på?

En af de bedste måder at optimere præstationsovervågning på er automatisering. Automatisering af almindelige opgaver – såsom overvågning af diskplads, inspektion af fejllogfiler og verifikation af databasesikkerhedskopierne – vil sikre, at disse opgaver er fuldført, hvilket giver DBA mere tid til at udføre arbejde af højere værdi.

Derudover kan du implementere følgende for at optimere din SQL Server-ydelsesovervågning:

  • Mobilovervågning: Mobil overvågning er tilgængelig fra dine Android- og iOS-enheder. Ved at levere varmekort, smarte alarmer og alarmlister giver mobil ydelsesovervågning dig mulighed for at diagnosticere problemer og begynde triage hvor som helst.

  • Tuning og forespørgselsoptimering: Ydeevnejustering giver dig mulighed for at visualisere, analysere og optimere dine SQL-forespørgsler og eksekveringsplaner ved at fremhæve de mest omkostningskrævende operatører, tilbyde foreslåede rettelser til problemer og omskrive/optimere dine forespørgsler og forespørgselsplan.

  • Sundhedstjek: Sundhedstjek hjælper dig med at optimere din præstationsovervågning ved at lokalisere sundhedsproblemer inden for hver SQL Server-instans, herunder lange ventetider og I/O-latens. Sundhedstjek giver også historiske data, så du kan spore ydeevneproblemer over tid.

Hvordan skal jeg vælge et SQL Server-overvågningsværktøj?

Der er to hovedovervejelser, når du beslutter dig for et SQL Server-ydelsesovervågningsværktøj.

Hvilken slags værktøj leder du efter?

Der er tre primære typer præstationsovervågningsværktøjer at overveje:

  • Tilpasset/indbygget internt: I dette tilfælde skal du huske på, at bare fordi du kan gøre noget, betyder det ikke altid, at du skal. Ja, du kan sammensætte et internt præstationsovervågningsværktøj til at indsamle metrics ved hjælp af PerfMon, spor, DMV'er og XEvents. Men ulemperne opvejer langt fordelene ved at tage denne vej. Det er ikke skalerbart, så efterhånden som dine forekomster øges, lider dine præstationsovervågningskapaciteter. Det er heller ikke muligt at overvåge alle de ting, du skal se for at sikre optimal SQL Server-ydeevne. Når du først begynder at indsamle data, skal du gemme dem et sted, for at det er nyttigt, og det kan blive dyrt. Bundlinjen - er det mere værdifuldt for dig at bruge din dyrebare tid på at opbygge og vedligeholde et præstationsovervågningsværktøj eller at bruge det på at rette og justere missionskritiske arbejdsbelastninger.

  • Gratis/åben kildekode: Dette er potentielt et bedre valg end at skabe din egen præstationsovervågningsløsning, men der er stadig begrænsninger. Selvom du opnår en smule tilpasning, mangler du stadig bred dækning og forudkonfigureret advarsel. Du skal også stadig sørge for din egen datalagerplads. Det er en kompleks proces at bygge et værktøj, der effektivt kan fange store mængder ydeevnedata uden at påvirke den overvågede server, indstille de passende tærskler for hundredvis af metrikker, administrere store mængder data indsamlet og derefter holde dette opdateret fra én version af SQL-server til den næste. Fokuser din tid på at løse problemer og ikke opbygge præstationsovervågningssystemer. Hvis du er afhængig af fællesskabsopdateringer, kan understøttelse af nye versioner af en databaseplatform forsinke dens udgivelse.

  • Kommerciel: Kommercielle SQL-ydeevneovervågningsværktøjer tilbyder en række funktioner og tilpasningsniveauer, og mange er overraskende overkommelige. Kommercielle værktøjer letter præstationsovervågning med muligheder såsom sundhedstjek, alarmstyring, præstationsdiagnostik og mobile overvågningsfunktioner – funktioner, du ikke får fra gratis værktøjer eller dem, der er bygget internt.

Hvad er dine behov for dit specifikke miljø?

Inden du vælger et præstationsovervågningsværktøj, skal du stille dig selv disse spørgsmål for at hjælpe dig med at finde det værktøj, der opfylder dine specifikke behov:

  • Hvor mange forekomster vil du overvåge?

  • Er de samlokaliseret eller spredt?

  • Er de on-premise eller i skyen (eller begge dele)?

  • Har du råd til et engangsbeløb for infrastruktur og licenser, eller skal du fordele omkostningerne?

  • Har du tilgængelige infrastruktur- og databaseinstanser til at dedikere til et overvågningsværktøj?

  • Har du tid eller ressourcer internt til at opbygge og vedligeholde overvågningsinfrastruktur?

  • Har værktøjet evnen til at dissekere arbejdsbyrden på flere dimensioner øjeblikkeligt, for at spare dig for timers tid med scripting?

  • Er der en smart mulighed for at parse gennem dataene og hjælpe dig med at identificere specifikke problemer?

  • Giver værktøjet øjeblikkelig diagnostik, bedste praksis eller diagnose til den relevante drill down?

Hvad er den bedste måde at overvåge databasens ydelse?

Der er flere tegn på, at din SQL Server er usund, herunder:

  • Generel afmatning af arbejdsbyrden

  • Forbindelses-/forespørgselstimeouts

  • Overdreven CPU-brug

  • Hukommelsestryk

  • For stor I/O-læse-/skriveforsinkelse

  • Overdreven transaktionslog eller TempDB-størrelse

Hvis du bemærker nogen af ​​disse symptomer, er det tid til at konfigurere sundhedstjek for at få dit system tilbage til den højeste ydeevne. Nogle indledende trin, du kan tage for at identificere årsagen til ydeevneproblemer, omfatter:

  • Etablering af en præstationsbaseline og måling i forhold til den

  • Bekræftelse af sikkerhedskopier

  • Kontrollerer for manglende indekser

  • Bestemmelse af, hvilken procentdel af arbejdsbyrden, der er fra ad hoc-forespørgsler

Hvad er de bedste målinger til overvågning af SQL Server-ydelse?

Der er hundredvis af metrics, du kan måle for at hjælpe dig med at spore og forbedre ydeevnen, men der er et par standouts, der bør være en del af enhver SQL Server-vedligeholdelsesplan. Her er et par af de vigtigste områder, du skal overvåge, og de målinger, du vil holde øje med:

  • Indekser. Indekser er en hyppig kilde til problemer med ydeevnen, fordi databaser er i konstant forandring. Data tilføjes og fjernes, og indekser ændres og slettes, alt sammen medvirkende til dårlig ydeevne. Disse er de metrics, du skal se:

    • Fyldfaktor
    • I/O
    • Fragmentering
  • Buffer-cache. Det er vigtigt at konfigurere buffercache for at optimere længden af ​​den tid, sider forbliver der uden at overdrive det og hogge hukommelse, der er nødvendig andre steder. Disse er de metrics, du skal se:

    • Forventet sidelevetid
    • Buffercache-hitforhold
  • T-SQL. I stedet for at køre SQL-sætninger ad hoc, batcherer SQL Server dem, kompilerer dem til en eksekveringsplan og cacher dem, og genkompilerer sætningerne efter behov. Overdreven kompilering og re-kompilering kan forringe ydeevnen. Disse er de metrics, du skal se:

    • SQL-kompilationer
    • SQL-genkompilationer
  • Andre metrics at se nøje:

    • Låser ventetider og blokerede processer
    • CPU-brug

Hvad er almindelige problemer i overvågning af databaseydeevne?

Ydeevneflaskehalse

Ydeevneflaskehalse manifesterer sig som langsomme eller ikke-responsive databaser. Flaskehalse kan være vanskelige at lokalisere, fordi de kan være hukommelses-, lager- eller processorrelaterede. Der er dog et par steder, du bør kigge efter problemer først:

  • WRITELOG ventetid
  • NESTED LOOP JOIN
  • TempDB-påstand

Lav forventet sidelevetid (PLE)

Lav PLE skader ydeevnen, fordi SQL Server er nødt til at gå til disken oftere for at finde datafiler, hvilket tager meget længere tid end at læse dem fra buffercachen.

Fragmentering

Tjek dine indekser for overdreven fragmentering. SQL Server-ydeevne lider, når den skal søge på spredte og delvist fyldte sider for at finde data.

Hvordan skal jeg konfigurere mit overvågningssystem for databaseydeevne?

Når du har besluttet dig for en SQL Server-ydelsesovervågningsløsning, er det tid til at få den op at køre. Selvom du måske ønsker at dykke ned i alle de skinnende nye funktioner med det samme, vil det at tage et skridt tilbage og gribe processen metodisk til med at sikre, at du får mest muligt ud af dit system. Her er nogle tips til, hvordan du kan bruge dit nye præstationsstyringsværktøj:

  • Beslut hvilke tilfælde der har mest brug for din opmærksomhed

  • Kør gennem forudsætningerne

  • Kend dine systemkrav

  • Download installationsprogrammet

  • Tilføj forbindelser

Hvilke forespørgsler kan jeg bruge til overvågning af SQL-serverens ydeevne?

De forespørgsler, du bruger til præstationsovervågning, vil variere baseret på de metrics, du sporer. Detektering af hukommelsesproblemer, vurdering af indeksdefragmentering og identificering af uacceptable ventetider er sandsynligvis øverst på hver DBA's tjekliste for præstationsovervågning. Microsofts SQL Server-dokumentation indeholder detaljer for en række forespørgsler, der hjælper dig med at implementere din plan for præstationsovervågning:

  • Hukommelsesbrug

  • Indeksdefragmentering

  • Vent statistik

Hvad er den bedste praksis for overvågning af databaseydeevne?

Nogle mennesker er uenige i udtrykket "bedste praksis", men når det kommer til overvågning af SQL Server-ydelse, er der ingen argumenter for, at der er visse ting, en DBA skal gøre for at holde systemet sundt og brugerne glade.

Gør indeksvedligeholdelse til en prioritet

At negligere dine indekser er en sikker måde at generere præstationsproblemer på. Indekser er kilden til almindelige præstationsdræbere, inklusive fragmentering og sideopdelinger.

Kend din arbejdsbyrde

Det er svært at vide, hvornår du har et problem, hvis du ikke ved, hvordan "normalt" ser ud. Brug lidt tid på at lære din arbejdsbyrde at kende ved at stille spørgsmål som:

  • Hvornår er dette tilfælde den travleste?

  • Hvilke applikationer bruger denne instans?

  • Hvornår var den sidste backup?

  • Har denne instans kendte ydeevneudfordringer?

Vælg et præstationsovervågningsværktøj, der opfylder dine specifikke behov

Før du forpligter dig til et SQL Server-ydelsesovervågningsværktøj, skal du først definere dine behov. Når du først forstår, hvad du forsøger at opnå med dit præstationsovervågningsværktøj, kan du trygt finde en løsning med de funktioner, der opfylder dine krav.

Find og ret ydeevneflaskehalse

Tydelige symptomer på flaskehalse i ydeevne inkluderer brug af for meget hukommelse, lange ventetider, indeksfragmentering og for mange eller for få indekser. At finde og rette disse flaskehalse hurtigt er en af ​​DBA's primære opgaver. Den bedste måde at holde databasens ydeevne på topniveau er at implementere et præstationsovervågningsværktøj, der hjælper dig med nemt at lokalisere og afhjælpe ydeevneflaskehalse og andre kilder til ydeevneforringelse.


  1. Optimering af TempDB:Undgå flaskehalse og præstationsproblemer

  2. MariaDB CEIL() Forklaret

  3. Hvordan caster jeg json-array til tekst-array?

  4. Integrering af ServiceNow med Oracle Identity Cloud Service (IDCS)