Sisukord peida

1. Sissejuhatus SQL Server Performance Monitor

1.1 Mis on SQL Server Jõudlusmonitor?

SQL Server Jõudluse jälgimine on protsess, mille käigus jälgitakse, analüüsitakse ja hallatakse teie seadme jõudlust ja tervist. SQL Server andmebaasid. See hõlmab teie andmebaasisüsteemi erinevate aspektide kohta andmete kogumist ja tõlgendamist, et tagada optimaalne jõudlus, ennetada probleeme ja säilitada andmebaasi tervis.

Toimivuse jälgimine hõlmab päringute täitmisaegade, ressursside kasutamise, indeksi jõudluse, blokeerimise ja ummikseisude ning andmebaasi kasvumustrite jälgimist. See pidev järelevalve aitab administraatoritel tuvastada võimalikke probleeme enne, kui need mõjutavad kasutajaid või äritegevust.

1.2 Toimivuse jälgimise peamised eelised

Tõhus SQL Server Jõudlusmonitoril on mitmeid olulisi eeliseid:

  • Ennetav probleemide tuvastamine: Tuvastage ja lahendage potentsiaalsed probleemid enne, kui need mõjutavad kasutajaid või äritegevust
  • Toimivuse optimeerimine: Tuvastage kitsaskohad ja ebatõhusused, et parandada andmebaasi üldist jõudlust
  • Võimsuse planeerimine: Prognoosige ressursivajadust ja planeerige tulevast kasvu ajalooliste andmete põhjal
  • Vastavus ja turvalisus: Tagage regulatiivsete nõuete järgimine ja tuvastage kahtlaseid tegevusi

1.3 Levinumad jõudlusprobleemid

Ilma korraliku SQL-andmebaasi jõudlusmonitorita seisavad organisatsioonid silmitsi mitmete riskidega:

  • Ootamatu seisak, mis häirib äritegevust
  • Rakenduse kehv jõudlus mõjutab kasutajakogemust
  • Andmete kadumine või riknemine
  • Ebaefektiivne ressursside kasutamine, mis põhjustab tarbetuid kulusid
  • Pettunud kasutajad ja võimalik tulude vähenemine

IDC 2023. aasta uuringu kohaselt tuleneb 65% andmebaasi jõudlusprobleemidest halbadest jälgimis- või optimeerimispraktikatest.

2. Windowsi jõudlusmonitori (PerfMon) mõistmine

2.1 Mis on Windowsi jõudlusmonitor?

Windowsi jõudlusmonitor (PerfMon) on sisseehitatud Windowsi tööriist, mis jälgib süsteemiressursse ja rakenduste jõudlust. Näiteks SQL Server administraatoritele pakub PerfMon hindamatut teavet nii operatsioonisüsteemi kui ka SQL Server mõõdikud, mistõttu on see igakülgse tulemusanalüüsi jaoks hädavajalik.

Windowsi jõudlusmonitor (PerfMon)

PerfMon mõõdab jõudlusstatistikat regulaarsete intervallide järel ja salvestab selle statistika failidesse hilisemaks analüüsiks. Andmebaasi administraatorid saavad valida ajavahemiku, failivormingu ja jälgitava statistika. Tööriist ei ole... SQL Server-spetsiifiline – süsteemiadministraatorid kasutavad seda Windowsi enda, Exchange'i, failiserverite ja kõigi rakenduste jälgimiseks, millel võib esineda kitsaskohti.

2.2 Jõudlusmonitori käivitamine

Performance Monitori saab käivitada mitmel viisil:

  1. Click Avaleht, kirjuta perfmon otsingukastis klõpsake otsingutulemustes valikul „Performand Monitor”:
    Otsi ja käivita PerfMon Windowsi otsingukastist.
  2. press Windows + R, kirjuta perfmonja vajutage sisene
    Käivitage PerfMon Windowsi käivitusaknast.
  3. Liigu juhtpaneel -> Süsteem ja turvalisus -> Administrative Tools -> Performance Monitor
    Käivita PerfMon juhtpaneelilt -> Süsteem ja turvalisus -> Administraatori tööriistad -> Jõudlusmonitor

3. oluline SQL Server Jõudlusloendurid

3.1 Mälu jõudlusloendurid

Mäluloendurid on jälgimise jaoks kriitilise tähtsusega SQL Server jõudlust, kuna need näitavad, kas teie andmebaasil on piisavalt mäluressursse.

Saadaval olevad megabaitides

See loendur näitab kohe eraldamiseks saadaoleva füüsilise mälu hulka. See peaks jääma üsna konstantseks ja ideaaljuhul mitte langema alla 4096 MB. Madalad väärtused võivad viidata sellele, et SQL Servermaksimaalse mälu seadistus jääb vaikesäteteks või mitte-SQL Server rakendused tarbivad mälu.

Lehe eluiga

Lehe eluiga mõõdab, kui kaua (sekundites) leht puhverbasseinis viibib ilma, et sellele viidataks. Normaalväärtus on 300 sekundit või rohkem. Madalamad väärtused näitavad mälukoormust ja liigset puhvri käivet, mis vähendab vahemälu efektiivsust.

Puhvri vahemälu tabamuste suhe

See loendur näitab SQL-puhvri vahemälu (mälu) abil vastatud andmepäringute protsenti kettalt lugemise asemel. Tavaliselt on see 99% või suurem. Madalamad väärtused viitavad sellele, et SQL Server vajab rohkem mälu või soojeneb pärast taaskäivitamist ikka veel.

Mälutoetused ootel

See näitab protsesside arvu, mis ootavad mälu hõivamist. SQL ServerTavatingimustes peaks see väärtus olema pidevalt 0. Kõrgemad väärtused näitavad ebapiisavat mälu eraldamist. SQL Server.

Sihtserveri mälu vs serveri kogumälu

Target Server Memory näitab ideaalset mälumahtu. SQL Server soovib kasutada. Serveri kogumälu näitab, kui palju SQL Server praegu kasutab. Nende väärtuste suhe peaks olema ligikaudu 1. Olulised erinevused võivad viidata mälukoormusele või ebapiisavale mälule.

3.2 Protsessori jõudlusloendurid

Protsessori loendurid aitavad tuvastada protsessori kitsaskohti ja mõista, kuidas SQL Server kasutab arvutiressursse.

Protsessori aja %

See mõõdab protsessori poolt mittejõudeolekus lõimede käitamisele kulunud aja protsenti. Aktiivsetes serverites võivad väärtused tõusta kuni 100%-ni, kuid pidev kasutus üle 70–75% viitab tavaliselt kasutajate jõudlusprobleemidele. Puuduvad või ebapiisavad indeksid põhjustavad sageli suurt protsessori kasutust.

% privilegeeritud aega

Protsessori aeg jaguneb kasutajarežiimi ja privilegeeritud (tuuma) režiimi töötlemiseks. Kogu kettale juurdepääs ja sisend/väljund toimub tuuma režiimis. Kui see loendur ületab 25%, teeb süsteem tõenäoliselt liiga palju sisend/väljundit. Normaalväärtused jäävad vahemikku 5–10%.

Protsessori järjekorra pikkus

See loendur näitab protsessoriressursse ootavaid lõime. Väärtused on pidevalt üle 1 (välja arvatud ajal, mil SQL Server varunduskompressioon) näitavad protsessori koormust. See tähendab sageli, et arvutisse on installitud ka teisi rakendusi SQL Server masin, mis rikub parimaid tavasid.

Kontekstivahetused sekundis

See mõõdab, kui sageli protsessor lõime vahetab. Liigne konteksti vahetamine võib mõjutada jõudlust ja viitab suurele süsteemikoormusele.

3.3 Ketta sisend-/väljundvõimsuse loendurid

Kettaloendurid on SQL-i jõudluse jälgimiseks hädavajalikud, kuna ketta sisend/väljund muutub sageli andmebaasisüsteemide peamiseks pudelikaelaks.

% Ketta aeg

See salvestab aja protsendi, mille jooksul ketas oli lugemis-/kirjutamistoimingutega hõivatud. Väärtused, mis püsivalt üle 85%, viitavad sisend-/väljundkitsaskohale. Kuna ketas on mälust palju aeglasem, parandab selle mõõdiku vähendamine jõudlust.

Keskmine kettaaeg sekundites lugemise ja kirjutamise kohta

Need loendurid mõõdavad lugemis- ja kirjutamisoperatsioonide keskmist aega (sekundites). Kui keskmised väärtused ületavad 10–20 ms, võtab ketta andmete töötlemine liiga kaua aega. Tehingute logi draivid vajavad eriti kiiret kirjutamisjõudlust.

Ketta järjekorra pikkus

See näitab ketta lugemise/kirjutamise pooleliolevaid päringuid. Pidevalt üle 2 (või RAID-massiivide puhul 2 ketta kohta) olevad väärtused näitavad, et ketas ei suuda I/O-päringutega sammu pidada.

Ketta baitid sekundis

See jälgib andmeedastuse kiirust kettale ja kettalt. Kui see ületab ketta nimimahtu, hakkavad andmed kuhjuma, mida näitab ketta järjekorra pikkuse suurenemine.

Kettaülekandeid sekundis

See jälgib kettale tehtud lugemis-/kirjutamistoimingute arvu. SQL Server Andmetele juurdepääs on tavaliselt juhuslik, mis on kettaseadme liikumise tõttu aeglasem. Veenduge, et see väärtus jääks alla teie kettaseadme maksimaalse nimivõimsuse (tavaliselt 100/s standardsete draivide puhul).

3.4 SQL Server Spetsiifilised loendurid

3.4.1 Puhvrihalduri loendurid

Puhvrihalduri loendurite jälgimine SQL Servermälupuhvri toimingud:

  • Lehekülge loetakse sekundis: Füüsilise andmebaasi lehekülgede lugemiste kumulatiivne arv
  • Lehe kirjutamise aeg sekundis: Füüsilise andmebaasi lehe kirjutamiste kumulatiivne arv
  • Laisk kirjutab sekundis: Laisa kirjutaja poolt mälu vabastamiseks kirjutatud puhvrite arv
  • Kontrollpunkti lehekülgi sekundis: Kontrollpunkti või muude toimingute käigus tühjendatud lehed, mis nõuavad kõigi määrdunud lehtede tühjendamist

3.4.2 SQL-i statistikaloendurid

Need loendurid annavad ülevaate SQL Server päringu töötlemine:

  • Paketttaotlusi sekundis: Serveri poolt vastuvõetud SQL-pakktaotluste arv. See toimib serveri aktiivsuse võrdlusalusena.
  • SQL-i kompilatsioonid sekundis: SQL-kompilatsioonide arv. Peaks olema 10% või vähem partiitaotluste koguarvust sekundis.
  • SQL-i uuesti kompileerimine sekundis: SQL-i uuesti kompileerimiste arv. Peaks olema ka 10% või vähem partiipäringute koguarvust sekundis.

