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.
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:
- Click Avaleht, kirjuta perfmon otsingukastis klõpsake otsingutulemustes valikul „Performand Monitor”:
- press Windows + R, kirjuta perfmonja vajutage sisene
- Liigu juhtpaneel -> Süsteem ja turvalisus -> Administrative Tools -> Performance Monitor
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:
- Ava jõudlusmonitor
- Laiendama Andmekogujate komplektid
- Paremklõpsake Kasutaja määratletud
- valima Uus -> Andmekoguja komplekt
- Sisesta kirjeldav nimi (nt „SQL Server Toimivusnäitajad”)
- valima Käsitsi loomine (täiustatud)
- Click järgmine
- Vaata Loo andmelogid -> Jõudlusloendur
- Click järgmine
- Click lisama loendurite valimiseks
- lisama soovitud SQL Server ja süsteemiloendurid.
- 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.
- Click järgmine
- Valige logide salvestamise asukoht
- Click lõpp, luuakse uus andmekogujate komplekt.
- 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
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:
- Pärast andmekogujate komplekti loomist paremklõpsake sellel ja valige Kinnisvara
- kliki Stopptingimus tab
- Võimaldama Kogukestus
- Määra kestuseks 1 päev (24 tundi)
- Click OK säästa
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:
- Paremklõpsake oma andmekogujate komplektil ja valige Kinnisvara
- kliki Ajakava tab
- Click lisama uue ajakava loomiseks
- Alguskuupäeva ja -kellaaja seadistamine
- Määrake kordumise muster (nt iga päev)
- Click OK ajakava salvestamiseks
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.
- Ava jõudlusmonitor
- Laiendama Toimivuslogid ja hoiatused vasakul paanil
- Paremklõpsake Loenduri logid
- valima Uued logiseaded
- Nimeta logi oma andmebaasiserveri nimega (nt „ProductionSQL01”).
- 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:
- kliki Lisa loendurid nupp
- Muutke arvuti nime nii, et see osutaks teie arvutile SQL Server Näiteks
- press Tab saadaolevate jõudlusobjektide laadimiseks
- Valige rippmenüüst jõudlusobjekt (nt Mälu)
- Valige konkreetsed loendurid järgmiste hulgast: nimekiri
- Valige vajadusel eksemplarid (nt üksikud protsessorid või kettad)
- Click lisama loenduri lisamiseks
- Korda kõigi soovitud loendurite puhul
- 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:
- Leidke loenduri logi omadustest Näidisandmed iga
- Määrake intervall (vaikimisi on 15 sekundit)
- Baasjoone jälgimiseks kasutage igapäevaseks kogumiseks 1-minutilisi intervalle
- Veaotsinguks kasutage lühikeste impulsside jaoks 15–30-sekundilisi intervalle
- 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:
- kliki Logifailid vahekaart loenduri logi omadustes
- Muuda logifaili tüüp väärtuseks Tekstifail (komaga eraldatud) hõlpsaks Exceli importimiseks
- Click Seadistamine
- Määrake faili tee kindlasse asukohta (nt jagatud PerformanceLogs kausta)
- 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:
- Leidke loenduri logi omadustest Käivita kui
- Sisesta oma domeeni kasutajanimi järgmises vormingus: DOMAIN\kasutajanimi
- Click Sea parool
- Sisestage ja kinnitage oma parool
- 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:
- Ava jõudlusmonitor
- Klõpsake vasakul paanil Jälgimisvahendid -> Performance Monitor.
- Paremklõpsake graafikuala suvalises kohas
- valima Kinnisvara
- kliki allikas tab
- valima Logifailid raadionupp
- Click lisama
- Navigeeri oma logifailini (.blg või .csv)
- Valige fail ja klõpsake avatud
- Kasuta Ajavahemik liugurit, et valida periood, mida soovite analüüsida
- Click OK omaduste dialoogi sulgemiseks
- Logifailist loendurite lisamiseks klõpsake rohelist plussikooni
- Valige kuvamiseks soovitud loendurid
- 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:
- Avage jõudlusmonitor koos laaditud logifailiga
- Paremklõpsake graafikuala suvalises kohas
- valima Salvesta andmed nimega
- Valige failile asukoht
- valima Tekstifail (komaga eraldatud) (.csv) rippmenüüst
- Click Säästa
- Ava CSV-fail Excelis
Parema analüüsi saamiseks vorminda eksporditud andmeid:
- Kustuta pooltühi rida 2 ja tühjenda lahter A1
- Vorminda veerg A kuupäeva/kellaajana
- Vorminda numbrilised veerud nullide kümnendkohtade ja tuhandete eraldajaga
- Otsi ja asenda serveri nimesid päistes (nt asenda „\\SERVERINIMI” tühikuga)
- Puhasta päistes olevad objektinimed (nt „Mälu”, „Füüsiline ketas”, „Protsessor”)
- 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:
- Lisa arvutustabeli ülaossa 7 tühja rida
- Lisa veergu A sildid: keskmine, mediaan, min, max, standardhälve
- Sisesta lahtrisse B2: =KESKMINE(B9:B100) (kohanda lahter B100 viimase andmerea järgi)
- Lahtrisse B3 sisestage: =MEDIAANS(B9:B100)
- Sisesta lahtrisse B4: =MIN(B9:B100)
- Sisesta lahtrisse B5: =MAX(B9:B100)
- Sisesta lahtrisse B6: =STDEV(B9:B100)
- Kopeeri valemid kõigisse loenduri veergudesse
- 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
7.2 PAL-i seadistamine
PAL-i installimiseks toimige järgmiselt.
- Laadige PAL-i installifail alla GitHubist
- Käivitage installiprogramm
- Click järgmine tervitusekraanil
- Vaadake üle ja nõustuge installikataloogiga
- Click järgmine jätkama
- Click paigaldama installimise alustamiseks
- Oodake, kuni installimine lõpetatakse
- Click lõpp
7.3 Logifailide töötlemine PAL-iga
Analüüsige oma jõudlusmonitori logisid PAL-i abil:
- Käivitage PAL menüüst Start või installikataloogist
- kliki Loenduri logi tab
- Click Sirvi oma .blg-faili valimiseks
- Liikuge oma jõudlusmonitori logifaili juurde
- Click avatud
- kliki Lävifail tab
- Valige rippmenüüst läviväärtusfail (nt „SQL Server 2016 ”)
- kliki Küsimused tab
- Vastake küsimustele oma süsteemi konfiguratsiooni kohta
- Täpsustage, kas teie SQL Server on OLTP ehk andmeladu
- Sisestage saadaoleva RAM-i koguarv
- kliki Väljundi valikud tab
- Valige HTML-aruande väljundkataloog
- Vaata HTML väljundvorming
- kliki Täitma tab
- Vaadake oma valikud üle
- Vaata Alusta täitmist kohe
- 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:
- avatud SQL Server Management Studio (SSMS) ja looge ühendus oma serveri eksemplariga
- Paremklõpsake Object Exploreris serveri nimel
- valima Activity Monitor
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.
8.1.2 SQL Server Jõudluse armatuurlaud
SQL Server Management Studio sisaldab sisseehitatud tulemuslikkuse aruandeid:
- In SQL Server Management Studio (SSMS), paremklõpsake ikooni SQL Server eksemplar objektide uurijas
- valima Aruanded -> Standardaruanded
- Valige saadaolevate aruannete hulgast, näiteks Jõudluse armatuurlaud
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.
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:
- In SQL Server Management Studio, klõpsake TÖÖRIISTAD -> SQL Server Profiler
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.
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:
- In Objektide uurija, laienda oma serverit ja mine aadressile Haldus -> Laiendatud sündmused -> Sessioonid
- Paremklõpsake nuppu Seansid Ja vali Uue seansi viisard
- 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.
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.
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.
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.
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:
- Toimivusandmete kogumine tavapärase töö ajal vähemalt ühe nädala jooksul
- Mõõdikute kogumine nii tipptundidel kui ka väljaspool tipptundi
- Tüüpiliste loendurite väärtuste dokumenteerimine
- Hooajaliste kõikumiste registreerimine, kui see on kohaldatav
- 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.
- Kontrollige protsessori järjekorra pikkuse loendurit. Väärtused üle 2 tuuma kohta näitavad protsessori koormust.
- Vaadake üle protsessori aja protsent. Püsivad väärtused üle 75% viitavad protsessori kitsaskohale.
- Kaugtöölaud SQL Server
- Ava tegumihaldur (Ctrl+Shift+Esc)
- kliki protsessid tab
- Vaata Kuva kõigi kasutajate protsessid
- kliki Protsessor veeru päis protsessori kasutuse järgi sortimiseks
- 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:
- Seadistamine SQL Server maksimaalse mälu seadistus, et operatsioonisüsteemile jääks piisavalt RAM-i (tavaliselt 4–8 GB, olenevalt serveri suurusest)
- Lubage seadme jaoks õigus „Lukusta lehed mälus” SQL Server teenusekonto
- Kui mälukoormus püsib, lisage serverisse rohkem füüsilist RAM-i
- 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:
- Avage tegevuste monitor SSMS-is
- Laienda protsessid lõik
- Otsi protsesse, mille väärtus erineb nullist Blokeeritud väärtused
- Blokeeriva seansi ID tuvastamine
- 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
- Paremklõpsake SSMS-is serveri nimel
- valima Activity Monitor
- Laiendama Hiljutised kallid päringud
- 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
- Ava SSMS-is uus päringuaken
- Click Kuva eeldatav täitmiskava (Ctrl+L) või Lisage tegelik teostusplaan (Ctrl+M)
- Täitke oma päring
- Vaadake üle kallite toimingute teostusplaan
- 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
- Paremklõpsake SSMS Object Exploreris andmebaasil.
- valima Kinnisvara
- kliki Päringupood lehekülg
- In Töörežiim (nõutud)valige Lugema kirjutama
- Vajadusel konfigureerige lisaseadeid
- Click OK
Päringu toimivuse jälgimine
Juurdepääsu päringu salvestamise aruanded objektide uurija kaudu:
- Laienda andmebaasi Object Exploreris
- Laiendama Päringupood
- 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:
- Ava päring päringusalves
- Paremklõpsake soovitud plaanil
- 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
- Laiendage SSMS-is SQL Server Agent
- Paremklõpsake Tööturg ja valige Uus töökoht
- Pange tööle nimi (nt „Toimivusnäitajate kogumine”).
- Click Sammud ja lisa uus samm
- Määra tüübiks Transact-SQL skript
- Sisestage oma andmekogumisskript
- Click Kavad ja lisa ajakava
- Sageduse seadistamine (nt iga 5 minuti järel)
- Click OK töökohta looma
Automatiseeritud aruandlus
Loo töid, mis genereerivad ja saadavad meiliga tulemusaruandeid:
- Loo salvestatud protseduur, mis genereerib aruandeid
- Kasutage aruannete saatmiseks e-posti teel andmebaasi meili
- 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
- Ühendage Power BI oma jõudlusandmete tabelitega
- Looge peamiste mõõdikute visualiseeringuid
- Lisa ajavahemiku ja serveri valiku jaoks viilutajad
- Armatuurlaudade avaldamine Power BI teenuses
- 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
- Checked SQL Server maksimaalse mälu seadistus – avastasin, et see oli seatud vaikesätetele (piiramatu)
- Serveri kogumälu ja sihtmälu võrdlus – näitas olulist erinevust
- Serveri maksimaalne mälu on konfigureeritud nii, et operatsioonisüsteemile jääb 8 GB.
- Lubatud on luba „Lukusta lehed mälus” SQL Server teenusekonto
- Serverile lisati 32 GB lisamälu
- 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
- Kasutas DMV-sid enim protsessorit tarbivate päringute tuvastamiseks
- Analüüsitud tuvastatud päringute täitmisplaanid
- Avastati suurtel tabelitel mitu tabeli skannimist puuduvate indeksite tõttu
- Loodud sobivad indeksid täitmiskava soovituste põhjal
- Tuvastati dünaamiline SQL, mis põhjustab liigset kompileerimist
- Muudetud rakenduse kood parameetriliste päringute kasutamiseks
- Probleemsete salvestatud protseduuride plaanijuhendi rakendamine
- 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
- Kontrollitud mäluseaded olid sobivad – mäluprobleeme ei leitud
- Analüüsitud ketta konfiguratsioon – tuvastati kõik failid samal spindlikomplektil
- Eraldi tehingulogid spetsiaalsetele kiiretele SSD-ketastele
- Tempdb teisaldati eraldi SSD-ketastele
- Rakendatud mitu tempdb andmefaili (üks iga tuuma kohta)
- Andmefailide draivide RAID 10 SSD konfiguratsiooniks uuendamine
- Optimeeritud partiitööd väiksemate tehingupartiide kasutamiseks
- 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
- Nädal 1: Seadistage jõudlusmonitor oluliste loenduritega
- Nädal 2: Looge andmekogujate komplekte automatiseeritud kogumiseks
- Nädal 3: Tavapärase tegevuse ajal baastasemete kehtestamine
- Nädal 4: Kriitiliste lävede märguannete seadistamine
- Kuu 2: Rakenda täiendavaid jälgimisvahendeid (DMV-d, laiendatud sündmused)
- Kuu 3: Kohandatud armatuurlaudade ja aruannete loomine
- 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:
- Performance Monitor: Loendurite lisamisel määrake kaugarvuti nimi
- PowerShell: Kasutage parameetrit -ComputerName koos funktsiooniga Get-Counter
- Sõidukite registreerimistunnistused: Loo ühendus kaugserveritega SSMS-i kaudu ja päri DMV-sid
- 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:
- Avage jõudlusmonitor koos laaditud logifailiga
- Paremklõpsake graafikul ja valige Salvesta andmed nimega
- Vali Tekstifail (komaga eraldatud) (.csv)
- Valige asukoht ja salvestage
- 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:
- SQL Server Jõudlusmonitori dokumentatsioon: https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/
- Dünaamilised haldusvaated: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/
- Pikendatud sündmused: https://learn.microsoft.com/en-us/sql/relational-databases/extended-events/
- Päringupood: https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store
- Jõudluse häälestamine ja jälgimine: https://learn.microsoft.com/en-us/sql/relational-databases/performance/
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.





