3.4.3 Üldised statistikaloendurid

  • Kasutajaühendused: Süsteemiga ühendatud kasutajate arv. Kasutatakse võrdlusalusena ühenduste kasvu jälgimiseks aja jooksul.
  • Blokeeritud protsessid: Blokeeritud protsesside praegune arv. Ideaalis peaks see olema 0.

3.4.4 Mäluhalduri loendurid

  • Mälutoetused ootel: Tööruumi mälu eraldamist ootavate protsesside koguarv. Ideaalis peaks see olema 0.

4. Jõudlusmonitori seadistamine SQL Server(Windows Vista / Server 2008 ja uuemad)

Esiteks peame looma konteineri loendurite hõlpsamaks haldamiseks:

  • Windows Vista / Server 2008 ja uuemate versioonide puhul saate selles jaotises luua andmekogujate komplekte.
  • Windows XP / Server 2003 ja varasemate versioonide puhul saate loendurilogisid luua järgmine osa.

4.1 Mis on andmekogujate komplektid?

Andmekogumiskomplektid korraldavad jõudlusloendurid, sündmuste jälgimisandmed ja süsteemi konfiguratsiooniteabe ühte kogumisüksusesse. Need pakuvad rohkem paindlikkust kui lihtsad loendurilogid ja võimaldavad automatiseeritud, ajastatud andmete kogumist SQL-andmebaasi jõudluse põhjalikuks jälgimiseks.

4.2 Andmekogujate komplekti loomine

Loo jälgimiseks kohandatud andmekogujate komplekt SQL Server jõudlusloendurid:

  1. Ava jõudlusmonitor
  2. Laiendama Andmekogujate komplektid
  3. Paremklõpsake Kasutaja määratletud
  4. valima Uus -> Andmekoguja komplekt
    Loo PerfMonis uus andmekogujate komplekt
  5. Sisesta kirjeldav nimi (nt „SQL Server Toimivusnäitajad”)
  6. valima Käsitsi loomine (täiustatud)
    Määrake andmekogujate komplekti kirjeldav nimi
  7. Click järgmine
  8. Vaata Loo andmelogid -> Jõudlusloendur
    Valige uue andmekogujate komplekti loomise viisardis Loo andmelogid -> Jõudlusloendur.
  9. Click järgmine
  10. Click lisama loendurite valimiseks
  11. lisama soovitud SQL Server ja süsteemiloendurid.
    Lisage uude andmekogujate komplekti jõudlusloendurid.
  12. komplekt Proovi intervall
    • Rutiinse jälgimise korral kasutage 1 minutit (60 sekundit)
    • Aktiivse tõrkeotsingu jaoks kasutage 15–30 sekundit
    • Vältige pikaajalist suure sagedusega jäädvustamist, kuna see võib mõjutada jõudlust ja genereerida liigselt andmeid.

    Määrake uues andmekogujate komplekti viisardis valimi intervall.

  13. Click järgmine
  14. Valige logide salvestamise asukoht
    Määrake uue andmekogujate komplekti viisardis jõudlusandmete salvestamise asukoht.
  15. Click lõpp, luuakse uus andmekogujate komplekt.
  16. Vaikimisi uus andmekogujate komplekt EI käivitub automaatselt. Selle leiate vasakpoolsest paneelist jaotisest jõudlus -> Andmekogujate komplektid -> Kasutaja määratletud -> Teie andmekoguja, paremklõpsake sellel ja valige Avaleht
    Käivita PerfMonis uus andmekogujate komplekt.

4.3 Lisatavad võtmeloendurid

  • Mälu -> Saadaval olevad megabaitides
  • Füüsiline ketas -> Keskmine ketta sekundites/lugemine (kõik eksemplarid peale _Kokku)
  • Füüsiline ketas -> Keskmine ketta sekundites/kirjutamine (kõik eksemplarid peale _Kokku)
  • Füüsiline ketas -> Ketta lugemised sekundis (kõik eksemplarid peale _Kokku)
  • Füüsiline ketas -> Ketta kirjutamised sekundis (kõik eksemplarid peale _Kokku)
  • Protsessor -> Protsessori aja % (kõik eksemplarid peale _Kokku)
  • SQLServer: Üldine statistika -> Kasutajaühendused
  • SQLServer: Mäluhaldur -> Mälutoetused ootel
  • SQLServer: SQL-i statistika -> Pakktaotlused sekundis
  • SQLServer: SQL-i statistika -> SQL-i kompilatsioonid sekundis
  • SQLServer: SQL-i statistika -> SQL-i rekompileerimine sekundis
  • Süsteem -> Protsessori järjekorra pikkus

4.4 Peatamistingimuste seadistamine

Piiramatu andmemahu kasvu vältimiseks konfigureerige peatamistingimused:

  1. Pärast andmekogujate komplekti loomist paremklõpsake sellel ja valige Kinnisvara
  2. kliki Stopptingimus tab
  3. Võimaldama Kogukestus
  4. Määra kestuseks 1 päev (24 tundi)
  5. Click OK säästa

Andmekogujate komplekti peatamistingimuse määramine

See tagab, et logi ei kasva liiga suureks ja taaskäivitub automaatselt, kui see on ajastatud.

4.5 Andmete kogumise ajastamine

Automatiseerige andmete kogumine järjepideva jälgimise tagamiseks:

  1. Paremklõpsake oma andmekogujate komplektil ja valige Kinnisvara
  2. kliki Ajakava tab
  3. Click lisama uue ajakava loomiseks
  4. Alguskuupäeva ja -kellaaja seadistamine
  5. Määrake kordumise muster (nt iga päev)
  6. Click OK ajakava salvestamiseks

Andmekogujate komplekti ajakava määramine

Automaatseks käivitamiseks konfigureerige andmekogujate komplekt käivituma serveri käivitamisel, luues Windowsi ülesannete ajastaja abil käivituspäästiku.

5. Jõudlusmonitori seadistamine SQL Server(Windows XP / Server 2003 ja varasemad versioonid)

Windows XP / Server 2003 ja varasemate versioonide puhul saate luua loendurilogisid, mis võimaldavad teil valida jõudlusloendurite komplekti ja logida need perioodiliselt faili.

5.1 Loenduri logide loomine

Uue loenduri logi loomiseks toimige järgmiselt.

  1. Ava jõudlusmonitor
  2. Laiendama Toimivuslogid ja hoiatused vasakul paanil
  3. Paremklõpsake Loenduri logid
  4. valima Uued logiseaded
  5. Nimeta logi oma andmebaasiserveri nimega (nt „ProductionSQL01”).
  6. Click OK seadistamise alustamiseks

Iga serveri jaoks eraldi loendurilogide loomine võimaldab teil testida jõudlust üksikute serverite vahel ilma andmeid kõigi serverite kohta samaaegselt kogumata.

5.2 Jõudlusloendurite lisamine

Pärast loenduri logi loomist lisage konkreetsed jõudlusloendurid, mida soovite jälgida:

  1. kliki Lisa loendurid nupp
  2. Muutke arvuti nime nii, et see osutaks teie arvutile SQL Server Näiteks
  3. press Tab saadaolevate jõudlusobjektide laadimiseks
  4. Valige rippmenüüst jõudlusobjekt (nt Mälu)
  5. Valige konkreetsed loendurid järgmiste hulgast: nimekiri
  6. Valige vajadusel eksemplarid (nt üksikud protsessorid või kettad)
  7. Click lisama loenduri lisamiseks
  8. Korda kõigi soovitud loendurite puhul
  9. Click lähedal kui valmis

5.3 Prooviintervallide seadistamine

Prooviintervall määrab, kui sageli Performance Monitor andmeid kogub. Konfigureerige sobivad intervallid vastavalt oma jälgimisvajadustele:

  1. Leidke loenduri logi omadustest Näidisandmed iga
  2. Määrake intervall (vaikimisi on 15 sekundit)
  3. Baasjoone jälgimiseks kasutage igapäevaseks kogumiseks 1-minutilisi intervalle
  4. Veaotsinguks kasutage lühikeste impulsside jaoks 15–30-sekundilisi intervalle
  5. Click OK taotlema

Pea meeles, et lühemad intervallid genereerivad rohkem andmeid, mida võib olla raskem renderdada ja analüüsida. Suuremad intervallid võivad olulisi pikendusi vahele jätta. Tasakaalusta andmete detailsust salvestus- ja analüüsinõuetega.

5.4 Logifailide seadistamine

Logifaili õige konfiguratsioon tagab andmete tõhusa ja ligipääsetava salvestamise:

  1. kliki Logifailid vahekaart loenduri logi omadustes
  2. Muuda logifaili tüüp väärtuseks Tekstifail (komaga eraldatud) hõlpsaks Exceli importimiseks
  3. Click Seadistamine
  4. Määrake faili tee kindlasse asukohta (nt jagatud PerformanceLogs kausta)
  5. Click OK kinnitada

Kasutage logide salvestamiseks võrgu kaudu ligipääsetavat ühiskasutust, et saaksite failidele kaugjuurdepääsu ja neid teiste kasutajatega jagada.

5.5 Volituste seadistamine

Konfigureerige sobivad mandaadid, et Performance Monitor saaks kaugjuurdepääsu SQL Server juhtumid:

  1. Leidke loenduri logi omadustest Käivita kui
  2. Sisesta oma domeeni kasutajanimi järgmises vormingus: DOMAIN\kasutajanimi
  3. Click Sea parool
  4. Sisestage ja kinnitage oma parool
  5. Click OK säästa

See võimaldab PerfMoni teenusel koguda statistikat teie domeeniõiguste, mitte omaenda volituste abil.

6. Jõudlusmonitori andmete analüüsimine

6.1 Logifailide vaatamine jõudlusmonitoris

Jõudlusmonitor saab kuvada salvestatud logifailide ajaloolisi andmeid:

  1. Ava jõudlusmonitor
  2. Klõpsake vasakul paanil Jälgimisvahendid -> Performance Monitor.
  3. Paremklõpsake graafikuala suvalises kohas
  4. valima Kinnisvara
    Avage PerfMoni omadused, paremklõpsates graafiku alal.
  5. kliki allikas tab
  6. valima Logifailid raadionupp
  7. Click lisama
  8. Navigeeri oma logifailini (.blg või .csv)
  9. Valige fail ja klõpsake avatud
    Määra logifail PerfMonis graafika allikaks.
  10. Kasuta Ajavahemik liugurit, et valida periood, mida soovite analüüsida
  11. Click OK omaduste dialoogi sulgemiseks
  12. Logifailist loendurite lisamiseks klõpsake rohelist plussikooni
    PerfMoni logifailist loendurite lisamiseks klõpsake rohelist plussikooni.
  13. Valige kuvamiseks soovitud loendurid
    Lisa PerfMoni graafikale soovitud loendurid.
  14. Click OK

Graafik kuvab nüüd logifaili ajaloolised andmed. Kasutage omaduste atribuudis ajavahemiku liugurit, et täpsustada konkreetseid ajavahemikke üksikasjaliku analüüsi jaoks.

6.2 Andmete eksportimine Excelisse

Excel pakub jõudlusloenduri andmete jaoks võimsaid analüüsivõimalusi:

  1. Avage jõudlusmonitor koos laaditud logifailiga
  2. Paremklõpsake graafikuala suvalises kohas
  3. valima Salvesta andmed nimega
  4. Valige failile asukoht
  5. valima Tekstifail (komaga eraldatud) (.csv) rippmenüüst
  6. Click Säästa
  7. Ava CSV-fail Excelis

Ekspordi andmed PerfMoni faili.

Parema analüüsi saamiseks vorminda eksporditud andmeid:

  1. Kustuta pooltühi rida 2 ja tühjenda lahter A1
  2. Vorminda veerg A kuupäeva/kellaajana
  3. Vorminda numbrilised veerud nullide kümnendkohtade ja tuhandete eraldajaga
  4. Otsi ja asenda serveri nimesid päistes (nt asenda „\\SERVERINIMI” tühikuga)
  5. Puhasta päistes olevad objektinimed (nt „Mälu”, „Füüsiline ketas”, „Protsessor”)
  6. Parema nähtavuse tagamiseks vähenda päise fondi suurust 8 punktini

6.3 Loenduri väärtuste tõlgendamine

6.3.1 Mäluloenduri analüüs

Mäluloendurite analüüsimisel otsige järgmisi indikaatoreid:

  • Saadaval olevad megabaidid: Peaks püsivalt jääma üle 4096 MB
  • Lehe eluiga: Väärtused üle 300 sekundi näitavad head mälu. Madalamad väärtused viitavad mälukoormusele.
  • Puhvri vahemälu tabamuste suhe: Peaks vastama 99%-le või ületama seda. Madalamad väärtused näitavad liigset ketta lugemist.
  • Mälutoetused ootel: Peaks alati olema 0. Iga positiivne väärtus näitab mälu nälga.

6.3.2 Protsessori loenduri analüüs

Protsessori jõudlusnäitajate hulka kuuluvad:

  • Protsessori aeg (%): Püsiv kasutus üle 75% viitab jõudlusprobleemidele. Tõus 100%-ni on normaalne, kuid ei tohiks püsida.
  • Protsessori järjekorra pikkus: Väärtused üle 1 näitavad protsessori koormust. Kontrollige tegumihaldurit, et teha kindlaks, millised protsessid protsessori koormust tarbivad.
  • % privilegeeritud aega: Peaks jääma vahemikku 5–10%. Väärtused üle 25% viitavad liigsele sisend-/väljundtegevusele.

6.3.3 Kettaloenduri analüüs

Ketta jõudluse läved:

  • Keskmine ketta sekundites lugemise ja kirjutamise kohta: Peaks jääma alla 10–20 ms. Suuremad väärtused näitavad aeglaseid ketta alamsüsteeme.
  • Ketta järjekorra pikkus: Väärtused pidevalt üle 2 (või 2 ketta kohta RAID-is) viitavad sisend-/väljundkitsaskohtadele.
  • % Ketta aeg: Püsivad väärtused üle 85% näitavad ketta küllastumist

6.4 Valemite ja statistika kasutamine

Lisage Excelisse statistilisi valemeid kiireks analüüsiks:

  1. Lisa arvutustabeli ülaossa 7 tühja rida
  2. Lisa veergu A sildid: keskmine, mediaan, min, max, standardhälve
  3. Sisesta lahtrisse B2: =KESKMINE(B9:B100) (kohanda lahter B100 viimase andmerea järgi)
  4. Lahtrisse B3 sisestage: =MEDIAANS(B9:B100)
  5. Sisesta lahtrisse B4: =MIN(B9:B100)
  6. Sisesta lahtrisse B5: =MAX(B9:B100)
  7. Sisesta lahtrisse B6: =STDEV(B9:B100)
  8. Kopeeri valemid kõigisse loenduri veergudesse
  9. Paanide külmutamiseks valige lahter B9 ja vajutage klahvikombinatsiooni Alt+W+F+Enter

See statistika aitab tuvastada iga loenduri trende, kõrvalekaldeid ja normaalseid töövahemikke.

7. Logide jõudlusanalüüsi (PAL) tööriist

7.1 Sissejuhatus PAL-i

Performance Analysis for Logs (PAL) on Clint Huffmani loodud tasuta tööriist, mis analüüsib Performance Monitori logisid ja genereerib HTML-aruandeid läviväärtuste analüüsiga. PAL võrdleb teie jõudlusandmeid teadaolevate läviväärtustega ja pakub üksikasjalikke soovitusi SQL Server jõudluse optimeerimine.

Laadige PAL alla GitHubi hoidlast: https://github.com/clinthuffman/PAL Välislink

7.2 PAL-i seadistamine

PAL-i installimiseks toimige järgmiselt.

  1. Laadige PAL-i installifail alla GitHubist
  2. Käivitage installiprogramm
  3. Click järgmine tervitusekraanil
  4. Vaadake üle ja nõustuge installikataloogiga
  5. Click järgmine jätkama
  6. Click paigaldama installimise alustamiseks
  7. Oodake, kuni installimine lõpetatakse
  8. Click lõpp

7.3 Logifailide töötlemine PAL-iga

Analüüsige oma jõudlusmonitori logisid PAL-i abil:

  1. Käivitage PAL menüüst Start või installikataloogist
  2. kliki Loenduri logi tab
  3. Click Sirvi oma .blg-faili valimiseks
  4. Liikuge oma jõudlusmonitori logifaili juurde
  5. Click avatud
  6. kliki Lävifail tab
  7. Valige rippmenüüst läviväärtusfail (nt „SQL Server 2016 ”)
  8. kliki Küsimused tab
  9. Vastake küsimustele oma süsteemi konfiguratsiooni kohta
  10. Täpsustage, kas teie SQL Server on OLTP ehk andmeladu
  11. Sisestage saadaoleva RAM-i koguarv
  12. kliki Väljundi valikud tab
  13. Valige HTML-aruande väljundkataloog
  14. Vaata HTML väljundvorming
  15. kliki Täitma tab
  16. Vaadake oma valikud üle
  17. Vaata Alusta täitmist kohe
  18. Click lõpp

7.4 PAL-aruannete analüüsimine

Pärast PAL-i analüüsi lõpetamist genereerib see HTML-aruande, mis sisaldab järgmist:

  • Toimivusprobleemide lühikokkuvõte
  • Detailne loendurianalüüs koos diagrammidega
  • Värviliselt esile tõstetud lävendite rikkumised
  • Iga probleemi kohta konkreetsed soovitused
  • Ajaloolised trendid ja mustrid

Aruandes kasutatakse raskusastme tähistamiseks värvikoode: punane kriitiliste probleemide, kollane hoiatuste ja roheline heas seisukorras mõõdikute puhul. Vaadake iga jaotis üle, et mõista jõudluse kitsaskohti ja järgida PAL-i optimeerimissoovitusi.

8. Alternatiivne SQL Server Jälgimisvahendid

8.1 Sisseehitatud SQL Server TÖÖRIISTAD

8.1.1 SQL Server Activity Monitor

SQL Server Activity Monitor kuvab reaalajas teavet SQL Server protsessid ja jõudlus:

  1. avatud SQL Server Management Studio (SSMS) ja looge ühendus oma serveri eksemplariga
  2. Paremklõpsake Object Exploreris serveri nimel
  3. valima Activity Monitor
    Käivita aktiivsuse jälgimine SQL Server Juhtimisstuudio.

Aktiivsusmonitor näitab protsesse, ressursi ooteaegu, andmefailide sisend-/väljundtoiminguid ja hiljutisi kulukaid päringuid. See annab kiire ülevaate andmebaasi praegusest aktiivsusest, kuid ei salvesta ajaloolisi andmeid.

Aktiivsusmonitor sees SQL Server

8.1.2 SQL Server Jõudluse armatuurlaud

SQL Server Management Studio sisaldab sisseehitatud tulemuslikkuse aruandeid:

  1. In SQL Server Management Studio (SSMS), paremklõpsake ikooni SQL Server eksemplar objektide uurijas
  2. valima Aruanded -> Standardaruanded
  3. Valige saadaolevate aruannete hulgast, näiteks Jõudluse armatuurlaud
    Ava tulemuslikkuse juhtpaneel rakenduses SQL Server Juhtimisstuudio.

Toimivuse juhtpaneel annab visuaalse ülevaate SQL Server eksemplari jõudlus, sh süsteemi protsessori kasutus, ootel olevad päringud ja jõudlusnäitajad. Sellele pääseb ligi menüü Standardaruanded kaudu.

Toimivuse armatuurlaud SQL Server Juhtimisstuudio

8.1.3 SQL Server Profiler

SQL Server Profiler jäädvustab ja analüüsib SQL Server sündmused, näiteks päringute täitmine, tehingute toimingud ja sisselogimistegevused.

Alustama SQL Server profileerija:

  1. In SQL Server Management Studio, klõpsake TÖÖRIISTAD -> SQL Server Profiler
    Avaleht SQL Server Profileerija sees SQL Server Juhtimisstuudio.

Profiler tekitab märkimisväärse jõudluskoormuse, seega kasutage seda arukalt ja eelistatavalt väljaspool tipptundi. Enamiku stsenaariumide korral pakub laiendatud sündmused paremat jõudlust väiksema mõjuga.

SQL Server Profiler

8.1.4 Pikendatud sündmused

Laiendatud sündmused on sisseehitatud kerge jõudluse jälgimise süsteem SQL ServerSee asendab SQL Server Parema jõudluse ja väiksema üldkuluga profiilija.

Põhiomadused on järgmised:

  • Konkreetsete sündmuste peensustene jälgimine
  • Minimaalne mõju jõudlusele
  • Kohandatavad ürituste sessioonid
  • Integratsioon SSMS-i ja teiste tööriistadega
  • Toetus keerukale filtreerimisele ja agregeerimisele

Looge laiendatud sündmuste seansse SSMS-i kaudu:

  1. In Objektide uurija, laienda oma serverit ja mine aadressile Haldus -> Laiendatud sündmused -> Sessioonid
  2. Paremklõpsake nuppu Seansid Ja vali Uue seansi viisard
    Alusta uut laiendatud sündmuste seanssi SQL Server Juhtimisstuudio.
  3. Uue seansi alustamiseks järgige juhiseid.

8.1.5 Dünaamilised haldusvaated (DMV-d)

DMV-d pakuvad serveri oleku kohta üksikasjalikku teavet tervise jälgimiseks, probleemide diagnoosimiseks ja jõudluse häälestamiseks. Peamised DMV-d hõlmavad järgmist:

  • sys.dm_exec_query_stats: Päringu toimivuse statistika
  • sys.dm_os_wait_stats: Serveri jõudlust mõjutavad ootetüübid
  • sys.dm_os_performance_counters: SQL Server jõudlusloenduri andmed
  • sys.dm_exec_requests: Praegu taotluste täitmisel
  • sys.dm_exec_sessions: Aktiivsed kasutajaseansid

Reaalajas jõudlusandmetele ja ajaloolistele mõõdikutele juurdepääsuks esitage nendele vaadetele päringuid T-SQL-i abil.

Põhikasutus

-- See all active connections
SELECT * FROM sys.dm_exec_connections;

-- View current sessions
SELECT * FROM sys.dm_exec_sessions;

-- Check database file stats
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);

8.2 Kolmandate osapoolte jälgimislahendused

Redgate SQL Monitor

Redgate SQL Monitor on spetsialiseerunud monitooringule SQL Server ja Azure SQL-andmebaasi keskkonnad. See pakub kogu kinnisvara hõlmavat jälgimist, kohandatavaid teateid ja juhtpaneele, üksikasjalikke aruandlusvõimalusi ning integratsiooni teiste Redgate'i tööriistadega.

Redgate SQL Server Jälgida

SolarWinds SQL Server Seire tööriist

Päikesetuuled SQL Server Järelevalvetööriist, tuntud ka kui SQL Sentry, on loodud tõsiste jõudlusprobleemide diagnoosimiseks, lahendamiseks ja ennetamiseks SQL Server.

SolarWinds SQL Server Seire tööriist

IDERA omad SQL Server Jõudluse jälgimise tööriist

IDERA SQL-i diagnostikahaldur on võimas SQL Server jõudluse jälgimise tööriist, mis on loodud ennetava jõudluse jälgimise, diagnostika ja häälestamise abistamiseks.

IDERA omad SQL Server Jõudluse jälgimise tööriist

Rakenduste halduri SQL-i jälgimine

Rakenduste haldur pakub Microsofti SQL Server Järelevalvetööriist, mis pakub kasulikke IT-lahendusi. See on loodud jälgima SQL-i andmebaaside toimivust, tuvastades samal ajal vigu ja lahendades probleeme, mis võivad viia organisatsiooni tegevuse seiskumiseni.

Rakenduste halduri SQL-i jälgimine

8.3 Avatud lähtekoodiga jälgimistööriistad

DBA kriips

DBA Dash on tasuta avatud lähtekoodiga jälgimistööriist, mis annab ülevaate SQL Server tervis, jõudlus ja aktiivsus. See on eriti kasulik väikeste ja keskmise suurusega keskkondade jaoks ning hõlmab igapäevaseid andmebaasikontrolli, jõudluse jälgimist ja konfiguratsiooni jälgimist.

SQLWATCH

SQLWATCH pakub detsentraliseeritud, peaaegu reaalajas SQL Server 5-sekundilise täpsusega jälgimine töökoormuse järskude tõusude jäädvustamiseks. See toetab Grafanat reaalajas armatuurlaudade jaoks ja Power BI-d põhjaliku analüüsi jaoks. Tööriist pakub ulatuslikke konfiguratsioonivõimalusi, hooldusvajadust pole ja piiramatut skaleeritavust.

Operaator

Stack Exchange'i poolt väljatöötatud Opserver jälgib mitut süsteemi, sealhulgas SQL Server, Redis ja Elasticsearch. See pakub vaadet „kõik serverid” protsessori, mälu, võrgu ja riistvara statistika jaoks kogu teie infrastruktuuri ulatuses.

sp_Kes on aktiivne

sp_WhoIsActive on Adam Machanicu loodud terviklik tegevuste jälgimise salvestatud protseduur. See töötab kõigi SQL Server versioonid aastast 2005 kuni praeguste väljalaseteni ja seda kasutatakse laialdaselt SQL Server Reaalajas tegevuse jälgimiseks mõeldud andmebaasihaldurid (DBA-d).

sp_WhoIsActive'i kasutamiseks laadige see alla aadressilt http://whoisactive.com/, installige oma andmebaasi ja käivitage:

EXEC sp_WhoIsActive

Protseduur näitab hetkel töötavaid päringuid, ooteaega, blokeerimise üksikasju ja ressursikasutust.

9. Parimad tavad SQL Server Performance Monitor

9.1 Toimivusstandardite kehtestamine

Toimivusbaasid määravad teie ettevõtte normaalsed tööparameetrid. SQL Server keskkond. Ilma baasjooneta ei saa kindlaks teha, kas praegused mõõdikud viitavad probleemidele või esindavad tüüpilist käitumist.

Looge baasjooned järgmiselt:

  1. Toimivusandmete kogumine tavapärase töö ajal vähemalt ühe nädala jooksul
  2. Mõõdikute kogumine nii tipptundidel kui ka väljaspool tipptundi
  3. Tüüpiliste loendurite väärtuste dokumenteerimine
  4. Hooajaliste kõikumiste registreerimine, kui see on kohaldatav
  5. Baasandmete salvestamine võrdlemiseks tulevaste näitajatega

Uuendage baasjooni kord kvartalis või pärast olulisi infrastruktuuri muudatusi, rakenduste värskendusi või andmebaasi muudatusi.

9.2 Sobivate häirekünniste määramine

Seadistage intelligentsed läviväärtused, et saada olulisi märguandeid ilma end teadetega üle koormamata:

  • Mälutoetuste ootel > 0 näitab mälukasutust
  • Protsessori järjekorra pikkus > 2 tuuma kohta viitab protsessori kitsaskohale
  • Ketta sekundiline lugemine või kirjutamine > 20 ms näitab aeglast sisend-/väljundvõimsust
  • Blokeeritud protsessid > 5 signaalivad konkurentsiprobleeme
  • Lehe eluiga < 300 sekundit näitab mälukasutust

Kohandage lävendeid oma baasandmete ja konkreetsete töökoormuse omaduste põhjal. Kasutage adaptiivseid lävendeid, mis arvestavad teie keskkonna tavapäraseid kõikumisi.

9.3 Regulaarne andmete läbivaatamine ja analüüs

Planeerige regulaarseid tulemuslikkuse ülevaateid, et tuvastada trende ja tekkivaid probleeme:

  • Iga päev: vaadake üle üldised mõõdikud ja hiljutised märguanded
  • Iganädalane: tehke tulemuslikkuse suundumuste põhjalik analüüs
  • Igakuiselt: Loo põhjalikke aruandeid ja võrdle neid algtasemetega
  • Kvartalis: Läbivaadake võimsuse planeerimist ja pikaajalisi suundumusi

Dokumenteerige leiud ja jälgige aja jooksul tulemuslikkuse paranemist.

9.4 Tasakaalustamise jälgimise üldkulud

Jälgimine ise tarbib ressursse, seega tuleb andmete kogumine tasakaalustada jõudluse mõjuga:

  • Pideva jälgimise jaoks kasutage 30–60-sekundilisi intervalle
  • Kasutage aktiivse tõrkeotsingu jaoks ainult 15-sekundilisi intervalle
  • Andmekoguja piiramine Määrake kestus liigse andmemahu vältimiseks
  • Salvestage logid andmebaasifailidest eraldi ketastele
  • Vanade jõudlusandmete arhiveerimine hallatavate failisuuruste säilitamiseks

Õigesti konfigureerituna lisab jõudlusmonitor minimaalset üldkulu, tavaliselt alla 2% süsteemiressurssidest.

9.5 Andmete pikaajaline säilitamine

Säilitage jõudlusandmeid sisuka trendianalüüsi ja võimsuse planeerimise jaoks:

  • Säilitage vähemalt 1-2 aasta toimivusandmeid
  • Andmete arhiveerimine eraldi salvestuskohta 3–6 kuu pärast
  • Ruumi säästmiseks tihendage vanemaid logifaile
  • Dokumenteerige kõik olulised sündmused või muutused, mis mõjutavad tulemuslikkust

Arvestades jõudlusloenduri andmete suhteliselt väikest mahtu, on nende tähtajatu säilitamine sageli teostatav ja väärtuslik pikaajalise analüüsi jaoks.

9.6 DevOps-i tavadega integreerimine

Andmebaasi jõudluse jälgimise kaasamine CI/CD torujuhtmetesse:

  • Lisa juurutamise valideerimisse andmebaasi jõudlusnäitajad
  • Uute versioonide jõudlustestimise automatiseerimine
  • Veenduge, et koodimuudatused ei mõjuta jõudlust negatiivselt
  • Loo iga väljalaske jaoks toimivuse võrdlusnäitajad
  • Integreerige jälgimishoiatused intsidentide haldamise süsteemidega

10. Levinud jõudlusprobleemide tõrkeotsing

10.1 Protsessori kitsaskohtade tuvastamine

Protsessori kitsaskohad avalduvad aeglase päringule vastamise aegade ja protsessori kõrge kasutusena. Protsessori probleemide diagnoosimiseks toimige järgmiselt.

  1. Kontrollige protsessori järjekorra pikkuse loendurit. Väärtused üle 2 tuuma kohta näitavad protsessori koormust.
  2. Vaadake üle protsessori aja protsent. Püsivad väärtused üle 75% viitavad protsessori kitsaskohale.
  3. Kaugtöölaud SQL Server
  4. Ava tegumihaldur (Ctrl+Shift+Esc)
  5. kliki protsessid tab
  6. Vaata Kuva kõigi kasutajate protsessid
  7. kliki Protsessor veeru päis protsessori kasutuse järgi sortimiseks
  8. Tuvastage, millised protsessid tarbivad protsessori ressursse

Kui mitte-SQL Server rakendused kasutavad märkimisväärselt protsessorit, eemaldage need andmebaasiserverist. Kui sqlservr.exe kasutab palju protsessorit, uurige seda järgmiste meetodite abil:

  • Kontrollige SQL-i kompileerimiste arvu sekundis ja SQL-i uuesti kompileerimiste arvu sekundis. Väärtused üle 10% partiitaotluste arvust sekundis viitavad liigsele kompileerimisele.
  • Päringu sys.dm_exec_query_stats abil saab tuvastada protsessorimahukaid päringuid.
  • Vaadake täitmisplaanid üle puuduvate indeksite või ebaefektiivsete toimingute osas
  • Tabelite skannimiste vähendamiseks kaaluge indeksite lisamist

10.2 Mäluprobleemide diagnoosimine

Mäluprobleemid mõjutavad oluliselt SQL Server jõudlus. Mäluprobleemide diagnoosimiseks kasutage neid näitajaid:

Saadaval olevad mälutilgad

Kui saadaolevate megabaitide arv langeb pidevalt alla 100 MB, seisab operatsioonisüsteem silmitsi mälupuudusega. Windows võib lehe välja lülitada. SQL Server mälu kettale, mis põhjustab jõudluse halvenemist.

Madal lehe eluiga

Lehe eluiga alla 300 sekundi näitab puhvri vahemälu suurt käivet. See viitab kas ebapiisavale mälu eraldamisele või päringute liigsele mälukoormusele.

Madala puhvermälu tabamuste suhtarv

Puhvermälu tabamuste suhe alla 99% tähendab SQL Server loeb andmeid sageli kettalt, mitte mälust. See juhtub siis, kui puhvervaru on liiga väike või SQL Server soojeneb ikka veel pärast taaskäivitamist.

Mälutoetused ootel

Kui mälu eraldamise ootel olemise väärtus on suurem kui 0, siis päringud ootavad mälu eraldamist. See kujutab endast kriitilist mälupuudust, mis vajab kohest tähelepanu.

Mäluprobleemide lahendamiseks:

  1. Seadistamine SQL Server maksimaalse mälu seadistus, et operatsioonisüsteemile jääks piisavalt RAM-i (tavaliselt 4–8 GB, olenevalt serveri suurusest)
  2. Lubage seadme jaoks õigus „Lukusta lehed mälus” SQL Server teenusekonto
  3. Kui mälukoormus püsib, lisage serverisse rohkem füüsilist RAM-i
  4. Mälumahukaid päringuid tuvastada ja optimeerida

10.3 Ketta I/O probleemide lahendamine

Ketta sisend/väljund muutub andmebaasisüsteemide peamiseks jõudluse kitsaskohaks. Diagnoosige kettaprobleeme järgmiste meetodite abil:

Suur ketta järjekorra pikkus

Ketta järjekorra pikkus pidevalt üle 2 (või 2 ketta kohta RAID-i puhul) näitab, et ketta alamsüsteem ei suuda I/O-päringutega sammu pidada. See loob ootel olevate toimingute kuhjumise.

Liigne ketta latentsusaeg

Keskmine ketta sekundites lugemise ja keskmise ketta sekundites kirjutamise väärtused üle 10–20 ms näitavad aeglast ketta reageerimisaega. Tehingute logi draivid vajavad eriti kiiret jõudlust, ideaaljuhul alla 5 ms kirjutamise puhul.

Suur kettaaja protsent

Püsiv % ketta kasutusaeg üle 85% näitab ketta küllastumist. Ketas veedab suurema osa ajast I/O-päringute töötlemisega ja sellel on vähe vaba ruumi.

Enne kettaprobleemidega tegelemist veenduge, et need ei viita mäluprobleemidele. Ebapiisav mälu sunnib SQL Server kettalt rohkemate andmete lugemiseks, suurendades kunstlikult ketta mõõdikuid.

Ehtsa ketta I/O probleemide lahendamiseks toimige järgmiselt.

  • Uuenda kiirematele ketastele (SSD-d kõvaketaste asemel)
  • Parema jõudluse saavutamiseks rakendage RAID-konfiguratsioone
  • Eralda andmebaasifailid, tehingulogid ja tempdb erinevatele füüsilistele draividele
  • Lisage ketta lugemiste vähendamiseks rohkem mälu
  • Optimeerige indekseid ebavajaliku sisendi/väljundi vähendamiseks
  • Halvasti toimivate päringute ülevaatamine ja optimeerimine

10.4 Blokeerimise ja ummikseisude lahendamine

Blokeerimine toimub siis, kui ühel seansil on lukud, mis takistavad teiste seansside jätkamist. Blokeerimisprobleemide tuvastamiseks jälgige neid loendureid:

  • Blokeeritud protsessid: Ideaalis peaks olema 0
  • Lukusta ooteajad sekundis: Ooteaega nõudvate lukustustaotluste arv
  • Keskmine ooteaeg: Lukustuse ooteaja keskmine kestus

Blokeeringu uurimiseks:

  1. Avage tegevuste monitor SSMS-is
  2. Laienda protsessid lõik
  3. Otsi protsesse, mille väärtus erineb nullist Blokeeritud väärtused
  4. Blokeeriva seansi ID tuvastamine
  5. Vaadake üle blokeerimist põhjustavad päringud

Täpsema blokeerimisanalüüsi jaoks kasutage sp_WhoIsActive kirjet. Liigsed wait_info kirjed viitavad sageli tempdb-i konkurentsile või blokeerimisprobleemidele.

Blokeerimise vähendamiseks:

  • Tehingu kestuse minimeerimine
  • Kasutage sobivaid isolatsioonitasemeid
  • Lukustuse kestuse lühendamiseks lisage indeksid
  • Kaaluge READ_COMMITTED_SNAPSHOT eraldamist
  • Pikaajaliste päringute ülevaatamine ja optimeerimine

10.5 Päringu jõudluse probleemid

Kallite päringute tuvastamine on SQL-i jõudluse jälgimiseks oluline. Probleemsete päringute leidmiseks kasutage järgmisi meetodeid:

Aktiivsusmonitori kasutamine

  1. Paremklõpsake SSMS-is serveri nimel
  2. valima Activity Monitor
  3. Laiendama Hiljutised kallid päringud
  4. Vaadake üle päringud, millel on suur protsessorivõimsus, kestus või loogilised lugemised

DMV-de kasutamine

Ressursimahukate päringute tuvastamiseks tehke päring sys.dm_exec_query_stats:

SELECT TOP 50
    total_worker_time/execution_count AS avg_cpu_time,
    total_logical_reads/execution_count AS avg_logical_reads,
    execution_count,
    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
        ((CASE qs.statement_end_offset
            WHEN -1 THEN DATALENGTH(qt.text)
            ELSE qs.statement_end_offset
        END - qs.statement_start_offset)/2) + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY total_worker_time DESC

Täitmisplaanide analüüsimine

  1. Ava SSMS-is uus päringuaken
  2. Click Kuva eeldatav täitmiskava (Ctrl+L) või Lisage tegelik teostusplaan (Ctrl+M)
  3. Täitke oma päring
  4. Vaadake üle kallite toimingute teostusplaan
  5. Otsige tabelite skaneeringuid, indeksi skaneeringuid või kulukaid toiminguid

Optimeeri päringuid järgmiselt:

  • Sobivate indeksite lisamine
  • Päringute ümberkirjutamine kulukate toimingute vältimiseks
  • Statistika värskendamine
  • Kasutades kindlaid veerunimesid SELECT * asemel
  • Mittevajalike DISTINCT- või ORDER BY-klauslite vältimine

10.6 Rikutud andmebaasi tuvastamine ja parandamine

Andmebaasi rikkumine võib põhjustada jõudluse halvenemist, andmete kadu ja süsteemirikkeid. Andmebaasi korrasoleku säilitamiseks on rikkumine kiirelt tuvastatav ja sellega tegelemine ülioluline.

Andmebaasi korruptsiooniindikaatorid

Jälgige neid potentsiaalse korruptsiooni märke:

  • Veateated SQL Server vealogi (viga 823, 824 või 825)
  • Ootamatud rakenduse vead kindlatele tabelitele juurdepääsul
  • Aeglane päringu jõudlus varem kiirete päringute puhul
  • SQL Server krahhid või ootamatud taaskäivitused
  • Kahtlased lehed ilmuvad tabelis msdb.dbo.suspect_pages

DBCC CHECKDB kasutamine tuvastamiseks

DBCC CHECKDB on peamine andmebaasi vigade tuvastamise tööriist. Käivitage seda regulaarselt, et probleeme varakult avastada.

Kahtlaste lehtede jälgimine

SQL Server salvestab kahtlased lehed automaatselt msdb andmebaasi:

SELECT 
    database_id,
    file_id,
    page_id,
    event_type,
    error_count,
    last_update_date
FROM msdb.dbo.suspect_pages
WHERE event_type IN (1,2,3)

Kõik tagastatud read viitavad korruptsiooniprobleemidele, mis vajavad kohest tähelepanu.

Korruptsiooni ennetamise strateegiad

  • Luba lehe kinnitamine kontrollsumma valikuga
  • Hoidke regulaarselt andmebaasi varukoopiaid
  • Kasutage usaldusväärset riistvara koos veaparandusega
  • Jälgige ketta tervist tootja tööriistade abil
  • Planeeri regulaarseid DBCC CHECKDB käitamisi
  • hoidma SQL Server uuendatud uusimate parandustega

Taastamis- ja parandusvõimalused

Kui tuvastatakse vigu, võite proovida sisseehitatud tööriista DBCC CHECKDB nende parandamiseks. Kui see ebaõnnestub, kasutage kolmanda osapoole tööriistu, näiteks DataNumen SQL Recovery mis suudab toime tulla tõsiste korruptsioonijuhtumitega.

11. Täiustatud jälgimistehnikad

11.1 Päringusalve jälgimine

Päringupood, mis võeti kasutusele aastal SQL Server 2016 jäädvustab päringu jõudlusandmeid automaatselt. See annab väärtuslikku teavet päringu käitumise, täitmisplaanide ja jõudlustrendide kohta.

Päringusalvestuse lubamine

  1. Paremklõpsake SSMS Object Exploreris andmebaasil.
  2. valima Kinnisvara
  3. kliki Päringupood lehekülg
  4. In Töörežiim (nõutud)valige Lugema kirjutama
  5. Vajadusel konfigureerige lisaseadeid
  6. Click OK

Päringu toimivuse jälgimine

Juurdepääsu päringu salvestamise aruanded objektide uurija kaudu:

  1. Laienda andmebaasi Object Exploreris
  2. Laiendama Päringupood
  3. Valige saadaolevate aruannete hulgast:
    • Regresseeritud päringud
    • Ressursside üldine tarbimine
    • Kõige ressursimahukamad päringud
    • Sundplaanidega päringud
    • Jälgitavad päringud

Plaani regressiooni tuvastamine

Päringusalvestus tuvastab automaatselt päringu täitmisplaanide muutumise ja jõudluse halvenemise. Vaadake üle regresseeritud päringute aruanne, et tuvastada plaanimuudatustest mõjutatud päringud.

Sundplaani haldamine

Kui päringusalve tuvastab parema teostusplaani, sundige SQL Server selle kasutamiseks:

  1. Ava päring päringusalves
  2. Paremklõpsake soovitud plaanil
  3. valima Jõuplaan

See parandab koheselt jõudlust ilma koodi muutmata.

11.2 Indeksi hoolduse jälgimine

Indeksi fragmenteerimine halvendab aja jooksul päringu jõudlust. Optimaalse jõudluse tagamiseks jälgige ja hallake indekseid regulaarselt.

Fragmentatsioonikontroll

Indeksi fragmentatsiooni kontrollimiseks kasutage seda päringut:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_fragmentation_in_percent,
    ps.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_fragmentation_in_percent > 10
    AND ps.page_count > 1000
ORDER BY ps.avg_fragmentation_in_percent DESC

Käivita see päring väljaspool tipptundi, kuna see võib olla ressursimahukas.

Lehe tiheduse analüüs

Lehekülje tihedus näitab, kui täis on indeksleheküljed. Madal tihedus raiskab ruumi ja vähendab jõudlust:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_page_space_used_in_percent < 75

Otsuste ümberkorraldamine vs ümberehitamine

Valige indeksi hooldustoimingud killustatuse tasemete põhjal:

  • Fragmentatsioon 10–30%: kasutage käsku ALTER INDEX REORGANIZE
  • Fragmentatsioon > 30%: Kasutage käsku ALTER INDEX REBUILD
  • Killustumine < 10%: toiminguid pole vaja

Ümberkorraldamistoimingud nõuavad vähem ressursse ja neid saab teha võrgus. Ümberehitustoimingud on põhjalikumad, kuid tarbivad märkimisväärselt ressursse.

11.3 Andmebaasi statistika uuendused

Andmebaasi statistika abi SQL ServerPäringu optimeerija loob tõhusad täitmisplaanid. Vananenud statistika viib päringute kehva jõudluseni.

Automaatne statistika taastamine

Luba automaatsed statistikavärskendused:

ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON
ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON

Statistika jälgimine Tervis

Kontrollige, millal statistikat viimati uuendati:

SELECT 
    OBJECT_NAME(s.object_id) AS TableName,
    s.name AS StatisticsName,
    STATS_DATE(s.object_id, s.stats_id) AS LastUpdated,
    sp.rows,
    sp.modification_counter
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) sp
WHERE STATS_DATE(s.object_id, s.stats_id) < DATEADD(DAY, -7, GETDATE())
ORDER BY LastUpdated

Vajadusel uuenda statistikat käsitsi:

UPDATE STATISTICS TableName WITH FULLSCAN

11.4 Kohandatud jõudlusandmete kogumine

Looge kohandatud jõudluse jälgimise lahendusi, esitades päringu otse sys.dm_os_performance_countersile ja salvestades tulemused tabelitesse.

Kohandatud kollektsiooni skriptide loomine

Looge salvestatud protseduur jõudlusloenduri andmete kogumiseks:

CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
    INSERT INTO dbo.PerformanceHistory (
        SampleTime,
        CounterName,
        CounterValue
    )
    SELECT 
        GETDATE(),
        counter_name,
        cntr_value
    FROM sys.dm_os_performance_counters
    WHERE counter_name IN (
        'Page life expectancy',
        'Batch Requests/sec',
        'Buffer cache hit ratio'
    )
END

sys.dm_os_performance_countersi kasutamine

Päringu jõudlusloendurite otsene päring:

SELECT 
    object_name,
    counter_name,
    instance_name,
    cntr_value,
    cntr_type
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%'
ORDER BY counter_name

Ajalooliste andmete salvestamine

Looge tabel aja jooksul toimivusnäitajate salvestamiseks:

CREATE TABLE dbo.PerformanceHistory (
    ID INT IDENTITY PRIMARY KEY,
    SampleTime DATETIME2 NOT NULL,
    PageLifeExpectancy BIGINT,
    BatchRequestsPerSec DECIMAL(18,4),
    BufferCacheHitRatio DECIMAL(5,2)
)

CREATE CLUSTERED COLUMNSTORE INDEX CCI_PerformanceHistory 
ON dbo.PerformanceHistory

Pöördandmete salvestamise meetodid

Salvesta andmeid pöördvormingus, kus üks rida valimi aja ja üks veerg loenduri kohta. See vähendab salvestusruumi ja parandab päringute jõudlust võrreldes ühe rea salvestamisega loenduri ja valimi kohta.

11.5 Mitme serveri jälgimine

Keskkondade jaoks, kus on mitu SQL Server juhtudel rakendage tsentraliseeritud jälgimist.

Tsentraliseeritud jälgimismeetod

  • Looge eraldi serverisse spetsiaalne jälgimisandmebaas
  • Koguge andmeid kõigilt serveritelt kesksesse hoidlasse
  • Kasutama SQL Server Agendi tööd kogumisskriptide käivitamiseks
  • Rakenda võrgu kaudu ligipääsetavat jõudlusloenduri kogu

Serveri kaugjälgimine

Konfigureerige Performance Monitor andmete kogumiseks kaugserveritest, määrates loendurite lisamisel serveri nimed. Veenduge, et tulemüürireeglid lubavad Performance Monitori liiklust.

Serveriteülene aruandlus

Looge aruandeid, mis võrdlevad mitme serveri jõudlust, et tuvastada kõrvalekaldeid ja mahutavuse tasakaalustamatust.

12. Järelevalve SQL Server pilvekeskkondades

12.1 Azure'i SQL-andmebaasi jälgimine

Azure SQL Database pakub sisseehitatud jälgimisvõimalusi, mis erinevad kohapealsetest lahendustest. SQL Server.

Azure Monitori integratsioon

Azure Monitor kogub automaatselt Azure SQL-andmebaasist mõõdikuid, sh järgmist:

  • DTU või virtuaalse tuuma kasutamine
  • Storage kasutamine
  • Ühenduse statistika
  • Pattiseisud ja ajalõpud

Nendele mõõdikutele pääsete ligi Azure'i portaali või Azure Monitori API kaudu.

Sisseehitatud jälgimisfunktsioonid

Azure'i SQL-andmebaas sisaldab:

  • Automaatse häälestamise soovitused
  • Päringu toimivuse ülevaade
  • Intelligentne ülevaade anomaaliate tuvastamiseks
  • Sisseehitatud hoiatused ja diagnostika

Päringu toimivuse ülevaade

See funktsioon pakub enim ressursse tarbivate päringute visualiseerimist, päringute kestuse analüüsi ja ajaloolisi jõudlustrende. Juurdepääs sellele on Azure'i portaali kaudu teie SQL-andmebaasi ressursi alt.

12.2 Pilvepõhised jälgimistööriistad

Pilveplatvormid pakuvad oma keskkondadele optimeeritud natiivseid jälgimislahendusi:

  • Azure Monitor ja Application Insights Azure'i SQL-andmebaasi jaoks
  • AWS CloudWatch RDS-i jaoks SQL Server
  • Google Cloudi jälgimine pilve jaoks SQL Server

Need tööriistad integreeruvad sujuvalt pilveinfrastruktuuriga ja pakuvad ühtset jälgimist kõigi pilveressursside üle.

Hübriidkeskkonna seire

Kohapealsete ja pilvepõhiste hübriidjuurutuste puhul kasutage tööriistu, mis toetavad mõlemat keskkonda, näiteks Redgate SQL Monitor, SolarWinds DPA või kohandatud lahendusi, mis kasutavad tsentraliseeritud andmekogumist.

12.3 Jõudluse erinevused pilves

Cloud SQL Server keskkondadel on ainulaadsed omadused:

Ressursside jaotamise mudelid

Pilveteenuse pakkujad kasutavad erinevaid ressursside jaotamise meetodeid (DTU-d, virtuaalsüdamikud, serverita lahendused), mis mõjutavad teie jõudlusnäitajate tõlgendamist. Mõistke oma teenusetaseme piiranguid ja omadusi.

Skaleerimise kaalutlused

Pilvekeskkonnad pakuvad dünaamilisi skaleerimisvõimalusi. Jälgige ressursside kasutamist, et teha kindlaks, millal skaleerida üles või alla. Paljud pilveplatvormid pakuvad automaatset skaleerimist jõudluslävede põhjal.

13. Toimivuse jälgimise automatiseerimine

13.1 SQL Server Agentide töökohad

Andmete kogumise automatiseerimine SQL Server Agendi tööülesanded järjepideva jälgimiseks ilma käsitsi sekkumiseta.

Ajastatud andmete kogumine

  1. Laiendage SSMS-is SQL Server Agent
  2. Paremklõpsake Tööturg ja valige Uus töökoht
  3. Pange tööle nimi (nt „Toimivusnäitajate kogumine”).
  4. Click Sammud ja lisa uus samm
  5. Määra tüübiks Transact-SQL skript
  6. Sisestage oma andmekogumisskript
  7. Click Kavad ja lisa ajakava
  8. Sageduse seadistamine (nt iga 5 minuti järel)
  9. Click OK töökohta looma

Automatiseeritud aruandlus

Loo töid, mis genereerivad ja saadavad meiliga tulemusaruandeid:

  1. Loo salvestatud protseduur, mis genereerib aruandeid
  2. Kasutage aruannete saatmiseks e-posti teel andmebaasi meili
  3. Planeeri töö iga päev või iganädalaselt käivitamiseks

13.2 PowerShelli automatiseerimine

PowerShell pakub võimsaid automatiseerimisvõimalusi SQL Server jõudlusmonitor.

Jõudlusloenduri kogumise skriptid

$counters = @(
    '\Processor(_Total)\% Processor Time',
    '\Memory\Available MBytes',
    '\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)

$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append

WMI päringud

Kasutage WMI-d jõudlusandmete kogumiseks kaugserveritest:

$cpu = Get-WmiObject Win32_Processor -ComputerName 'SQLServer01'
$memory = Get-WmiObject Win32_OperatingSystem -ComputerName 'SQLServer01'

Write-Host "CPU Usage: $($cpu.LoadPercentage)%"
Write-Host "Available Memory: $([math]::Round($memory.FreePhysicalMemory/1MB,2)) GB"

Automatiseeritud teavitamine

Loo PowerShelli skripte, mis kontrollivad mõõdikuid ja saadavad märguandeid, kui lävesid ületatakse:

$cpuThreshold = 80
$cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue

if ($cpu -gt $cpuThreshold) {
    Send-MailMessage -To 'dba@company.com' -Subject 'High CPU Alert' `
        -Body "CPU usage is $cpu%" -SmtpServer 'smtp.company.com'
}

13.3 Jälgimispaneelide loomine

Visualiseeri tulemusandmeid interaktiivsete armatuurlaudade abil parema ülevaate saamiseks.

Power BI integreerimine

  1. Ühendage Power BI oma jõudlusandmete tabelitega
  2. Looge peamiste mõõdikute visualiseeringuid
  3. Lisa ajavahemiku ja serveri valiku jaoks viilutajad
  4. Armatuurlaudade avaldamine Power BI teenuses
  5. Automaatsete värskendusgraafikute konfigureerimine

Reaalajas armatuurlaua loomine

Kasutage selliseid tööriistu nagu Grafana või kohandatud veebirakendusi, et luua reaalajas armatuurlaudu, mis pärivad otse DMV-sid ja jõudlusloendureid.

Ajalooliste trendide visualiseerimine

Koostage joondiagrammid, mis näitavad aja jooksul suundumusi:

  • Protsessori kasutamine
  • Mälu kasutamine
  • Disk I / O
  • Päringu jõudlus
  • Ühenduste arv

14. Juhtumiuuringud ja praktilised näited

14.1 Juhtumiuuring: mäluprobleemide lahendamine

Sümptomite tuvastamine

Lavastus SQL Server tipptundidel esines päringutele aeglaseid vastuseid. Kasutajad kurtsid rakenduste ajalõppude ja jõudluse halvenemise üle.

Vastuanalüüs

Performance Monitori andmed avalikustatud:

  • Lehe eluiga langes 50 sekundini (tavaline: >300)
  • Puhvervahemälu tabamuste suhe langes 85%-ni (normaalne: >99%)
  • Ootel mälutoetuste väärtused näitasid sageli väärtusi 5–10
  • Füüsilise ketta lugemiste arv sekundis kasvas märkimisväärselt

Lahendamise sammud

  1. Checked SQL Server maksimaalse mälu seadistus – avastasin, et see oli seatud vaikesätetele (piiramatu)
  2. Serveri kogumälu ja sihtmälu võrdlus – näitas olulist erinevust
  3. Serveri maksimaalne mälu on konfigureeritud nii, et operatsioonisüsteemile jääb 8 GB.
  4. Lubatud on luba „Lukusta lehed mälus” SQL Server teenusekonto
  5. Serverile lisati 32 GB lisamälu
  6. Nädala jooksul jälgitud jõudlus – lehe eluiga stabiliseerus üle 500 sekundi

Tulemus: Päringutele vastamise aeg paranes 60%, kasutajate kaebused lakkasid ja rakenduste jõudlus normaliseerus.

14.2 Juhtumiuuring: protsessori jõudluse optimeerimine

Sümptomite tuvastamine

A SQL Server näitas tööajal pidevalt üle 90% protsessori kasutust, mis põhjustas rakenduste aeglast jõudlust ja kasutajate frustratsiooni.

Vastuanalüüs

Toimivuse jälgimine näitas:

  • Protsessori aja keskmine protsent oli 92%, sageli tõustes kuni 100%-ni.
  • Protsessori järjekorra pikkus püsivalt üle 4 (serveris oli 8 tuuma)
  • SQL-kompilatsioonide arv sekundis oli 25% partiitaotluste arvust sekundis (peaks olema <10%)
  • SQL-i uuesti kompileerimiste arv sekundis oli 15% partiitaotluste arvust sekundis

Lahendamise sammud

  1. Kasutas DMV-sid enim protsessorit tarbivate päringute tuvastamiseks
  2. Analüüsitud tuvastatud päringute täitmisplaanid
  3. Avastati suurtel tabelitel mitu tabeli skannimist puuduvate indeksite tõttu
  4. Loodud sobivad indeksid täitmiskava soovituste põhjal
  5. Tuvastati dünaamiline SQL, mis põhjustab liigset kompileerimist
  6. Muudetud rakenduse kood parameetriliste päringute kasutamiseks
  7. Probleemsete salvestatud protseduuride plaanijuhendi rakendamine
  8. Tihti kasutatud tabelite uuendatud statistika

Tulemus: Protsessori kasutus langes tööajal keskmiselt 45%-ni. Päringute täitmisaeg paranes 70%. Rakenduste reageerimisvõime paranes märkimisväärselt.

14.3 Juhtumiuuring: ketta sisend-/väljundprobleemide lahendamine

Sümptomite tuvastamine

Kasutajad teatasid rakenduste äärmiselt aeglasest reageerimisest andmete laadimise ja õhtuse partiitöötluse ajal.

Vastuanalüüs

Toimivusandmed näitasid:

  • Tehingute logi draivi keskmine ketta sekundiline kirjutamisaeg ületas 45 ms
  • Andmefaili draivi kettajärjekorra keskmine pikkus on 12
  • % kettaaja püsis partiitööde ajal tundide kaupa üle 95%
  • Lehe kirjutamise kiirus sekundis oli erakordselt kõrge

Lahendamise sammud

  1. Kontrollitud mäluseaded olid sobivad – mäluprobleeme ei leitud
  2. Analüüsitud ketta konfiguratsioon – tuvastati kõik failid samal spindlikomplektil
  3. Eraldi tehingulogid spetsiaalsetele kiiretele SSD-ketastele
  4. Tempdb teisaldati eraldi SSD-ketastele
  5. Rakendatud mitu tempdb andmefaili (üks iga tuuma kohta)
  6. Andmefailide draivide RAID 10 SSD konfiguratsiooniks uuendamine
  7. Optimeeritud partiitööd väiksemate tehingupartiide kasutamiseks
  8. Lisatud indeksid, et vähendada partiitoimingute ajal ebavajalikke tabelite skaneeringuid

Tulemus: Keskmine ketta sekundiline kirjutamiskiirus langes 3 ms-ni. Ketta järjekorra keskmine pikkus oli alla 1. Pakktöö täitmisaeg vähenes 75%.

15. Tulevased trendid SQL Server Järelevalve

15.1 AI ja masinõppe integreerimine

Tehisintellekt ja masinõpe on muutumas SQL Server jõudlusmonitor.

Ennustav analüüs

Masinõppe mudelid ennustavad tulevasi ressursivajadusi ajalooliste andmete põhjal. Need süsteemid suudavad prognoosida:

  • Kui salvestusmaht on ammendunud
  • Eeldatavad protsessori ja mälu nõuded tipptundidel
  • Päringu jõudluse halvenemine enne, kui see kasutajaid mõjutab
  • Hooldustööde optimaalne aeg

Anomaalia tuvastamine

Tehisintellektil põhinevad tööriistad tuvastavad automaatselt ebatavalisi mustreid jõudlusnäitajates. Need tuvastavad anomaaliaid, mida inimesed-administraatorid võivad kahe silma vahele jätta, ning eristavad tavapäraseid variatsioone tegelikest probleemidest.

Automaatne parandus

Isetervenevad süsteemid lahendavad tuvastamisel automaatselt levinud probleemid:

  • Taaskäivitage peatatud teenused
  • Tippkoormuse ajal ressursside ümberjaotamine
  • Rakenda teadaolevate probleemide kiirparandusi
  • Fragmenteeritud indeksite automaatne taastamine

15.2 Pilvepõhise jälgimise areng

Pilvejälgimine areneb pidevalt uute võimalustega.

Ühendatud jälgimisplatvormid

Kaasaegsed platvormid pakuvad ühtset klaaspaneeli nähtavust järgmistel aladel:

  • Kohapeal SQL Server juhtumid
  • Pilvepõhised andmebaasid
  • Hübriidkeskkonnad
  • Rakenduse jõudlus
  • Taristu mõõdikud

Jälgitavuse trendid

Üleminek jälgitavalt jälgitavusele rõhutab:

  • Süsteemi käitumise mõistmine väljundite põhjal
  • Mõõdikute, logide ja jälgede korreleerimine
  • Põhjalikud teadmised hajutatud süsteemidest
  • Reaalajas probleemide diagnoosimine

15.3 Isetervenevad andmebaasisüsteemid

Tulevik SQL Server versioonid sisaldavad rohkem autonoomseid võimalusi.

Automaatne optimeerimine

Andmebaasid optimeerivad end pidevalt järgmiselt:

  • Indeksite automaatne loomine ja kustutamine töökoormuse põhjal
  • Konfiguratsioonisätete reguleerimine optimaalse jõudluse saavutamiseks
  • Ebaefektiivsete päringute läbipaistva ümberkirjutamine
  • Ressursside jaotuse dünaamiline haldamine

Nutikas häälestamine

Täiustatud süsteemid õpivad jõudlusmustritest ja rakendavad automaatselt häälestamissoovitusi, vähendades vajadust käsitsi andmebaasihalduri sekkumise järele.

16. Järeldus ja peamised väljavõtted

16.1 Oluliste seiretavade kokkuvõte

Tõhus SQL Server Jõudlusmonitori jaoks on vaja terviklikku lähenemisviisi, mis ühendab tööriistu, tehnikaid ja parimaid tavasid.

Kriitiliste loendurite kokkuvõte

Keskendu jälgimistegevuses järgmistele olulistele loenduritele:

  • Mälu: lehe eluiga, puhvervahemälu tabamuste suhtarv, ootel mälutoetused
  • Protsessor: Protsessori aeg (%), Protsessori järjekorra pikkus
  • Ketas: keskmine ketta sekundites lugemise ja kirjutamise kohta, ketta järjekorra pikkus
  • SQL ServerPaketttaotlused sekundis, kompileerimised sekundis, kasutajaühendused

Parima tava kokkuvõte

  • Tavapärase tegevuse ajal baastasemete kehtestamine
  • Määrake intelligentsed häirekünnised baasväärtuste põhjal
  • Vaadake tulemuslikkuse andmed regulaarselt üle
  • Bilansside jälgimise üldkulud koos andmete detailsusega
  • Säilitage pikaajalisi andmeid trendianalüüsiks
  • Kasutage iga jälgimisstsenaariumi jaoks sobivaid tööriistu

16.2 Pideva täiustamise lähenemisviis

SQL Server Toimivuse jälgimine ei ole ühekordne tegevus, vaid pidev protsess, mis nõuab pidevat täiustamist.

Regulaarsed ülevaatuse tsüklid

  • Iga päev: kontrollige märguandeid ja praegust toimivust
  • Iganädalane: trendide ülevaatamine ja tekkivate probleemide tuvastamine
  • Igakuiselt: analüüsige pikaajalisi mustreid ja võimsusvajadusi
  • Kvartalis: uuendage lähtetasemeid ja vaadake üle seire tõhusus

Tööriistadega kursis püsimine

Hoidke jälgimisvahendeid ja -tehnikaid ajakohasena:

  • Hinnake uusi jälgimisfunktsioone SQL Server uuendused
  • Testige uusi kolmanda osapoole tööriistu
  • Osale koolitustel ja konverentsidel
  • Osalema SQL Server kogukonna foorumid
  • Jaga teadmisi meeskonnaliikmetega

16.3 Järgmised sammud

Täitma SQL Server tulemuslikkuse jälgimine süstemaatiliselt:

Rakendamise tegevuskava

  1. Nädal 1: Seadistage jõudlusmonitor oluliste loenduritega
  2. Nädal 2: Looge andmekogujate komplekte automatiseeritud kogumiseks
  3. Nädal 3: Tavapärase tegevuse ajal baastasemete kehtestamine
  4. Nädal 4: Kriitiliste lävede märguannete seadistamine
  5. Kuu 2: Rakenda täiendavaid jälgimisvahendeid (DMV-d, laiendatud sündmused)
  6. Kuu 3: Kohandatud armatuurlaudade ja aruannete loomine
  7. Jätkuv: Täpsustage jälgimist kogemuste ja muutuvate nõuete põhjal

Täiendavad ressursid

Jätkake õppimist SQL Server Jälgige jõudlust Microsofti dokumentatsiooni, kogukonna ajaveebide ja praktiliste harjutuste abil. Katsetage erinevaid tööriistu ja tehnikaid, et leida oma keskkonnale kõige sobivam.

17. Korduma kippuvad küsimused (KKK)

17.1 Millised on kõige olulisemad SQL Server jõudlusloendureid jälgida?

Kõige kriitilisem SQL Server Toimivusloendurid hõlmavad järgmist:

  • Mälu: lehe eluiga (peaks olema >300 sekundit) ja puhvervahemälu tabamuste suhtarv (peaks olema >99%)
  • Protsessor: Protsessori aja % (püsivad väärtused <75%) ja Protsessori järjekorra pikkus (peaks olema <2 tuuma kohta)
  • Ketas: keskmine ketta sekundites lugemise ja kirjutamise aeg (peaks olema <10–20 ms) ja ketta järjekorra pikkus (peaks olema <2 ketta kohta)
  • SQL ServerPaketttaotluste arv sekundis, SQL-kompilatsioonide arv sekundis ja ootel mälu eraldamine (peaks olema 0)

Need loendurid annavad põhjaliku ülevaate süsteemi seisundist ja aitavad kitsaskohti kiiresti tuvastada.

17.2 Kui tihti peaksin tulemusandmeid koguma?

Kogumise sagedus sõltub teie jälgimise eesmärkidest:

  • Baasjoone jälgimine: iga 1 minuti (60 sekundi) järel
  • Aktiivne tõrkeotsing: lühikest aega iga 15–30 sekundi järel
  • Pikaajaline trend: iga 5 minuti järel

Vältige pidevat suure sagedusega andmete kogumist, kuna see võib mõjutada jõudlust ja genereerida liigseid andmeid. Kasutage pikemaid intervalle rutiinse jälgimise jaoks ja lühemaid intervalle ainult konkreetsete probleemide uurimiseks.

17.3 Mis vahe on jõudlusmonitoril ja SQL Server Profileerija?

Jõudlusmonitor ja SQL Server Profiilimisseadmed täidavad erinevaid eesmärke:

Performance Monitor:

  • Jälgib süsteemi ja SQL Server jõudlusloendurid
  • Jälgib ressursside kasutamist (protsessor, mälu, ketas)
  • Madal üldkulu, sobib pidevaks jälgimiseks
  • Pakub aja jooksul koondnäitajaid

SQL Server profileerija:

  • Jäljed üksikisikute seas SQL Server sündmused ja päringud
  • Salvestab päringu täitmisteabe üksikasjaliku teabe
  • Kõrgemad üldkulud, ei ole soovitatav pidevaks kasutamiseks
  • Parim konkreetsete päringuprobleemide tõrkeotsinguks
  • Aegunud laiendatud sündmuste kasuks

Süsteemi üldiseks jälgimiseks kasutage jõudlusmonitori ja üksikasjalikuks päringutaseme analüüsiks laiendatud sündmusi (mitte profiilijat).

17.4 Kas jõudlusmonitori mõju on võimalik? SQL Server esitus?

Õigesti konfigureerituna on jõudlusmonitoril minimaalne mõju SQL Server jõudlust, tavaliselt alla 2% lisakulu. Liigne jälgimine võib aga probleeme tekitada:

  • Liiga palju loendureid suurendab üldkulusid
  • Väga lühikesed proovivõtuintervallid (alla 15 sekundi) kurnavad ressursse
  • Pidev kõrgsageduslik kogumine genereerib suuri logifaile

Mõju minimeerimiseks:

  • Jälgige ainult vajalikke loendureid
  • Kasutage sobivaid proovivõtuintervalle (rutiinse jälgimise puhul 60 sekundit)
  • Salvestage logid andmebaasifailidest eraldi ketastel
  • Planeeri ressursimahukat jälgimist väljaspool tipptundi

17.5 Kui kaua peaksin jõudluse jälgimise andmeid säilitama?

Säilitusaeg sõltub teie analüüsivajadustest ja salvestusmahust:

  • Miinimum: 3 kuud hiljutiste probleemide tõrkeotsinguks
  • Soovitan: 1-2 aastat mahutavuse planeerimiseks ja trendianalüüsiks
  • Optimaalne: Määramata ajaks, kui salvestusruum lubab, kuna ajaloolised andmed muutuvad aja jooksul väärtuslikumaks.

Jõudlusloenduri andmed tihenduvad hästi ja võtavad suhteliselt vähe ruumi. Kaaluge vanemate andmete eraldi salvestuskohta arhiveerimist nende kustutamise asemel. Paljud organisatsioonid leiavad, et aastatepikkused ajaloolised andmed osutuvad hindamatuks väärtuseks mahutavuse planeerimisel ja pikaajaliste trendide tuvastamisel.

17.6 Millised on head läviväärtused peamiste jõudlusloendurite jaoks?

Soovitatavad häire läviväärtused:

  • Mälutoetused ootel: Häire, kui > 0
  • Lehe eluiga: Hoiatus, kui < 300 sekundit
  • Protsessori aeg (%): Hoiatus, kui > 80% 5 minuti jooksul
  • Protsessori järjekorra pikkus: Häire, kui > 2 tuuma kohta
  • Keskmine ketta sekundites lugemise või kirjutamise kohta: Hoiatus, kui > 20 ms
  • Kettajärjekorra pikkus: Häire, kui > 2 ketta kohta
  • Blokeeritud protsessid: Hoiatus, kui > 5

Kohandage neid läviväärtusi oma baasandmete ja konkreetsete töökoormuse omaduste põhjal. See, mis on ühes keskkonnas normaalne, võib viidata probleemidele teises.

17.7 Kuidas ma jälgin SQL Server jõudlus eemalt?

Monitori kaugjuhtimispult SQL Server juhtudel, kus kasutatakse neid meetodeid:

  1. Performance Monitor: Loendurite lisamisel määrake kaugarvuti nimi
  2. PowerShell: Kasutage parameetrit -ComputerName koos funktsiooniga Get-Counter
  3. Sõidukite registreerimistunnistused: Loo ühendus kaugserveritega SSMS-i kaudu ja päri DMV-sid
  4. Kolmanda osapoole tööriistad: Enamik jälgimisriistu toetab serveri kaugjälgimist

Veenduge, et tulemüürireeglid lubavad Performance Monitori liiklust ja et teil on kaugserveris vastavad õigused. Mitme serveri korral kaaluge tsentraliseeritud jälgimise rakendamist spetsiaalse jälgimisserveri ja andmebaasiga.

17.8 Milline on parim tasuta tööriist SQL Server jõudluse monitor?

Jälgimiseks on saadaval mitu suurepärast tasuta tööriista SQL Server jõudlus:

  • Windowsi jõudlusmonitor: Sisseehitatud, põhjalik ja usaldusväärne
  • SSMS-i tegevuse jälgimine: Reaalajas jälgimine ilma täiendava paigalduseta
  • Pikendatud sündmused: Sisseehitatud kerge sündmuste jälgimine SQL Server
  • sp_Kes on aktiivne: Populaarne tasuta salvestatud protseduur detailseks tegevuse jälgimiseks
  • DBA kriips: Avatud lähtekoodiga jälgimistööriist ulatuslike funktsioonidega
  • SQL-JÄLGIMINE: Avatud lähtekoodiga peaaegu reaalajas jälgimisvõimalustega

Enamiku organisatsioonide jaoks pakub Performance Monitor koos SSMS-tööriistade ja sp_WhoIsActive'iga suurepäraseid jälgimisvõimalusi ilma lisatasuta.

17.9 Kuidas eksportida PerfMoni andmeid analüüsiks?

Jõudlusmonitori andmete eksportimine järgmiste meetodite abil:

Ekspordi CSV-vormingusse:

  1. Avage jõudlusmonitor koos laaditud logifailiga
  2. Paremklõpsake graafikul ja valige Salvesta andmed nimega
  3. Vali Tekstifail (komaga eraldatud) (.csv)
  4. Valige asukoht ja salvestage
  5. Ava analüüsiks Excelis

Kasutage käsku Relog:

relog input.blg -f csv -o output.csv

See käsurea utiliit teisendab binaarlogifailid (.blg) CSV-vormingusse, et neid oleks arvutustabelirakendustes lihtsam analüüsida.

17.10 Millal peaksin sisseehitatud valikute asemel kasutama kolmanda osapoole jälgimistööriistu?

Kaaluge kolmanda osapoole tööriistu järgmistel juhtudel:

  • Suure hulga haldamine SQL Server juhtumid (10+)
  • Nõuab tsentraliseeritud jälgimist mitmes andmekeskuses
  • Vajad täiustatud funktsioone, nagu ennustav analüüs või anomaaliate tuvastamine
  • Soovitakse integreeritud hoiatusi intsidentide haldamise süsteemidega
  • Nõuetele vastavuse aruandluse ja ajaloolise analüüsi kohta
  • DBA ressursside puudumine kohandatud lahenduste loomiseks ja haldamiseks
  • Heterogeensete andmebaasikeskkondade jälgimine (SQL Server, Oracle, MySQL jne)

Sisseehitatud tööriistad sobivad hästi väiksematesse keskkondadesse või kui teil on oskuslikud andmebaasiadministraatorid, kes saavad välja töötada kohandatud jälgimislahendusi. Kolmandate osapoolte tööriistad pakuvad väärtust aja kokkuhoiu, täiustatud funktsioonide ja professionaalse toe kaudu.

18. Täiendavad ressursid

18.1 Ametlik dokumentatsioon

Microsoft pakub ulatuslikku dokumentatsiooni SQL Server jõudlusmonitor:

18.2 Soovitatavad tööriistad ja allalaadimised

Olulised tööriistad SQL Server jõudlusmonitor:

  • PAL-tööriist: https://github.com/clinthuffman/PAL
  • sp_Kes on aktiivne: http://whoisactive.com/
  • DBA kriips: https://dbadash.com/
  • SQL-JÄLGIMINE: https://github.com/marcingminski/sqlwatch
  • Esmaabikomplekt (Brent Ozar): https://www.brentozar.com/first-aid/
  • SQL Server Juhtimisstuudio: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

18.3 Kogukonna ressursid

Õppige SQL Server kogukond:

  • SQL Server Kesk: https://www.sqlservercentral.com/
  • Brent Ozari blogi: https://www.brentozar.com/blog/
  • SQL Shack: https://www.sqlshack.com/
  • MSSQL-i näpunäited: https://www.mssqltips.com/
  • Redditi r/SQLServer: https://www.reddit.com/r/SQLServer/
  • ületäitumine SQL Server silt: https://stackoverflow.com/questions/tagged/sql-server

Need ressursid pakuvad õpetusi, tõrkeotsingu nõuandeid ja parimaid tavasid kogenud spetsialistidelt. SQL Server spetsialistid. Kogukonnafoorumites osalemine aitab teil õppida teiste kogemustest ja jagada oma teadmisi.


Teave Autor

Yuan Sheng on vanem andmebaasiadministraator (DBA), kellel on üle 10 aasta kogemust SQL Server keskkonnad ja ettevõtte andmebaaside haldus. Ta on edukalt lahendanud sadu andmebaaside taastamise stsenaariume finantsteenuste, tervishoiu ja tootmisorganisatsioonides.

Yuan on spetsialiseerunud SQL Server andmebaasi taastamine, kõrge käideldavuslahendusedja jõudluse optimeerimine. Tema ulatuslik praktiline kogemus hõlmab mitme terabaidise mahuga andmebaaside haldamist, juurutamist Alati sisse lülitatud kättesaadavuse rühmadja automatiseeritud varundus- ja taastestrateegiate väljatöötamine missioonikriitiliste ärisüsteemide jaoks.

Oma tehnilise asjatundlikkuse ja praktilise lähenemise abil keskendub Yuan terviklike juhendite loomisele, mis aitavad andmebaasiadministraatoritel ja IT-spetsialistidel lahendada keerulisi probleeme SQL Server väljakutseid tõhusalt. Ta on kursis uusimate uudistega SQL Server väljalasete ja Microsofti arenevate andmebaasitehnoloogiate põhjal, testides regulaarselt taastestsenaariume, et tagada oma soovituste vastavus reaalsetele parimatele tavadele.

Kas teil on küsimusi SQL Server taastamist või vajate täiendavat andmebaasi tõrkeotsingu juhendamist? Yuan tervitab tagasisidet ja ettepanekuid nende tehniliste ressursside täiustamiseks.