Përmbajtje fsheh

1. Hyrje në SQL Server Performance Monitor

1.1 Çfarë është SQL Server Monitori i Performancës?

SQL Server Monitori i performancës është procesi i ndjekjes, analizimit dhe menaxhimit të performancës dhe shëndetit të pajisjes suaj. SQL Server bazat e të dhënave. Përfshin mbledhjen dhe interpretimin e të dhënave rreth aspekteve të ndryshme të sistemit tuaj të bazës së të dhënave për të siguruar performancë optimale, për të parandaluar problemet dhe për të ruajtur shëndetin e bazës së të dhënave.

Monitorimi i performancës përfshin ndjekjen e kohës së ekzekutimit të pyetjeve, shfrytëzimin e burimeve, performancën e indeksit, bllokimin dhe bllokimet, si dhe modelet e rritjes së bazës së të dhënave. Kjo mbikëqyrje e vazhdueshme i ndihmon administratorët të identifikojnë problemet e mundshme përpara se ato të ndikojnë te përdoruesit ose operacionet e biznesit.

1.2 Përfitimet kryesore të monitorimit të performancës

Në fuqi SQL Server Monitori i performancës ofron disa përparësi të rëndësishme:

  • Zbulimi proaktiv i problemeve: Identifikoni dhe adresoni problemet e mundshme përpara se ato të ndikojnë te përdoruesit ose operacionet e biznesit
  • Optimizimi i performancës: Identifikoni pengesat dhe joefikasitetet për të përmirësuar performancën e përgjithshme të bazës së të dhënave
  • Planifikimi i kapacitetit: Parashikoni nevojat për burime dhe planifikoni rritjen e ardhshme bazuar në të dhënat historike
  • Pajtueshmëria dhe siguria: Siguroni respektimin e kërkesave rregullatore dhe zbuloni aktivitete të dyshimta

1.3 Sfidat e zakonshme të performancës

Pa një monitor të duhur të performancës së bazës së të dhënave SQL, organizatat përballen me disa rreziqe:

  • Ndërprerje e papritur që prish operacionet e biznesit
  • Performanca e dobët e aplikacionit ndikon në përvojën e përdoruesit
  • Humbje ose korrupsion të të dhënave
  • Përdorimi joefikas i burimeve që çon në kosto të panevojshme
  • Përdorues të frustruar dhe humbje e mundshme e të ardhurave

Sipas një studimi të IDC-së të vitit 2023, 65% e problemeve me performancën e bazës së të dhënave rrjedhin nga praktikat e dobëta të monitorimit ose optimizimit.

2. Kuptimi i Monitorit të Performancës së Windows (PerfMon)

2.1 Çfarë është Monitori i Performancës së Windows?

Monitori i Performancës së Windows (PerfMon) është një mjet i integruar i Windows që monitoron burimet e sistemit dhe performancën e aplikacioneve. SQL Server administratorëve, PerfMon ofron njohuri të paçmueshme si në sistemin operativ ashtu edhe SQL Server metrika, duke e bërë atë thelbësore për analizën gjithëpërfshirëse të performancës.

Monitori i Performancës së Windows (PerfMon)

PerfMon mat statistikat e performancës në intervale të rregullta dhe i ruan ato statistika në skedarë për analiza të mëvonshme. Administratorët e bazës së të dhënave mund të zgjedhin intervalin kohor, formatin e skedarit dhe cilat statistika të monitorojnë. Mjeti nuk është SQL Server-specifike—administratorët e sistemit e përdorin atë për të monitoruar vetë Windows-in, Exchange-in, serverët e skedarëve dhe çdo aplikacion që mund të hasë pengesa.

2.2 Hapja e Monitorit të Performancës

Mund të filloni Monitorin e Performancës duke përdorur disa metoda:

  1. Kliko fillim, shkruaj perfmon në kutinë e kërkimit, klikoni te "Performand Monitor" në rezultatin e kërkimit:
    Kërko dhe nis PerfMon nga kutia e kërkimit të Windows.
  2. shtyp Windows + R, shkruaj perfmon, dhe shtypni Shkruani
    Nisni PerfMon nga kutia e ekzekutimit të Windows.
  3. Shkoni tek Paneli i kontrollit -> Sistemi dhe Siguria -> Tools Administrative -> Performance Monitor
    Nisni PerfMon nga Paneli i Kontrollit -> Sistemi dhe Siguria -> Mjetet Administrative -> Monitori i Performancës

3. thelbësor SQL Server Matësit e Performancës

3.1 Numëruesit e Performancës së Memories

Numëruesit e kujtesës janë kritikë për monitorimin SQL Server performancën pasi ato tregojnë nëse baza juaj e të dhënave ka burime të mjaftueshme memorieje.

Mbajt të disponueshëm

Ky numërues tregon sasinë e memories fizike që është menjëherë e disponueshme për alokim. Duhet të mbetet mjaft konstante dhe idealisht të mos bjerë nën 4096 MB. Vlerat e ulëta mund të tregojnë se SQL ServerCilësimi maksimal i memories lihet në parazgjedhje ose jo-SQL Server Aplikacionet po konsumojnë memorie.

Jetëgjatësia e faqes

Jetëgjatësia e faqes mat se sa gjatë (në sekonda) qëndron një faqe në pishinën e memorjes së përkohshme pa u referuar. Një vlerë normale është 300 sekonda ose më shumë. Vlerat më të ulëta tregojnë presion të memories dhe qarkullim të tepërt të memorjes së përkohshme, duke zvogëluar efektivitetin e memorjes së përkohshme.

Raporti i goditjeve të memorjes së përkohshme të memorjes së përkohshme

Ky numërues tregon përqindjen e kërkesave për të dhëna të përgjigjura duke përdorur memorjen e përkohshme të bufferit SQL në vend që të lexojë nga disku. Zakonisht arrin ose tejkalon 99%. Vlerat më të ulëta sugjerojnë se SQL Server Ka nevojë për më shumë memorie ose ende ngrohet pas një rinisjeje.

Grantet e kujtesës në pritje

Kjo tregon numrin e proceseve që presin për memorie brenda SQL ServerNë kushte normale, kjo vlerë duhet të jetë vazhdimisht 0. Vlerat më të larta tregojnë ndarje të pamjaftueshme të memories për SQL Server.

Memoria e Serverit të Targetit kundrejt Memories Totale të Serverit

Memoria e Serverit të Targetit tregon sasinë ideale të memories SQL Server dëshiron të përdorë. Memoria Totale e Serverit tregon se çfarë SQL Server përdor aktualisht. Raporti midis këtyre vlerave duhet të jetë afërsisht 1. Dallimet e rëndësishme mund të tregojnë presion të memories ose memorie të pamjaftueshme të disponueshme.

3.2 Numëruesit e Performancës së Procesorit

Numëruesit e CPU-së ndihmojnë në identifikimin e pengesave të procesorit dhe në kuptimin e mënyrës se si SQL Server përdor burimet kompjuterike.

% Koha e Procesorit

Kjo mat përqindjen e kohës së kaluar që procesori shpenzon duke ekzekutuar fije jo-idle. Në serverat aktivë, vlerat mund të rriten deri në 100%, por përdorimi i vazhdueshëm mbi 70-75% zakonisht tregon probleme të performancës për përdoruesit. Indekset që mungojnë ose janë të pamjaftueshëm shpesh shkaktojnë përdorim të lartë të CPU-së.

% Kohë e Privilegjuar

Koha e procesorit ndahet në modalitetin e përdoruesit dhe përpunimin në modalitetin e privilegjuar (bërthamë). I gjithë aksesi në disk dhe hyrjet/daljet ndodhin në modalitetin e bërthamës. Nëse ky numërues tejkalon 25%, sistemi ka të ngjarë të kryejë shumë hyrje/dalje. Vlerat normale variojnë midis 5% dhe 10%.

Gjatësia e radhës së procesorit

Ky numërues tregon fijet që presin për burimet e CPU-së. Vlerat vazhdimisht mbi 1 (përveç gjatë SQL Server kompresimi i kopjes rezervë) tregojnë presionin e CPU-së. Kjo shpesh do të thotë që aplikacione të tjera janë instaluar në SQL Server makinë, e cila shkel praktikat më të mira.

Ndërruesit e Kontekstit/sek

Kjo mat se sa shpesh procesori ndërron midis fijeve. Ndërrimi i tepërt i kontekstit mund të ndikojë në performancë dhe tregon ngarkesë të lartë të sistemit.

3.3 Numëruesit e Performancës së Hyrjeve/Daljeve të Diskut

Numëruesit e diskut janë thelbësorë për monitorimin e performancës së SQL pasi Hyrjet/Daljet e diskut shpesh bëhen pengesa kryesore në sistemet e bazave të të dhënave.

% Koha e Diskut

Kjo regjistron përqindjen e kohës që disku ishte i zënë me operacione leximi/shkrimi. Vlerat vazhdimisht mbi 85% tregojnë një pengesë I/O. Meqenëse disku është shumë më i ngadaltë se memoria, zvogëlimi i kësaj metrike përmirëson performancën.

Mesatarja e sekondave të diskut/lexim dhe Mesatarja e sekondave të diskut/shkrim

Këta numërues matin kohën mesatare (në sekonda) për operacionet e leximit dhe shkrimit. Nëse vlerat mesatare tejkalojnë 10-20ms, disku kërkon shumë kohë për të përpunuar të dhënat. Disqet e regjistrave të transaksioneve kërkojnë performancë shkrimi veçanërisht të shpejtë.

Gjatësia e radhës së diskut

Kjo tregon kërkesa të pazgjidhura për lexim/shkrim në disk. Vlerat vazhdimisht më të larta se 2 (ose 2 për disk për vargjet RAID) tregojnë se disku nuk mund të përballojë kërkesat I/O.

Bajt/sek

Kjo monitoron shpejtësinë e transferimit të të dhënave nga/në disk. Nëse kjo tejkalon kapacitetin e vlerësuar të diskut, të dhënat fillojnë të grumbullohen, siç tregohet nga rritja e Gjatësisë së Radhës së Diskut.

Transferimet e diskut/sek

Kjo gjurmon numrin e operacioneve të leximit/shkrimit të kryera në disk. SQL Server Qasja në të dhëna është zakonisht e rastësishme, gjë që është më e ngadaltë për shkak të lëvizjes së kokës së diskut. Sigurohuni që kjo vlerë të mbetet nën vlerësimin maksimal të diskut tuaj (zakonisht 100/sek për disqet standarde).

3.4 SQL Server Numërues specifikë

3.4.1 Numëruesit e Menaxherit të Buferit

Monitori i numëruesve të Buffer Manager SQL ServerOperacionet e memorjes së bufferit:

  • Lexime faqesh/sek: Numri kumulativ i leximeve të faqeve fizike të bazës së të dhënave
  • Shkrime faqesh/sek: Numri kumulativ i shkrimeve në faqet fizike të bazës së të dhënave
  • Lazy shkruan/sek: Numri i buffer-ave të shkruar nga shkruesi dembel për të liruar memorien
  • Faqet e pikës së kontrollit/sek: Faqet e pastruara nga pikat e kontrollit ose operacione të tjera që kërkojnë pastrimin e të gjitha faqeve të papastra

3.4.2 Numëruesit e Statistikave SQL

Këto numërues ofrojnë informacion mbi SQL Server përpunimi i pyetjeve:

  • Kërkesa në grup/sek: Numri i kërkesave SQL në grup të marra nga serveri. Kjo shërben si një pikë referimi për aktivitetin e serverit.
  • Kompilime SQL/sek: Numri i kompilimeve SQL. Duhet të jetë 10% ose më pak e totalit të Kërkesave Batch/sek.
  • Rikompilime SQL/sek: Numri i rikompilimeve SQL. Duhet të jetë gjithashtu 10% ose më pak e totalit të Kërkesave Batch/sek.

3.4.3 Numërues të Statistikave të Përgjithshme

  • Lidhjet e Përdoruesit: Numri i përdoruesve të lidhur me sistemin. Përdoret si pikë referimi për të ndjekur rritjen e lidhjes me kalimin e kohës.
  • Proceset e bllokuara: Numri aktual i proceseve të bllokuara. Idealisht duhet të jetë 0

3.4.4 Numëruesit e Menaxherit të Memories

  • Grantet e Kujtesës në Pritje: Numri total i proceseve që presin për dhënien e memories së hapësirës së punës. Idealisht duhet të jetë 0.

4. Konfigurimi i Monitorit të Performancës për SQL Server(Windows Vista / Server 2008 dhe më vonë)

Para së gjithash, duhet të krijojmë një kontejner për të menaxhuar më lehtë numëruesit:

  • Për Windows Vista / Server 2008 dhe versionet e mëvonshme, mund të krijoni Sete të Mbledhësve të të Dhënave në këtë seksion.
  • Për Windows XP / Server 2003 dhe versionet e mëparshme, mund të krijoni Logje të Numëruesve në seksioni tjetër.

4.1 Çfarë janë Setet e Mbledhësve të të Dhënave?

Setet e Mbledhësve të të Dhënave organizojnë numëruesit e performancës, të dhënat e gjurmimit të ngjarjeve dhe informacionin e konfigurimit të sistemit në një njësi të vetme mbledhjeje. Ato ofrojnë më shumë fleksibilitet sesa regjistrat e thjeshtë të numëruesve dhe mundësojnë mbledhjen e automatizuar dhe të planifikuar të të dhënave për monitorim gjithëpërfshirës të performancës së bazës së të dhënave SQL.

4.2 Krijimi i një grupi mbledhësish të të dhënave

Krijo një Set të Personalizuar për Mbledhësit e të Dhënave për të monitoruar SQL Server numëruesit e performancës:

  1. Hapni Monitorin e Performancës
  2. Expand Komplete të koleksionistëve të të dhënave
  3. Djathtas-klikoni Perdorues i percaktuar
  4. zgjedh Të reja -> Set i mbledhësit të të dhënave
    Krijo një Set të ri të Mbledhësve të të Dhënave në PerfMon
  5. Futni një emër përshkrues (p.sh., "")SQL Server Metrikat e Performancës)
  6. zgjedh Krijo manualisht (E avancuar)
    Vendosni një emër përshkrimi për Setin e Mbledhësit të të Dhënave
  7. Kliko Tjetër
  8. kontrolloni Krijo regjistra të dhënash -> Numërues i Performancës
    Zgjidhni Krijo regjistra të dhënash -> Numërues i Performancës në asistentin Krijo Set të ri të Koleksionistit të të Dhënave.
  9. Kliko Tjetër
  10. Kliko Shtoj për të zgjedhur numëruesit
  11. Shtoj dëshiruar SQL Server dhe numëruesit e sistemit.
    Shtoni numërues të performancës në Setin e ri të Mbledhësit të të Dhënave.
  12. Set Intervali i mostrës
    • Për monitorim rutinë, përdorni 1 minutë (60 sekonda)
    • Për zgjidhje aktive të problemeve, përdorni 15-30 sekonda
    • Shmangni kryerjen e regjistrimeve me frekuencë të lartë për një kohë të gjatë, pasi ato mund të ndikojnë në performancë dhe të gjenerojnë të dhëna të tepërta.

    Cakto intervalin e mostrës në asistentin e ri të Grupit të Mbledhësit të të Dhënave.

  13. Kliko Tjetër
  14. Zgjidhni vendndodhjen për të ruajtur regjistrat
    Cakto vendndodhjen për të ruajtur të dhënat e performancës në asistentin e ri të Setit të Mbledhësit të të Dhënave.
  15. Kliko Fund, do të krijohet një Set i ri i Mbledhësve të të Dhënave.
  16. Si parazgjedhje, Seti i ri i Mbledhësit të të Dhënave do të NUK të niset automatikisht. Duhet ta gjeni në panelin e majtë, nën Performance -> Komplete të koleksionistëve të të dhënave -> Perdorues i percaktuar -> Kolektori juaj i të dhënave, klikoni me të djathtën mbi të dhe zgjidhni fillim
    Filloni një Set të ri të Mbledhësit të të Dhënave në PerfMon.

4.3 Numëruesit e Çelësave për t'u Shtuar

  • Memoria -> MBajt të Disponueshëm
  • Disku fizik -> Mesatarja e sekondës së diskut/lexim (të gjitha instancat përveç _Total)
  • Disk Fizik -> Mesatarja e Disk Sekondave/Shkrim (të gjitha instancat përveç _Total)
  • Disku Fizik -> Lexime të Diskut/sek (të gjitha instancat përveç _Total)
  • Disk Fizik -> Shkrime në Disk/sek (të gjitha instancat përveç _Total)
  • Procesori -> % Koha e Procesorit (të gjitha instancat përveç _Total)
  • SQLServer: Statistikat e Përgjithshme -> Lidhjet e Përdoruesve
  • SQLServer: Menaxheri i Memories -> Grantet e Memories në Pritje
  • SQLServer: Statistikat SQL -> Kërkesat në Grumbull/sek
  • SQLServer: Statistikat SQL -> Kompilimet SQL/sek
  • SQLServer: Statistikat SQL -> Rikompilime SQL/sek
  • Sistemi -> Gjatësia e Radhës së Procesorit

4.4 Vendosja e Kushteve të Ndalimit

Konfiguroni kushtet e ndalimit për të parandaluar rritjen e pakufizuar të të dhënave:

  1. Pasi të keni krijuar Setin e Mbledhësit të të Dhënave, klikoni me të djathtën mbi të dhe zgjidhni Pronat
  2. Kliko Gjendja e Ndalimit tab
  3. Aktivizo Kohëzgjatja e përgjithshme
  4. Cakto kohëzgjatjen në 1 ditë (24 orë)
  5. Kliko OK për të shpëtuar

Vendos kushtin e ndalimit për Setin e Mbledhësit të të Dhënave

Kjo siguron që regjistri të mos rritet shumë dhe të riniset automatikisht nëse është planifikuar.

4.5 Planifikimi i Mbledhjes së të Dhënave

Automatizoni mbledhjen e të dhënave për të siguruar monitorim të qëndrueshëm:

  1. Klikoni me të djathtën në Setin e Koleksionistit të të Dhënave dhe zgjidhni Pronat
  2. Kliko Orar tab
  3. Kliko Shtoj për të krijuar një orar të ri
  4. Konfiguro datën dhe orën e fillimit
  5. Cakto modelin e përsëritjes (p.sh., çdo ditë)
  6. Kliko OK për të ruajtur orarin

Cakto orarin për Setin e Mbledhësit të të Dhënave

Për nisje automatike, konfiguroni Setin e Mbledhësit të të Dhënave që të nisë kur serveri niset duke krijuar një shkaktar nisjeje në Planifikuesin e Detyrave të Windows.

5. Konfigurimi i Monitorit të Performancës për SQL Server(Windows XP / Server 2003 dhe më të hershëm)

Për Windows XP / Server 2003 dhe versionet e mëparshme, mund të krijoni Logje të Numëruesve, të cilat ju lejojnë të zgjidhni një grup numëruesish të performancës dhe t'i regjistroni ato në një skedar periodikisht.

5.1 Krijimi i Regjistrave të Numëruesve

Ndiqni këto hapa për të krijuar një regjistër të ri numëruesish:

  1. Hapni Monitorin e Performancës
  2. Expand Regjistrat dhe alarmet e performancës në panelin e majtë
  3. Djathtas-klikoni Numërues Regjistrash
  4. zgjedh Cilësimet e reja të regjistrit
  5. Emërtoni regjistrin me emrin e serverit të bazës së të dhënave (p.sh., “ProductionSQL01”)
  6. Kliko OK për të filluar konfigurimin

Krijimi i regjistrave të veçantë të numëruesve për secilin server ju lejon të testoni performancën në servera individualë pa mbledhur të dhëna për të gjithë serverët njëkohësisht.

5.2 Shtimi i Numëruesve të Performancës

Pasi të krijoni një regjistër numëruesish, shtoni numëruesit specifikë të performancës që dëshironi të monitoroni:

  1. Kliko Shto Numërues buton
  2. Ndryshoni emrin e kompjuterit që të tregojë te ju SQL Server shembull
  3. shtyp Tab për të ngarkuar objektet e performancës në dispozicion
  4. Zgjidhni një objekt performance nga menyja zbritëse (p.sh., kujtim)
  5. Zgjidhni numërues specifikë nga në listë
  6. Zgjidhni instancat nëse është e aplikueshme (p.sh., procesorë ose disqe individuale)
  7. Kliko Shtoj për të përfshirë numëruesin
  8. Përsëriteni për të gjithë numëruesit e dëshiruar
  9. Kliko afër kur të përfundojë

5.3 Konfigurimi i Intervaleve të Mostrës

Intervali i mostrës përcakton se sa shpesh Performance Monitor mbledh të dhëna. Konfiguroni intervalet e duhura bazuar në nevojat tuaja të monitorimit:

  1. Në vetitë e regjistrit të numëruesit, gjeni Të dhëna shembullore çdo
  2. Cakto intervalin (parazgjedhja është 15 sekonda)
  3. Për monitorimin bazë, përdorni intervale 1 minutëshe për mbledhjen ditore
  4. Për zgjidhjen e problemeve, përdorni intervale 15-30 sekondash për shpërthime të shkurtra
  5. Kliko OK te aplikosh

Mbani mend se intervalet më të vogla gjenerojnë më shumë të dhëna, të cilat mund të jenë më të vështira për t'u paraqitur dhe analizuar. Intervalet më të mëdha mund të humbasin rritje të rëndësishme. Balanconi detajet e të dhënave me kërkesat e ruajtjes dhe analizës.

5.4 Konfigurimi i Skedarëve të Regjistrimit

Konfigurimi i duhur i skedarit të regjistrit siguron që të dhënat të ruhen në mënyrë efikase dhe të arritshme:

  1. Kliko Files Identifikohu Tab në vetitë e regjistrit të numëruesit
  2. Ndrysho llojin e skedarit të regjistrit në Skedar teksti (i ndarë me presje) për importim të lehtë në Excel
  3. Kliko Konfiguroni
  4. Cakto shtegun e skedarit në një vendndodhje të dedikuar (p.sh., një dosje e përbashkët PerformanceLogs)
  5. Kliko OK për të konfirmuar

Përdorni një ndarje të aksesueshme në rrjet për ruajtjen e regjistrave, në mënyrë që të mund të qaseni në skedarë nga distanca dhe t'i ndani ato me përdorues të tjerë.

5.5 Vendosja e kredencialeve

Konfiguroni kredencialet e duhura në mënyrë që Monitori i Performancës të mund të hyjë në distancë SQL Server raste:

  1. Në vetitë e regjistrit të numëruesit, gjeni Vrapo si
  2. Futni emrin e përdoruesit të domenit tuaj në formatin: DOMAIN\emri i përdoruesit
  3. Kliko Cakto fjalëkalimin
  4. Futni dhe konfirmoni fjalëkalimin tuaj
  5. Kliko OK për të shpëtuar

Kjo i lejon shërbimit PerfMon të mbledhë statistika duke përdorur lejet e domenit tuaj në vend të kredencialeve të veta.

6. Analizimi i të dhënave të Monitorit të Performancës

6.1 Shikimi i skedarëve të regjistrit në Monitorin e Performancës

Monitori i Performancës mund të shfaqë të dhëna historike nga skedarët e ruajtur të regjistrit:

  1. Hapni Monitorin e Performancës
  2. Në panelin e majtë, klikoni Mjetet e Monitorimit -> Performance Monitor.
  3. Klikoni me të djathtën kudo në zonën e grafikut
  4. zgjedh Pronat
    Hapni vetitë në PerfMon duke klikuar me të djathtën kudo në zonën e grafikut.
  5. Kliko Burim tab
  6. zgjedh Fotografi log butonin e radios
  7. Kliko Shtoj
  8. Shko te skedari yt i regjistrit (.blg ose .csv)
  9. Zgjidhni skedarin dhe klikoni hapur
    Cakto skedarin e regjistrit si burimin e grafikut në PerfMon.
  10. Përdorimi Varg kohor rrëshqitës për të zgjedhur periudhën që dëshironi të analizoni
  11. Kliko OK për të mbyllur dialogun e Vetive
  12. Klikoni ikonën plus të gjelbër për të shtuar numërues nga skedari i regjistrit
    Klikoni ikonën plus të gjelbër për të shtuar numërues nga skedari i regjistrit në PerfMon.
  13. Zgjidhni numëruesit e dëshiruar për t'i shfaqur
    Shtoni numëruesit e dëshiruar në grafik në PerfMon.
  14. Kliko OK

Grafiku tani do të shfaqë të dhënat historike nga skedari i regjistrit. Përdorni rrëshqitësin e Diapazonit Kohor në Vetitë për të ngushtuar periudhat kohore specifike për analiza të hollësishme.

6.2 Eksportimi i të dhënave në Excel

Excel ofron aftësi të fuqishme analize për të dhënat e numëruesve të performancës:

  1. Hapni Monitorin e Performancës me skedarin tuaj të regjistrit të ngarkuar
  2. Klikoni me të djathtën kudo në zonën e grafikut
  3. zgjedh Ruaj të dhënat si
  4. Zgjidhni një vendndodhje për skedarin
  5. zgjedh Skedar teksti (i ndarë me presje) (.csv) nga dropdown
  6. Kliko Ruaje
  7. Hap skedarin CSV në Excel

Eksportoni të dhënat në skedarin në PerfMon.

Formatoni të dhënat e eksportuara për një analizë më të mirë:

  1. Fshij rreshtin gjysmë të zbrazët 2 dhe fshij qelizën A1
  2. Formato kolonën A si Datë/Orë
  3. Formatoni kolonat numerike me zero decimale dhe ndarës mijërash
  4. Gjeni dhe zëvendësoni emrat e serverëve në headers (p.sh., zëvendësoni "\\EMRI I SERVERIT" me bosh)
  5. Pastroni emrat e objekteve në header (p.sh., "Memory", "PhysicalDisk", "Processor")
  6. Zvogëloni madhësinë e shkronjave të kokës në 8 pikë për dukshmëri më të mirë

6.3 Interpretimi i Vlerave të Numëruesve

6.3.1 Analiza e Numëruesit të Memorjes

Kur analizoni numëruesit e memories, kërkoni këta tregues:

  • MBajt të disponueshëm: Duhet të mbetet mbi 4096 MB vazhdimisht
  • Jetëgjatësia e faqes: Vlerat mbi 300 sekonda tregojnë kujtesë të shëndetshme. Vlerat më të ulëta sugjerojnë presion të kujtesës.
  • Raporti i Goditjes së Memorjes së Përkohshme të Buffer-it: Duhet të përmbushë ose tejkalojë 99%. Vlerat më të ulëta tregojnë lexim të tepërt të diskut
  • Grantet e Kujtesës në Pritje: Duhet të jetë gjithmonë 0. Çdo vlerë pozitive tregon mungesë memorieje.

6.3.2 Analiza e numëruesit të CPU-së

Treguesit e performancës së CPU-së përfshijnë:

  • % e kohës së procesorit: Përdorimi i vazhdueshëm mbi 75% tregon probleme me performancën. Rritja e shpejtësisë në 100% është normale, por nuk duhet të vazhdojë.
  • Gjatësia e radhës së procesorit: Vlerat mbi 1 tregojnë presionin e CPU-së. Kontrolloni Task Manager për të identifikuar se cilat procese konsumojnë CPU-në.
  • % Kohë e Privilegjuar: Duhet të qëndrojë midis 5-10%. Vlerat mbi 25% sugjerojnë operacione të tepërta I/O.

6.3.3 Analiza e Numëruesit të Diskut

Kufijtë e performancës së diskut:

  • Mesatarja e sekondës së diskut/Lexim dhe Shkrim: Duhet të qëndrojë nën 10-20ms. Vlerat më të larta tregojnë nënsisteme të ngadalta të diskut.
  • Gjatësia e radhës së diskut: Vlerat vazhdimisht mbi 2 (ose 2 për disk në RAID) tregojnë bllokime I/O.
  • % Koha e Diskut: Vlerat e qëndrueshme mbi 85% tregojnë ngopje të diskut

6.4 Përdorimi i Formulave dhe Statistikave

Shtoni formula statistikore në Excel për analiza të shpejta:

  1. Vendosni 7 rreshta bosh në krye të fletës së llogaritjes suaj
  2. Shtoni etiketat në kolonën A: Mesatarja, Mediana, Min, Maks, Devijimi Standard
  3. Në qelizën B2, shkruani: =AVERAGE(B9:B100) (rregulloni B100 në rreshtin e fundit të të dhënave)
  4. Në qelizën B3, shkruani: =MEDIAN(B9:B100)
  5. Në qelizën B4, shkruani: =MIN(B9:B100)
  6. Në qelizën B5, shkruani: =MAX(B9:B100)
  7. Në qelizën B6, shkruani: =STDEV(B9:B100)
  8. Kopjoni formulat në të gjitha kolonat e numëruesve
  9. Zgjidhni qelizën B9 dhe shtypni Alt+W+F+Enter për të ngrirë panelet

Këto statistika ndihmojnë në identifikimin e trendeve, vlerave të jashtëzakonshme dhe diapazoneve normale të funksionimit për secilin numërues.

7. Mjeti i Analizës së Performancës për Logjet (PAL)

7.1 Hyrje në PAL

Analiza e Performancës për Logjet (PAL) është një mjet falas i zhvilluar nga Clint Huffman që analizon logjet e Monitorit të Performancës dhe gjeneron raporte HTML me analizën e pragjeve. PAL krahason të dhënat tuaja të performancës me pragjet e njohura dhe ofron rekomandime të hollësishme për SQL Server optimizimi i performancës.

Shkarkoni PAL nga repozitori GitHub: https://github.com/clinthuffman/PAL External Link

7.2 Konfigurimi i PAL

Instaloni PAL duke ndjekur këto hapa:

  1. Shkarkoni skedarin e konfigurimit PAL nga GitHub
  2. Ekzekutoni instaluesin
  3. Kliko Tjetër në ekranin e mirëseardhjes
  4. Rishikoni dhe pranoni direktorinë e instalimit
  5. Kliko Tjetër për të vazhduar
  6. Kliko Instaloj për të filluar instalimin
  7. Prisni që instalimi të përfundojë
  8. Kliko Fund

7.3 Përpunimi i skedarëve të regjistrit me PAL

Analizoni regjistrat e Monitorit të Performancës duke përdorur PAL:

  1. Hapni PAL nga menyja Start ose nga direktoria e instalimit
  2. Kliko Regjistri i numërimit tab
  3. Kliko shfletoj për të zgjedhur skedarin tuaj .blg
  4. Shkoni te skedari juaj i regjistrit të Monitorit të Performancës
  5. Kliko hapur
  6. Kliko Skedari i Pragut tab
  7. Zgjidhni një skedar pragu nga menyja zbritëse (p.sh., ""SQL Server 2016 ")
  8. Kliko pyetjet tab
  9. Përgjigjuni pyetjeve në lidhje me konfigurimin e sistemit tuaj
  10. Specifikoni nëse tuaj SQL Server është OLTP ose Depo e të Dhënave
  11. Futni RAM-in total të disponueshëm
  12. Kliko Opsionet e daljes tab
  13. Zgjidhni një direktori dalëse për raportin HTML
  14. kontrolloni HTML formati i daljes
  15. Kliko zbatoj tab
  16. Rishikoni zgjedhjet tuaja
  17. kontrolloni Filloni ekzekutimin tani
  18. Kliko Fund

7.4 Analizimi i raporteve PAL

Pasi PAL përfundon analizën, ai gjeneron një raport HTML që përmban:

  • Përmbledhje ekzekutive e çështjeve të performancës
  • Analizë e detajuar kundër-analizë me grafikë
  • Shkeljet e pragut të theksuara me ngjyra
  • Rekomandime specifike për secilën çështje
  • Tendencat dhe modelet historike

Raporti përdor kodim me ngjyra për të treguar ashpërsinë: e kuqe për problemet kritike, e verdhë për paralajmërimet dhe jeshile për metrika të shëndetshme. Rishikoni çdo seksion për të kuptuar pengesat e performancës dhe ndiqni rekomandimet e PAL për optimizim.

8. Alternativa SQL Server Mjetet e Monitorimit

8.1 E integruar SQL Server Tools

8.1.1 SQL Server Monitorimi i Aktivitetit

SQL Server Monitorimi i Aktivitetit shfaq informacion në kohë reale rreth SQL Server proceset dhe performanca:

  1. hapur SQL Server Management Studio (SSMS) dhe lidheni me instancën e serverit tuaj
  2. Klikoni me të djathtën mbi emrin e serverit në Object Explorer
  3. zgjedh Monitorimi i Aktivitetit
    Nis Monitorin e Aktivitetit në SQL Server Studio e Menaxhimit.

Monitori i Aktivitetit tregon proceset, pritjet e burimeve, hyrjet/daljet e skedarëve të të dhënave dhe pyetjet e fundit të kushtueshme. Ai ofron njohuri të shpejta mbi aktivitetin aktual të bazës së të dhënave, por nuk ruan të dhëna historike.

Monitori i Aktivitetit në SQL Server

8.1.2 SQL Server Paneli i performancës

SQL Server Management Studio përfshin raporte të integruara të performancës:

  1. In SQL Server Studio e Menaxhimit (SSMS), klikoni me të djathtën mbi SQL Server instancë në Object Explorer
  2. zgjedh Raportet -> Raportet standarde
  3. Zgjidhni nga raportet e disponueshme si p.sh. Paneli i performancës
    Hap Panelin e Performancës në SQL Server Studio e Menaxhimit.

Paneli i Performancës ofron njohuri vizuale mbi SQL Server performanca e instancës, duke përfshirë shfrytëzimin e CPU-së së sistemit, kërkesat aktuale të pritjes dhe metrikat e performancës. Qasuni në të përmes menysë së Raporteve Standarde.

Paneli i Performancës në SQL Server Studio e Menaxhimit

8.1.3 SQL Server Profiler

SQL Server Profiler kap dhe analizon SQL Server ngjarje të tilla si ekzekutimi i pyetjeve, operacionet e transaksioneve dhe aktivitetet e hyrjes.

Të fillosh SQL Server Profiluesi:

  1. In SQL Server Studio e Menaxhimit, kliko Tools -> SQL Server Profiler
    fillim SQL Server Profilizuesi në SQL Server Studio e Menaxhimit.

Profiler krijon mbingarkesë të konsiderueshme të performancës, prandaj përdoreni me mençuri dhe mundësisht gjatë orëve jashtë orarit të pikut. Për shumicën e skenarëve, Extended Events ofron performancë më të mirë me më pak ndikim.

SQL Server Profiler

8.1.4 Ngjarje të Zgjeruara

Ngjarje të zgjeruara është një sistem i lehtë monitorimi i performancës i integruar në SQL Server. Zëvendëson SQL Server Profiler me performancë më të mirë dhe kosto më të ulët.

Karakteristikat kryesore përfshijnë:

  • Monitorim i detajuar i ngjarjeve specifike
  • Ndikimi minimal i performancës
  • Sesione të personalizueshme të ngjarjeve
  • Integrimi me SSMS dhe mjete të tjera
  • Mbështetje për filtrim dhe grumbullim kompleks

Krijoni seanca të Ngjarjeve të Zgjeruara përmes SSMS:

  1. In Eksploruesi i Objekteve, zgjero serverin tënd dhe shko te Menaxhimi -> Ngjarjet e Zgjeruara -> Sesionet
  2. Djathtas-klikoni mbi Seancat dhe zgjidhni Magjistari i Sesionit të Ri
    Filloni një seancë të re të Ngjarjeve të Zgjeruara në SQL Server Studio e Menaxhimit.
  3. Ndiqni udhëzimet për të filluar një seancë të re.

8.1.5 Pamje të Menaxhimit Dinamik (DMV)

DMV-të shfaqin informacion të detajuar të gjendjes së serverit për monitorimin e shëndetit, diagnostikimin e problemeve dhe akordimin e performancës. DMV-të kryesore përfshijnë:

  • sys.dm_exec_query_stats: Statistikat e performancës së pyetjeve
  • sys.dm_os_wait_stats: Llojet e pritjes që ndikojnë në performancën e serverit
  • sys.dm_os_performance_counters: SQL Server të dhënat e numëruesit të performancës
  • sys.dm_exec_requests: Kërkesat po ekzekutohen aktualisht
  • sys.dm_exec_sessions: Sesionet aktive të përdoruesve

Bëni pyetje në këto pamje duke përdorur T-SQL për të aksesuar të dhënat e performancës në kohë reale dhe metrikat historike.

Përdorimi themelor

-- 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 Zgjidhje Monitorimi nga Palët e Treta

Redgate SQL Monitor

Redgate SQL Monitor specializohet në monitorim SQL Server dhe mjediset e bazës së të dhënave Azure SQL. Ofron monitorim në të gjithë zonën, alarme dhe panele të personalizueshme, aftësi raportimi të detajuara dhe integrim me mjete të tjera Redgate.

Redgate SQL Server Monitor

SolarWinds SQL Server Mjeti i monitorimit

Erërat Diellore SQL Server Mjeti i Monitorimit, i njohur gjithashtu si SQL Sentry, është krijuar për të diagnostikuar, zgjidhur dhe parandaluar probleme serioze të performancës me SQL Server.

SolarWinds SQL Server Mjeti i monitorimit

IDERA-s SQL Server Mjeti i Monitorimit të Performancës

IDERA SQL Diagnostic Manager është një program i fuqishëm SQL Server Mjet monitorimi i performancës i projektuar për të ndihmuar me monitorimin proaktiv të performancës, diagnostikimin dhe akordimin.

IDERA-s SQL Server Mjeti i Monitorimit të Performancës

Monitorimi SQL i menaxherit të aplikacioneve

Menaxheri i Aplikacioneve ofron një Microsoft SQL Server Mjet monitorimi që ofron zgjidhje të dobishme IT. Është krijuar për të mbikqyrur performancën e bazave të të dhënave SQL, ndërkohë që identifikon gabimet dhe zgjidh problemet që mund të çojnë në ndalimin e funksionimit të një organizate.

Monitorimi SQL i menaxherit të aplikacioneve

8.3 Mjete Monitorimi me Burim të Hapur

DBA Dash

DBA Dash është një mjet monitorimi falas dhe me burim të hapur që ofron njohuri mbi SQL Server shëndeti, performanca dhe aktiviteti. Është veçanërisht i dobishëm për mjedise të vogla deri të mesme dhe përfshin kontrolle ditore të DBA-së, monitorim të performancës dhe gjurmim të konfigurimit.

SQLWATCH

SQLWATCH ofron shërbime të decentralizuara, pothuajse në kohë reale. SQL Server monitorim me granularitet 5-sekondësh për kapjen e rritjeve të ngarkesës së punës. Mbështet Grafana për panele në kohë reale dhe Power BI për analiza të thella. Mjeti ofron mundësi të gjera konfigurimi, zero kërkesa për mirëmbajtje dhe shkallëzueshmëri të pakufizuar.

Vëzhgues

Zhvilluar nga Stack Exchange, Opserver monitoron sisteme të shumta duke përfshirë SQL Server, Redis dhe Elasticsearch. Ofron një pamje të "të gjithë serverëve" për statistikat e CPU-së, memories, rrjetit dhe harduerit në të gjithë infrastrukturën tuaj.

sp_KushËshtëAktiv

sp_WhoIsActive është një procedurë gjithëpërfshirëse e ruajtur për monitorimin e aktivitetit, e krijuar nga Adam Machanic. Funksionon me të gjitha SQL Server versionet nga viti 2005 deri në versionet aktuale dhe përdoret gjerësisht nga SQL Server DBA për monitorimin e aktivitetit në kohë reale.

Për të përdorur sp_WhoIsActive, shkarkojeni nga http://whoisactive.com/, instalojeni në bazën tuaj të të dhënave dhe ekzekutoni:

EXEC sp_WhoIsActive

Procedura tregon pyetjet që po ekzekutohen aktualisht, informacionin e pritjes, detajet e bllokimit dhe konsumin e burimeve.

9. Praktikat më të mira për SQL Server Performance Monitor

9.1 Vendosja e Vijave Bazë të Performancës

Nivelet bazë të performancës përcaktojnë parametrat normalë të funksionimit për tuajin SQL Server mjedis. Pa vija bazë, nuk mund të përcaktoni nëse metrikat aktuale tregojnë probleme apo përfaqësojnë sjellje tipike.

Krijo vija bazë duke:

  1. Mbledhja e të dhënave të performancës gjatë operacioneve normale për të paktën një javë
  2. Kapja e metrikave si gjatë orëve të pikut ashtu edhe jashtë orarit të pikut
  3. Dokumentimi i vlerave tipike për numëruesit kryesorë
  4. Regjistrimi i ndryshimeve sezonale nëse është e aplikueshme
  5. Ruajtja e të dhënave bazë për krahasim me metrikat e ardhshme

Përditësoni linjat bazë çdo tremujor ose pas ndryshimeve të rëndësishme në infrastrukturë, përditësimeve të aplikacioneve ose modifikimeve të bazës së të dhënave.

9.2 Vendosja e Pragjeve të Përshtatshme të Alarmit

Konfiguroni pragje inteligjente për të marrë njoftime kuptimplote pa e mbingarkuar veten me njoftime:

  • Grantet e Memories në Pritje > 0 tregojnë presion të memories
  • Gjatësia e radhës së procesorit > 2 për bërthamë sugjeron bllokim të CPU-së
  • Sekonda e diskut/Leximi ose shkrimi > 20ms tregon hyrje/dalje të ngadaltë
  • Proceset e Bllokuara > 5 sinjale problemesh kontestimi
  • Jetëgjatësia e faqes < 300 sekonda tregon presion në kujtesë

Rregulloni pragjet bazuar në të dhënat tuaja bazë dhe karakteristikat specifike të ngarkesës së punës. Përdorni pragje adaptive që marrin parasysh ndryshimet normale në mjedisin tuaj.

9.3 Rishikimi dhe analiza e rregullt e të dhënave

Caktoni rishikime të rregullta të performancës për të identifikuar trendet dhe problemet që shfaqen:

  • Përditë: Rishikoni metrikat e nivelit të lartë dhe alarmet e fundit
  • Javore: Kryeni një analizë të thelluar të trendeve të performancës
  • Mujore: Gjeneroni raporte gjithëpërfshirëse dhe krahasojini ato me ato bazë.
  • Çdo tremujor: Rishikoni planifikimin e kapaciteteve dhe trendet afatgjata

Dokumentoni gjetjet dhe ndiqni përmirësimet e performancës me kalimin e kohës.

9.4 Balancimi i Monitorimit të Shpenzimeve të Përgjithshme

Monitorimi në vetvete konsumon burime, prandaj balanconi mbledhjen e të dhënave me ndikimin në performancë:

  • Përdorni intervale 30-60 sekondash për monitorim të vazhdueshëm
  • Përdorni vetëm intervale 15 sekondëshe për zgjidhjen aktive të problemeve
  • Kufizoni Mbledhësin e të Dhënave Vendosni kohëzgjatjen për të shmangur të dhënat e tepërta
  • Ruani regjistrat në disqe të ndara nga skedarët e bazës së të dhënave
  • Arkivoni të dhënat e vjetra të performancës për të ruajtur madhësi të menaxhueshme të skedarëve

Monitori i Performancës shton kosto minimale kur konfigurohet siç duhet, zakonisht nën 2% të burimeve të sistemit.

9.5 Ruajtja Afatgjatë e të Dhënave

Ruani të dhënat e performancës për analiza kuptimplote të trendeve dhe planifikim të kapaciteteve:

  • Ruani të dhëna të performancës për të paktën 1-2 vjet
  • Arkivoni të dhënat në një ruajtje të veçantë pas 3-6 muajsh
  • Kompresoni skedarët e vjetër të regjistrit për të kursyer hapësirë
  • Dokumentoni çdo ngjarje ose ndryshim të rëndësishëm që ndikon në performancë

Duke pasur parasysh madhësinë relativisht të vogël të të dhënave të numëruesve të performancës, ruajtja e tyre për një kohë të pacaktuar është shpesh e realizueshme dhe e vlefshme për analiza afatgjata.

9.6 Integrimi me praktikat DevOps

Përfshirja e monitorimit të performancës së bazës së të dhënave në kanalet CI/CD:

  • Përfshini metrikat e performancës së bazës së të dhënave në validimin e vendosjes
  • Automatizoni testimin e performancës për versionet e reja
  • Verifikoni që ndryshimet e kodit nuk ndikojnë negativisht në performancë
  • Krijoni standarde të performancës për çdo version
  • Integroni alarmet e monitorimit me sistemet e menaxhimit të incidenteve

10. Zgjidhja e problemeve të zakonshme të performancës

10.1 Identifikimi i pengesave të CPU-së

Problemet e CPU-së manifestohen si kohë të ngadalta përgjigjeje të pyetjeve dhe shfrytëzim i lartë i procesorit. Përdorni këto hapa për të diagnostikuar problemet e CPU-së:

  1. Kontrolloni numëruesin e Gjatësisë së Radhës së Procesorit. Vlerat mbi 2 për bërthamë tregojnë presionin e CPU-së.
  2. Rishikoni % Kohën e Procesorit. Vlerat e qëndrueshme mbi 75% sugjerojnë bllokim të CPU-së
  3. Desktop i largët në SQL Server
  4. Hap Menaxherin e Detyrave (Ctrl+Shift+Esc)
  5. Kliko proceset tab
  6. kontrolloni Shfaq proceset nga të gjithë përdoruesit
  7. Kliko CPU kokë kolone për të renditur sipas përdorimit të CPU-së
  8. Identifikoni se cilat procese konsumojnë burime të CPU-së

Nëse jo-SQL Server Aplikacionet konsumojnë një sasi të konsiderueshme të CPU-së, hiqini ato nga serveri i bazës së të dhënave. Nëse sqlservr.exe përdor një sasi të madhe të CPU-së, hetojini duke përdorur këto metoda:

  • Kontrolloni Kompilimet SQL/sek dhe Rikompilimet SQL/sek. Vlerat mbi 10% të Kërkesave Batch/sek tregojnë kompilim të tepërt.
  • Pyetni sys.dm_exec_query_stats për të identifikuar pyetjet që kërkojnë shumë punë nga CPU-ja
  • Rishikoni planet e ekzekutimit për indekset që mungojnë ose operacionet joefikase
  • Konsideroni shtimin e indekseve për të zvogëluar skanimet e tabelave

10.2 Diagnostikimi i problemeve të kujtesës

Problemet me kujtesën ndikojnë ndjeshëm SQL Server performancë. Diagnostikoni problemet e kujtesës duke përdorur këta tregues:

Rënie të disponueshme të kujtesës

Nëse MBajt e Available bien nën 100 MB vazhdimisht, sistemi operativ përballet me mungesë memorieje. Windows mund të dalë nga faqet. SQL Server memorie në disk, duke shkaktuar përkeqësim të performancës.

Jetëgjatësia e ulët e faqes

Jetëgjatësia e faqes nën 300 sekonda tregon një qarkullim të lartë të memories së përkohshme të buffer-it. Kjo sugjeron ose ndarje të pamjaftueshme të memories ose presion të tepërt të memories nga pyetjet.

Raport i ulët i goditjes së memorjes së përkohshme të bufferit

Raporti i Goditjes së Memorjes së Kufizuar të Bufferit nën 99% do të thotë SQL Server lexon shpesh të dhëna nga disku në vend të kujtesës. Kjo ndodh kur grupi i buffer-it është shumë i vogël ose SQL Server ende ngrohet pas rinisjes.

Grantet e kujtesës në pritje

Çdo vlerë mbi 0 për "Grantet e Memories në Pritje" tregon se pyetjet janë duke pritur për grante memorieje. Kjo përfaqëson një mungesë kritike memorieje që kërkon vëmendje të menjëhershme.

Për të zgjidhur problemet e kujtesës:

  1. Konfiguroni SQL Server vendosja maksimale e memories për të lënë RAM të mjaftueshëm për sistemin operativ (zakonisht 4-8 GB në varësi të madhësisë së serverit)
  2. Aktivizo lejen "Kyç faqe në kujtesë" për SQL Server llogari shërbimi
  3. Shtoni më shumë RAM fizik në server nëse presioni i memories vazhdon
  4. Identifikoni dhe optimizoni pyetjet që kërkojnë shumë memorie

10.3 Zgjidhja e problemeve të hyrjes/daljes së diskut

Hyrjet/Daljet e diskut shpesh bëhen pengesa kryesore e performancës në sistemet e bazave të të dhënave. Diagnostikoni problemet e diskut duke përdorur këto metoda:

Gjatësi e lartë e radhës së diskut

Gjatësia e radhës së diskut që është vazhdimisht mbi 2 (ose 2 për disk për RAID) tregon se nënsistemi i diskut nuk mund të përballojë kërkesat I/O. Kjo krijon një grumbull operacionesh në pritje.

Vonesa e tepërt e diskut

Vlerat mesatare të sekondave të diskut/leximit dhe mesatares së sekondave të diskut/shkrimit mbi 10-20ms tregojnë përgjigje të ngadaltë të diskut. Disqet e regjistrit të transaksioneve kërkojnë performancë veçanërisht të shpejtë, idealisht nën 5ms për shkrime.

Kohë e Lartë e Diskut %

Një përqindje e qëndrueshme e kohës së diskut mbi 85% tregon ngopjen e diskut. Disku e kalon pjesën më të madhe të kohës së tij duke përpunuar kërkesat I/O me pak kapacitet të mbetur në gjendje boshe.

Para se të adresoni problemet e diskut, verifikoni që ato nuk janë simptoma të problemeve të memories. Forca të pamjaftueshme të memories SQL Server për të lexuar më shumë të dhëna nga disku, duke i fryrë artificialisht metrikat e diskut.

Për të zgjidhur problemet e vërteta të hyrjes/daljes së diskut:

  • Përmirësoni në disqe më të shpejta (SSD në vend të HDD)
  • Implementoni konfigurime RAID për performancë më të mirë
  • Ndani skedarët e bazës së të dhënave, regjistrat e transaksioneve dhe tempdb në disqe të ndryshme fizike
  • Shtoni më shumë memorie për të zvogëluar leximet e diskut
  • Optimizoni indekset për të zvogëluar hyrjet/daljet e panevojshme
  • Rishikoni dhe optimizoni pyetjet me performancë të dobët

10.4 Adresimi i bllokimeve dhe bllokimeve

Bllokimi ndodh kur një seancë mban bllokime që pengojnë vazhdimin e seancave të tjera. Monitoroni këta numërues për të identifikuar problemet e bllokimit:

  • Proceset e bllokuara: Idealisht duhet të jetë 0
  • Pret/sek i kyçjes: Numri i kërkesave për bllokim që kërkojnë pritje
  • Koha mesatare e pritjes: Kohëzgjatja mesatare e pritjeve për kyçje

Për të hetuar bllokimin:

  1. Hapni Monitorin e Aktivitetit në SSMS
  2. Expand proceset seksion
  3. Kërko për procese me ndryshime nga zero Bllokuar nga vlerat
  4. Identifikoni ID-në e sesionit bllokues
  5. Rishikoni pyetjet që shkaktojnë bllokim

Përdorni sp_WhoIsActive për një analizë më të detajuar të bllokimit. Hyrjet e tepërta të wait_info shpesh tregojnë probleme me tempdb ose bllokim.

Për të zvogëluar bllokimin:

  • Minimizoni kohëzgjatjen e transaksionit
  • Përdorni nivele të përshtatshme izolimi
  • Shtoni indekse për të zvogëluar kohëzgjatjen e kyçjes
  • Konsideroni izolimin READ_COMMITTED_SNAPSHOT
  • Rishikoni dhe optimizoni pyetjet afatgjata

10.5 Probleme me Performancën e Pyetjeve

Identifikimi i pyetjeve të kushtueshme është thelbësor për monitorimin e performancës së SQL. Përdorni këto metoda për të gjetur pyetje problematike:

Përdorimi i monitorit të aktivitetit

  1. Në SSMS, klikoni me të djathtën mbi emrin e serverit
  2. zgjedh Monitorimi i Aktivitetit
  3. Expand Pyetje të fundit të shtrenjta
  4. Pyetjet e rishikimit me CPU, kohëzgjatje ose lexime logjike të larta

Përdorimi i DMV-ve

Pyetja sys.dm_exec_query_stats për të identifikuar pyetjet që kërkojnë shumë burime:

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

Analizimi i Planeve të Ekzekutimit

  1. Në SSMS, hap një dritare të re pyetjesh
  2. Kliko Shfaq Planin e Ekzekutimit të Parashikuar (Ctrl+L) ose Përfshi Planin e Ekzekutimit Real (Ctrl+M)
  3. Ekzekutoni pyetjen tuaj
  4. Rishikoni planin e ekzekutimit për operacione të kushtueshme
  5. Kërkoni skanime tabelash, skanime indeksesh ose operacione me kosto të lartë

Optimizoni pyetjet duke:

  • Shtimi i indekseve të përshtatshme
  • Rishkrimi i pyetjeve për të shmangur operacionet e kushtueshme
  • Duke përditësuar statistikat
  • Duke përdorur emra specifikë kolonash në vend të SELECT *
  • Shmangia e klauzolave ​​të panevojshme DISTINCT ose ORDER BY

10.6 Zbulimi dhe Rregullimi i Bazës së të Dhënave të Korruptuara

Korrupsioni i bazës së të dhënave mund të shkaktojë përkeqësim të performancës, humbje të të dhënave dhe dështime të sistemit. Zbulimi dhe adresimi i shpejtë i korruptimit është thelbësor për ruajtjen e shëndetit të bazës së të dhënave.

Treguesit e Korrupsionit të Bazës së të Dhënave

Kushtojini vëmendje këtyre shenjave të korrupsionit të mundshëm:

  • Mesazhet e gabimit në SQL Server regjistri i gabimeve (gabimi 823, 824 ose 825)
  • Gabime të papritura të aplikacionit gjatë aksesimit të tabelave specifike
  • Performancë e ngadaltë e pyetjeve në pyetjet e mëparshme të shpejta
  • SQL Server bllokime ose rinisje të papritura
  • Faqet e dyshimta shfaqen në tabelën msdb.dbo.suspect_pages

Duke përdorur DBCC CHECKDB për Zbulim

DBCC CHECKDB është mjeti kryesor për zbulimin e korruptimit të bazës së të dhënave. Ekzekutojeni rregullisht për të kapur problemet herët.

Monitorimi i faqeve të dyshuara

SQL Server regjistron automatikisht faqet e dyshimta në bazën e të dhënave msdb:

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)

Çdo rresht i kthyer tregon probleme korrupsioni që kërkojnë vëmendje të menjëhershme.

Strategjitë për Parandalimin e Korrupsionit

  • Aktivizo verifikimin e faqes me opsionin CHECKSUM
  • Mbani kopje rezervë të rregullta të bazës së të dhënave
  • Përdorni pajisje të besueshme me korrigjim gabimesh
  • Monitoroni shëndetin e diskut duke përdorur mjetet e prodhuesit
  • Planifikoni ekzekutimet e rregullta të DBCC CHECKDB
  • mbaj SQL Server përditësuar me patch-et më të fundit

Opsionet e Rimëkëmbjes dhe Riparimit

Nëse zbulohen gabime, mund të provoni mjetin e integruar. DBCC CHECKDB për t'i rregulluar ato. Nëse dështon, përdorni mjete të palëve të treta si p.sh. DataNumen SQL Recovery të cilat mund të merren me korrupsione të rënda.

11. Teknika të Avancuara të Monitorimit

11.1 Monitorimi i Depozitës së Pyetjeve

Query Store, prezantuar në SQL Server 2016, kap automatikisht të dhënat e performancës së pyetjeve. Ai ofron njohuri të vlefshme mbi sjelljen e pyetjeve, planet e ekzekutimit dhe trendet e performancës.

Aktivizimi i Ruajtjes së Pyetjeve

  1. Në SSMS Object Explorer, klikoni me të djathtën në një bazë të dhënash
  2. zgjedh Pronat
  3. Kliko Dyqan pyetjesh faqe
  4. In Modaliteti i funksionimit (i kërkuar), zgjidhni Lexo Shkruaj
  5. Konfiguroni cilësime shtesë sipas nevojës
  6. Kliko OK

Monitorimi i Performancës së Pyetjeve

Raportet e Access Query Store përmes Object Explorer:

  1. Zgjero bazën e të dhënave në Object Explorer
  2. Expand Dyqan pyetjesh
  3. Zgjidhni nga raportet e disponueshme:
    • Pyetje të regresuara
    • Konsumi i përgjithshëm i burimeve
    • Pyetjet kryesore rreth konsumimit të burimeve
    • Pyetje me plane të detyruara
    • Pyetje të gjurmuara

Zbulimi i Regresionit të Planit

Query Store zbulon automatikisht kur planet e ekzekutimit të pyetjeve ndryshojnë dhe performanca përkeqësohet. Rishikoni raportin e Pyetjeve të Regresuara për të identifikuar pyetjet e prekura nga ndryshimet e planit.

Menaxhimi i Planit të Detyruar

Kur Query Store identifikon një plan më të mirë ekzekutimi, detyron SQL Server për ta përdorur atë:

  1. Hapni pyetjen në Query Store
  2. Klikoni me të djathtën mbi planin e dëshiruar
  3. zgjedh Plani i Forcës

Kjo përmirëson menjëherë performancën pa kërkuar ndryshime në kod.

11.2 Monitorimi i Mirëmbajtjes së Indeksit

Fragmentimi i indeksit përkeqëson performancën e pyetjeve me kalimin e kohës. Monitoroni dhe mirëmbani indekset rregullisht për të siguruar performancë optimale.

Kontrollimi i Fragmentimit

Përdorni këtë pyetje për të kontrolluar fragmentimin e indeksit:

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

Ekzekutoni këtë pyetje gjatë orëve jashtë orarit të pikut pasi mund të kërkojë shumë burime.

Analiza e Dendësisë së Faqes

Dendësia e faqeve tregon se sa të plota janë faqet e indeksit. Dendësia e ulët humb hapësirë ​​dhe zvogëlon performancën:

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

Vendimet e Riorganizimit kundrejt Rindërtimit

Zgjidhni operacionet e mirëmbajtjes së indeksit bazuar në nivelet e fragmentimit:

  • Fragmentim 10-30%: Përdorni ALTER INDEX REORGANIZE
  • Fragmentim > 30%: Përdorni ALTER INDEX REBUILD
  • Fragmentim < 10%: Nuk nevojitet asnjë veprim

Operacionet e riorganizimit kërkojnë më pak burime dhe mund të kryhen në internet. Operacionet e rindërtimit janë më të hollësishme, por konsumojnë burime të konsiderueshme.

11.3 Përditësimet e Statistikave të Bazës së të Dhënave

Ndihmë për statistikat e bazës së të dhënave SQL ServerOptimizuesi i pyetjeve krijon plane efikase ekzekutimi. Statistikat e vjetruara çojnë në performancë të dobët të pyetjeve.

Rindërtimi Automatik i Statistikave

Aktivizo përditësimet automatike të statistikave:

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

Monitorimi i Statistikave të Shëndetit

Kontrolloni se kur janë përditësuar statistikat për herë të fundit:

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

Përditësoni statistikat manualisht kur është e nevojshme:

UPDATE STATISTICS TableName WITH FULLSCAN

11.4 Mbledhja e të dhënave të performancës së personalizuar

Krijoni zgjidhje të personalizuara për monitorimin e performancës duke pyetur drejtpërdrejt sys.dm_os_performance_counters dhe duke ruajtur rezultatet në tabela.

Krijimi i Skripteve të Koleksioneve të Personalizuara

Ndërtoni një procedurë të ruajtur për të mbledhur të dhëna për numëruesin e performancës:

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

Duke përdorur sys.dm_os_performance_counters

Numëruesit e performancës së pyetjeve direkt:

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

Ruajtja e të dhënave historike

Krijo një tabelë për të ruajtur metrikat e performancës me kalimin e kohës:

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

Metodat e Ruajtjes së të Dhënave të Pivotuara

Ruani të dhënat në format të pivotuar me një rresht për çdo kohë mostre dhe një kolonë për numërues. Kjo zvogëlon hapësirën e ruajtjes dhe përmirëson performancën e pyetjeve krahasuar me ruajtjen e një rreshti për numërues për çdo mostër.

11.5 Monitorimi me shumë servera

Për mjedise me shumë SQL Server raste, zbatoni monitorim të centralizuar.

Qasja e Monitorimit të Qendruar

  • Krijoni një bazë të dhënash të dedikuar monitorimi në një server të veçantë
  • Mbledh të dhëna nga të gjithë serverët në depon qendrore
  • përdorim SQL Server Punë agjentësh për të ekzekutuar skripte koleksionesh
  • Implementoni mbledhjen e numëruesve të performancës të aksesueshëm në rrjet

Monitorimi i serverit në distancë

Konfiguroni Performance Monitor për të mbledhur të dhëna nga serverat e largët duke specifikuar emrat e serverëve kur shtoni numërues. Sigurohuni që rregullat e firewall-it lejojnë trafikun e Performance Monitor.

Raportimi Ndër-Server

Ndërtoni raporte që krahasojnë performancën në shumë servera për të identifikuar vlerat e jashtëzakonshme dhe çekuilibrat e kapacitetit.

12. Monitorimi SQL Server në mjediset e reve

12.1 Monitorimi i Bazës së të Dhënave Azure SQL

Baza e të dhënave Azure SQL ofron aftësi të integruara monitorimi që ndryshojnë nga ato lokale. SQL Server.

Integrimi i Azure Monitor

Azure Monitor mbledh automatikisht metrika nga Baza e të Dhënave SQL Azure, duke përfshirë:

  • Përdorimi i DTU ose vCore
  • Përdorimi i magazinimit
  • Statistikat e lidhjes
  • Bllokime dhe afate kohore

Qasuni këtyre metrikave përmes Azure Portal ose Azure Monitor API.

Karakteristikat e Monitorimit të Integruara

Baza e të dhënave Azure SQL përfshin:

  • Rekomandime për akordimin automatik
  • Informacion mbi Performancën e Pyetjeve
  • Inteligjente të të Dhënave për zbulimin e anomalive
  • Alarm dhe diagnostikim i integruar

Informacion mbi Performancën e Pyetjeve

Kjo veçori ofron vizualizim të pyetjeve që konsumojnë më shumë burime, analizë të kohëzgjatjes së pyetjeve dhe trendeve historike të performancës. Qasuni në të përmes Portalit Azure nën burimin tuaj të Bazës së të Dhënave SQL.

12.2 Mjete Monitorimi të Native në Cloud

Platformat cloud ofrojnë zgjidhje monitorimi native të optimizuara për mjediset e tyre:

  • Azure Monitor dhe Application Insights për Bazën e të Dhënave Azure SQL
  • AWS CloudWatch për RDS SQL Server
  • Monitorimi i Google Cloud për Cloud SQL Server

Këto mjete integrohen pa probleme me infrastrukturën cloud dhe ofrojnë monitorim të unifikuar në të gjitha burimet cloud.

Monitorimi i Mjedisit Hibrid

Për vendosjet hibride që përfshijnë ambiente lokale dhe cloud, përdorni mjete që mbështesin të dy mjediset si Redgate SQL Monitor, SolarWinds DPA ose zgjidhje të personalizuara duke përdorur mbledhjen e centralizuar të të dhënave.

12.3 Dallimet e Performancës në Cloud

Re SQL Server Mjediset kanë karakteristika unike:

Modelet e Ndarjes së Burimeve

Ofruesit e cloud-it përdorin metoda të ndryshme të alokimit të burimeve (DTU, vCore, serverless) që ndikojnë në mënyrën se si i interpretoni metrikat e performancës. Kuptoni kufizimet dhe karakteristikat e nivelit tuaj të shërbimit.

Konsideratat e shkallëzimit

Mjediset cloud ofrojnë aftësi dinamike të shkallëzimit. Monitoroni shfrytëzimin e burimeve për të përcaktuar se kur duhet të shkallëzohet lart ose poshtë. Shumë platforma cloud ofrojnë shkallëzim automatik bazuar në pragjet e performancës.

13. Automatizimi i Monitorimit të Performancës

13.1 SQL Server Punë agjentësh

Automatizoni mbledhjen e të dhënave duke përdorur SQL Server Punë agjentësh për monitorim të vazhdueshëm pa ndërhyrje manuale.

Mbledhja e të dhënave e planifikuar

  1. Në SSMS, zgjero SQL Server Agjent
  2. Djathtas-klikoni Punë dhe përzgjidhni Punë e re
  3. Emërtoni punën (p.sh., "Mbledhni metrikat e performancës")
  4. Kliko Hapat dhe shtoni një hap të ri
  5. Cakto Llojin në Skripti Transact-SQL
  6. Futni skriptin tuaj të mbledhjes së të dhënave
  7. Kliko oraret dhe shtoni një orar
  8. Konfiguro frekuencën (p.sh., çdo 5 minuta)
  9. Kliko OK për të krijuar punën

Raportimi i Automatizuar

Krijoni punë që gjenerojnë dhe dërgojnë me email raporte të performancës:

  1. Krijoni një procedurë të ruajtur që gjeneron raporte
  2. Përdorni Postën e Bazës së të Dhënave për të dërguar raporte me anë të email-it
  3. Caktoni një program pune që të kryhet çdo ditë ose çdo javë

13.2 Automatizimi i PowerShell

PowerShell ofron aftësi të fuqishme automatizimi për SQL Server monitor i performancës.

Skriptet e Mbledhjes së Numëruesve të Performancës

$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

Pyetjet WMI

Përdorni WMI për të mbledhur të dhëna të performancës nga serverat e largët:

$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"

Alarmi i automatizuar

Krijoni skripte PowerShell që kontrollojnë metrikat dhe dërgojnë alarme kur shkelen pragjet:

$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 Krijimi i Paneleve të Monitorimit

Vizualizoni të dhënat e performancës me panele interaktive për njohuri më të mira.

Integrimi i Power BI

  1. Lidhni Power BI me tabelat e të dhënave të performancës
  2. Krijoni vizualizime për metrikat kryesore
  3. Shtoni prerës për gamën kohore dhe përzgjedhjen e serverit
  4. Publikoni panelet në Shërbimin Power BI
  5. Konfiguro oraret automatike të rifreskimit

Krijimi i Panelit të Kontrollit në kohë reale

Përdorni mjete si Grafana ose aplikacione të personalizuara në internet për të krijuar panele në kohë reale që pyesin drejtpërdrejt DMV-të dhe numëruesit e performancës.

Vizualizimi i Trendit Historik

Ndërtoni grafikë vijorë që tregojnë trendet me kalimin e kohës për:

  • Shfrytëzimi i CPU-së
  • Përdorimi i kujtesës
  • Hyrja/dalja e diskut
  • Performanca e pyetjes
  • Numri i lidhjeve

14. Raste studimore dhe shembuj praktik

14.1 Studimi i rastit: Zgjidhja e presionit të kujtesës

Identifikimi i simptomave

Një prodhim SQL Server përjetoi kohë të ngadalta përgjigjeje të pyetjeve gjatë orëve të pikut. Përdoruesit u ankuan për vonesa kohore të aplikacionit dhe performancë të përkeqësuar.

Analiza kundër

Të dhënat e Monitorit të Performancës u zbuluan:

  • Jetëgjatësia e faqes ra në 50 sekonda (normale: >300)
  • Raporti i Goditjes së Memorjes së Kufizuar të Bufferit ra në 85% (normale: >99%)
  • Grantet e Kujtesës në Pritje shpesh treguan vlera prej 5-10
  • Leximet e diskut fizik/sek u rritën ndjeshëm

Hapat e zgjidhjes

  1. kontrolluar ne daten SQL Server cilësimi maksimal i memories - zbulova se ishte vendosur në parazgjedhje (e pakufizuar)
  2. Memoria Totale e Serverit e Rishikuar kundrejt Memories së Serverit Target - tregoi një hendek të konsiderueshëm
  3. Memoria maksimale e serverit është konfiguruar për të lënë 8 GB për sistemin operativ
  4. Leja "Kyç faqet në kujtesë" u aktivizua për SQL Server llogari shërbimi
  5. U shtuan 32 GB RAM shtesë në server
  6. Performanca e monitoruar për një javë - Jetëgjatësia e faqes u stabilizua mbi 500 sekonda

Rezultati: Kohët e përgjigjes ndaj pyetjeve u përmirësuan me 60%, ankesat e përdoruesve pushuan dhe performanca e aplikacionit u kthye në normalitet.

14.2 Studimi i Rastit: Optimizimi i Performancës së CPU-së

Identifikimi i simptomave

A SQL Server tregoi vazhdimisht shfrytëzim të CPU-së mbi 90% gjatë orarit të punës, duke shkaktuar performancë të ngadaltë të aplikacionit dhe zhgënjim të përdoruesve.

Analiza kundër

Monitorimi i performancës zbuloi:

  • % Koha e Procesorit ishte mesatarisht 92% me rritje të shpeshta deri në 100%
  • Gjatësia e radhës së procesorit vazhdimisht mbi 4 (serveri kishte 8 bërthama)
  • Kompilimet SQL/sek ishin 25% e Kërkesave Batch/sek (duhet të jenë <10%)
  • Rikompilimet SQL/sek ishin 15% e Kërkesave Batch/sek

Hapat e zgjidhjes

  1. Përdora DMV-të për të identifikuar pyetjet që konsumojnë më shumë CPU.
  2. Planet e ekzekutimit të analizuara për pyetjet e identifikuara
  3. U zbuluan skanime të shumëfishta tabelash në tabela të mëdha për shkak të mungesës së indekseve
  4. Krijova indekse të përshtatshme bazuar në rekomandimet e planit të ekzekutimit
  5. SQL dinamike e identifikuar që shkakton kompilime të tepërta
  6. Kodi i aplikacionit u modifikua për të përdorur pyetje të parametrizuara
  7. Udhëzues plani i zbatuar për procedurat problematike të ruajtura
  8. Statistikat e përditësuara mbi tabelat e përdorura shumë

Rezultati: Shfrytëzimi i CPU-së ra në mesatarisht 45% gjatë orarit të punës. Kohët e ekzekutimit të pyetjeve u përmirësuan me 70%. Reagueshmëria e aplikacioneve u përmirësua ndjeshëm.

14.3 Studimi i Rastit: Zgjidhja e Ngushticës së Hyrjeve/Daljeve në Disk

Identifikimi i simptomave

Përdoruesit raportuan përgjigje jashtëzakonisht të ngadaltë të aplikacionit gjatë operacioneve të ngarkimit të të dhënave dhe përpunimit të grupeve në mbrëmje.

Analiza kundër

Të dhënat e performancës treguan:

  • Mesatarja e sekondave të diskut/shkrimit tejkaloi 45ms në diskun e regjistrimit të transaksioneve
  • Gjatësia e radhës së diskut mesatarisht 12 në diskun e skedarëve të të dhënave
  • % e kohës së diskut qëndroi mbi 95% për orë të tëra gjatë punëve në grup
  • Shkrimet në faqe/sek ishin jashtëzakonisht të larta

Hapat e zgjidhjes

  1. Cilësimet e verifikuara të memories ishin të përshtatshme - nuk u gjetën probleme me memorien
  2. Konfigurimi i diskut u analizua - u zbuluan të gjitha skedarët në të njëjtin grup boshti
  3. Regjistra transaksionesh të ndara për disqet SSD të shpejta të dedikuara
  4. tempdb u zhvendos në disqet SSD të ndara
  5. Implementoi skedarë të shumtë të të dhënave tempdb (një për bërthamë)
  6. Disqet e skedarëve të të dhënave u përditësuan në konfigurimin RAID 10 SSD
  7. Punët e optimizuara në grupe për të përdorur grupe më të vogla transaksionesh
  8. U shtuan indekse për të zvogëluar skanimet e panevojshme të tabelave gjatë operacioneve në grup

Rezultati: Mesatarja e sekondave të diskut/shkrim ra në 3ms. Gjatësia e radhës së diskut ishte mesatarisht nën 1. Koha e përfundimit të punës në grup u ul me 75%.

15. Tendencat e së ardhmes në SQL Server Monitorimi

15.1 Integrimi i IA-së dhe Mësimit Automatik

Inteligjenca artificiale dhe të mësuarit automatik po transformojnë SQL Server monitor i performancës.

Analizat parashikuese

Modelet e të mësuarit automatik parashikojnë nevojat e ardhshme për burime bazuar në të dhënat historike. Këto sisteme mund të parashikojnë:

  • Kur kapaciteti i ruajtjes do të shterojë
  • Kërkesat e pritura të CPU-së dhe memories gjatë periudhave të pikut
  • Degradimi i performancës së pyetjeve përpara se të ndikojë te përdoruesit
  • Kohët optimale për operacionet e mirëmbajtjes

Zbulimi i anomalisë

Mjetet e drejtuara nga inteligjenca artificiale zbulojnë automatikisht modele të pazakonta në metrikat e performancës. Ato identifikojnë anomalitë që administratorët njerëzorë mund t'i humbasin dhe dallojnë midis variacioneve normale dhe problemeve të vërteta.

Riparimi i automatizuar

Sistemet vetë-shërimore zgjidhin automatikisht problemet e zakonshme kur zbulohen:

  • Rinisni shërbimet që kanë ndaluar
  • Rishpërndani burimet gjatë ngarkesës maksimale
  • Zbato rregullimet e shpejta për problemet e njohura
  • Rindërtoni automatikisht indekset e fragmentuara

15.2 Evolucioni i Monitorimit të Bazuar në Cloud

Monitorimi në cloud vazhdon të evoluojë me aftësi të reja.

Platformat e Unifikuara të Monitorimit

Platformat moderne ofrojnë dukshmëri me një panel të vetëm xhami në:

  • Në ambiente SQL Server raste
  • Bazat e të dhënave të hostuara në cloud
  • Mjedise hibride
  • Performanca e aplikacionit
  • Metrikat e infrastrukturës

Trendet e Vëzhgueshmërisë

Kalimi nga monitorimi në vëzhgueshmëri thekson:

  • Kuptimi i sjelljes së sistemit nga rezultatet
  • Korrelacioni i metrikave, regjistrave dhe gjurmëve
  • Njohuri të thella në sistemet e shpërndara
  • Diagnostikimi i problemeve në kohë reale

15.3 Sisteme të të dhënave vetë-shëruese

Future SQL Server Versionet do të përfshijnë më shumë aftësi autonome.

Optimizimi automatik

Bazat e të dhënave do të optimizohen vazhdimisht duke:

  • Krijimi dhe heqja automatike e indekseve bazuar në ngarkesën e punës
  • Rregullimi i cilësimeve të konfigurimit për performancë optimale
  • Rishkrimi transparent i pyetjeve joefikase
  • Menaxhimi dinamik i ndarjes së burimeve

Akordimi Inteligjent

Sistemet e përparuara do të mësojnë nga modelet e performancës dhe do të zbatojnë rekomandimet e akordimit automatikisht, duke zvogëluar nevojën për ndërhyrje manuale të DBA-së.

16. Përfundime dhe pika kryesore

16.1 Përmbledhje e praktikave thelbësore të monitorimit

Në fuqi SQL Server Monitorimi i performancës kërkon një qasje gjithëpërfshirëse që kombinon mjetet, teknikat dhe praktikat më të mira.

Përmbledhje e Numëruesve Kritikë

Përqendroni përpjekjet e monitorimit në këto sportele thelbësore:

  • Memoria: Jetëgjatësia e faqes, Raporti i goditjes së memorjes së përkohshme, Grantet e memories në pritje
  • CPU: % Koha e Procesorit, Gjatësia e Radhës së Procesorit
  • Disku: Mesatarja e sekondës së diskut/Lexim dhe Shkrim, Gjatësia e radhës së diskut
  • SQL ServerKërkesat e Grupit/sek, Kompilimet/sek, Lidhjet e Përdoruesit

Përmbledhje e Praktikave më të Mira

  • Vendosni linjat bazë gjatë operacioneve normale
  • Vendosni pragje inteligjente alarmi bazuar në linjat bazë
  • Rishikoni rregullisht të dhënat e performancës
  • Balanconi mbingarkesën e monitorimit me detajet e të dhënave
  • Ruani të dhënat afatgjata për analizën e trendit
  • Përdorni mjete të përshtatshme për secilin skenar monitorimi

16.2 Qasja e Përmirësimit të Vazhdueshëm

SQL Server Monitorimi i performancës nuk është një aktivitet i vetëm, por një proces i vazhdueshëm që kërkon përsosje të vazhdueshme.

Ciklet e rregullta të rishikimit

  • Përditë: Kontrolloni alarmet dhe performancën aktuale
  • Javore: Rishikoni trendet dhe identifikoni problemet e reja
  • Mujore: Analizoni modelet afatgjata dhe nevojat për kapacitet
  • Çdo tremujor: Përditësoni bazat dhe rishikoni efektivitetin e monitorimit

Të qëndrosh në hap me mjetet

Mbani mjetet dhe teknikat e monitorimit të përditësuara:

  • Vlerësoni veçoritë e reja të monitorimit në SQL Server Updates
  • Testoni mjetet e reja të palëve të treta
  • Merrni pjesë në trajnime dhe konferenca
  • Merrni pjesë në SQL Server forumet e komunitetit
  • Ndani njohuritë me anëtarët e ekipit

16.3 hapat e ardhshëm

zbatuar SQL Server monitorimi sistematik i performancës:

Udhërrëfyesi i Zbatimit

  1. Java 1: Konfiguroni Monitorin e Performancës me numërues thelbësorë
  2. Java 2: Krijoni Sete Mbledhësish të të Dhënave për mbledhje automatike
  3. Java 3: Vendosni linjat bazë gjatë operacioneve normale
  4. Java 4: Konfiguro alarmet për pragjet kritike
  5. Muaji 2: Zbatoni mjete shtesë monitorimi (DMV, Ngjarje të Zgjeruara)
  6. Muaji 3: Zhvilloni panele dhe raporte të personalizuara
  7. Në vazhdim: Përmirësoni monitorimin bazuar në përvojën dhe kërkesat në ndryshim

Burimet shtesë

Vazhdoni të mësoni për SQL Server monitoroni performancën përmes dokumentacionit të Microsoft-it, blogjeve të komunitetit dhe praktikës praktike. Eksperimentoni me mjete dhe teknika të ndryshme për të gjetur se çfarë funksionon më mirë për mjedisin tuaj.

17. Pyetjet e bëra më shpesh (FAQ)

17.1 Cilat janë më të rëndësishmet SQL Server matës të performancës për të monitoruar?

Më kritike SQL Server Numëruesit e performancës përfshijnë:

  • Memoria: Jetëgjatësia e faqes (duhet të jetë >300 sekonda) dhe Raporti i Goditjes së Memorjes së Ndërprerë (duhet të jetë >99%)
  • CPU: % e Kohës së Procesorit (vlera të qëndrueshme <75%) dhe Gjatësia e Radhës së Procesorit (duhet të jetë <2 për bërthamë)
  • Disku: Mesatarja e kohës së leximit dhe shkrimit të diskut (duhet të jetë <10-20ms) dhe gjatësia e radhës së diskut (duhet të jetë <2 për disk)
  • SQL ServerKërkesat Batch/sek, Kompilimet SQL/sek, dhe Grantet e Memories në Pritje (duhet të jenë 0)

Këta numërues ofrojnë një pasqyrë të plotë të gjendjes së sistemit dhe ndihmojnë në identifikimin e shpejtë të pengesave.

17.2 Sa shpesh duhet të mbledh të dhëna mbi performancën?

Frekuenca e mbledhjes varet nga objektivat tuaja të monitorimit:

  • Monitorimi bazë: Çdo 1 minutë (60 sekonda)
  • Zgjidhja aktive e problemeve: Çdo 15-30 sekonda për periudha të shkurtra
  • Trendi afatgjatë: Çdo 5 minuta

Shmangni kryerjen e vazhdueshme të mbledhjes së të dhënave me frekuencë të lartë, pasi kjo mund të ndikojë në performancë dhe të gjenerojë të dhëna të tepërta. Përdorni intervale më të gjata për monitorimin rutinë dhe intervale më të shkurtra vetëm kur hetoni çështje specifike.

17.3 Cili është ndryshimi midis Monitorit të Performancës dhe SQL Server Profilizues?

Monitori i Performancës dhe SQL Server Profiler shërben për qëllime të ndryshme:

Monitor i performancës:

  • Monitoron sistemin dhe SQL Server numëruesit e performancës
  • Gjurmimi i përdorimit të burimeve (CPU, memorie, disk)
  • Mbingarkesë e ulët, e përshtatshme për monitorim të vazhdueshëm
  • Ofron metrika të përgjithshme me kalimin e kohës

SQL Server Profiluesi:

  • Gjurmët individuale SQL Server ngjarje dhe pyetje
  • Kap informacion të detajuar të ekzekutimit të pyetjeve
  • Mbingarkesë më e lartë, nuk rekomandohet për përdorim të vazhdueshëm
  • Më e mira për zgjidhjen e problemeve specifike të pyetjeve
  • I zhvlerësuar në favor të Ngjarjeve të Zgjeruara

Përdorni Performance Monitor për monitorimin e përgjithshëm të sistemit dhe Extended Events (jo Profiler) për analiza të hollësishme në nivel pyetjesh.

17.4 A mund të ndikojë Monitori i Performancës SQL Server performanca?

Kur konfigurohet siç duhet, Monitori i Performancës ka ndikim minimal në SQL Server performancë, zakonisht më pak se 2% kosto të përgjithshme. Megjithatë, monitorimi i tepërt mund të shkaktojë probleme:

  • Shumë numërues rrisin kostot e përgjithshme
  • Burime të tendosjes në intervale shumë të shkurtra mostrash (nën 15 sekonda)
  • Mbledhja e vazhdueshme me frekuencë të lartë gjeneron skedarë të mëdhenj regjistri

Për të minimizuar ndikimin:

  • Monitoroni vetëm numëruesit e nevojshëm
  • Përdorni intervale të përshtatshme për marrjen e mostrave (60 sekonda për monitorim rutinë)
  • Ruani regjistrat në disqe të ndara nga skedarët e bazës së të dhënave
  • Planifikoni monitorim që kërkon shumë burime gjatë orëve jashtë orarit të pikut

17.5 Për sa kohë duhet t’i ruaj të dhënat e monitorimit të performancës?

Ruajtja varet nga nevojat tuaja të analizës dhe kapaciteti i ruajtjes:

  • minimum: 3 muaj për zgjidhjen e problemeve të fundit
  • Recommended: 1-2 vjet për planifikimin e kapaciteteve dhe analizën e trendeve
  • Optimale: Për një kohë të pacaktuar nëse e lejon ruajtja, pasi të dhënat historike bëhen më të vlefshme me kalimin e kohës

Të dhënat e numëruesit të performancës kompresohen mirë dhe zënë relativisht pak hapësirë. Merrni në konsideratë arkivimin e të dhënave të vjetra në një ruajtje të veçantë në vend që t'i fshini ato. Shumë organizata zbulojnë se vitet e të dhënave historike janë të paçmueshme për planifikimin e kapacitetit dhe identifikimin e trendeve afatgjata.

17.6 Cilat janë vlerat e mira prag për numëruesit kryesorë të performancës?

Vlerat e pragut të rekomanduara për alarmim:

  • Grantet e kujtesës në pritje: Njoftim kur > 0
  • Jetëgjatësia e faqes: Alarm kur < 300 sekonda
  • % Koha e Procesorit: Alarm kur > 80% për 5 minuta
  • Gjatësia e radhës së procesorit: Alarm kur > 2 për bërthamë
  • Mesatarja e kohës së diskut për lexim ose shkrim: Alarm kur > 20ms
  • Gjatësia e Radhës së Diskut: Alarm kur > 2 për disk
  • Procese të bllokuara: Alarm kur > 5

Rregulloni këto pragje bazuar në të dhënat tuaja bazë dhe karakteristikat specifike të ngarkesës së punës. Ajo që është normale për një mjedis mund të tregojë probleme në një tjetër.

17.7 Si mund ta monitoroj SQL Server performancë nga distanca?

Telekomanda e monitorit SQL Server raste duke përdorur këto metoda:

  1. Monitor i performancës: Specifikoni emrin e kompjuterit të largët kur shtoni numërues
  2. PowerShell: Përdorni parametrin -ComputerName me Get-Counter
  3. DMV-të: Lidhu me servera të largët përmes SSMS dhe pyet DMV-të
  4. Mjete të palëve të treta: Shumica e mjeteve të monitorimit mbështesin monitorimin e serverit në distancë

Sigurohuni që rregullat e firewall-it lejojnë trafikun e Performance Monitor dhe që të keni lejet e duhura në serverin e largët. Për servera të shumtë, merrni në konsideratë zbatimin e monitorimit të centralizuar me një server monitorimi dhe bazë të dhënash të dedikuar.

17.8 Cili është mjeti më i mirë falas për SQL Server monitor i performancës?

Disa mjete të shkëlqyera falas janë në dispozicion për monitorim SQL Server performanca:

  • Monitori i Performancës së Windows: I integruar, gjithëpërfshirës dhe i besueshëm
  • Monitori i Aktivitetit SSMS: Monitorim në kohë reale pa instalime shtesë
  • Ngjarje të Zgjeruara: Monitorim i lehtë i ngjarjeve i integruar SQL Server
  • sp_KushËshtëAktiv: Procedura popullore e ruajtur falas për monitorim të detajuar të aktivitetit
  • DBA Dash: Mjet monitorimi me burim të hapur me karakteristika gjithëpërfshirëse
  • SQLWATCH: Burim i hapur me aftësi monitorimi pothuajse në kohë reale

Për shumicën e organizatave, Performance Monitor i kombinuar me mjetet SSMS dhe sp_WhoIsActive ofron aftësi të shkëlqyera monitorimi pa kosto shtesë.

17.9 Si mund të eksportoj të dhënat e PerfMon për analiza?

Eksportoni të dhënat e Monitorit të Performancës duke përdorur këto metoda:

Eksporto në CSV:

  1. Hapni Monitorin e Performancës me skedarin tuaj të regjistrit të ngarkuar
  2. Klikoni me të djathtën mbi grafikun dhe zgjidhni Ruaj të dhënat si
  3. Zgjedh Skedar teksti (i ndarë me presje) (.csv)
  4. Zgjidhni vendndodhjen dhe ruani
  5. Hap në Excel për analizë

Përdorni komandën Relog:

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

Ky program i linjës së komandës konverton skedarët binarë të regjistrit (.blg) në formatin CSV për analiza më të lehta në aplikacionet e spreadsheet-eve.

17.10 Kur duhet të përdor mjete monitorimi të palëve të treta në vend të opsioneve të integruara?

Konsideroni mjetet e palëve të treta kur:

  • Menaxhimi i një numri të madh të SQL Server raste (10+)
  • Kërkohet monitorim i centralizuar në shumë qendra të të dhënave
  • Nevoja për veçori të përparuara si analiza parashikuese ose zbulimi i anomalive
  • Dëshiroj alarmim të integruar me sistemet e menaxhimit të incidenteve
  • Kërkohet raportimi i pajtueshmërisë dhe analiza historike
  • Mungesë burimesh të DBA-së për të ndërtuar dhe mirëmbajtur zgjidhje të personalizuara
  • Monitorimi i mjediseve heterogjene të bazës së të dhënave (SQL Server, Oracle, MySQL, etj.)

Mjetet e integruara funksionojnë mirë për mjedise më të vogla ose kur keni DBA të aftë që mund të zhvillojnë zgjidhje monitorimi të personalizuara. Mjetet e palëve të treta ofrojnë vlerë përmes kursimit të kohës, veçorive të përparuara dhe mbështetjes profesionale.

18. Burime shtesë

18.1 Dokumentacioni Zyrtar

Microsoft ofron dokumentacion të gjerë për SQL Server monitor i performancës:

18.2 Mjete dhe Shkarkime të Rekomanduara

Mjetet thelbësore për SQL Server monitor i performancës:

  • Mjeti PAL: https://github.com/clinthuffman/PAL
  • sp_KushËshtëAktiv: http://whoisactive.com/
  • DBA Dash: https://dbadash.com/
  • SQLWATCH: https://github.com/marcingminski/sqlwatch
  • Seti i Ndërhyrësit të Parë (Brent Ozar): https://www.brentozar.com/first-aid/
  • SQL Server Studio Menaxhimi: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

18.3 Burimet e Komunitetit

Mëso nga SQL Server komuniteti:

  • SQL Server Central: https://www.sqlservercentral.com/
  • Blogu i Brent Ozar: https://www.brentozar.com/blog/
  • SQL Shack: https://www.sqlshack.com/
  • Këshilla për MSSQL: https://www.mssqltips.com/
  • Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
  • Mbingarkesa e stack SQL Server etiketë: https://stackoverflow.com/questions/tagged/sql-server

Këto burime ofrojnë tutoriale, këshilla për zgjidhjen e problemeve dhe praktikat më të mira nga persona me përvojë. SQL Server profesionistë. Pjesëmarrja në forumet e komunitetit ju ndihmon të mësoni nga përvojat e të tjerëve dhe të ndani njohuritë tuaja.


Rreth Autorit

Yuan Sheng është një administrator i lartë i bazave të të dhënave (DBA) me mbi 10 vjet përvojë në SQL Server mjedise dhe menaxhim të bazave të të dhënave të ndërmarrjeve. Ai ka zgjidhur me sukses qindra skenarë të rikuperimit të bazave të të dhënave në të gjitha shërbimet financiare, kujdesin shëndetësor dhe organizatat prodhuese.

Yuan specializohet në SQL Server rikuperimi i bazës së të dhënave, zgjidhje me disponueshmëri të lartëdhe optimizimin e performancës. Përvoja e tij e gjerë praktike përfshin menaxhimin e bazave të të dhënave me shumë terabajt, zbatimin Grupet e disponueshmërisë gjithmonë në dispozicion, dhe zhvillimin e strategjive të automatizuara të kopjimit rezervë dhe rikuperimit për sistemet e biznesit kritike për misionin.

Përmes ekspertizës së tij teknike dhe qasjes praktike, Yuan përqendrohet në krijimin e udhëzuesve gjithëpërfshirës që ndihmojnë administratorët e bazave të të dhënave dhe profesionistët e IT-së të zgjidhin probleme komplekse. SQL Server sfidat në mënyrë efikase. Ai qëndron i azhurnuar me të rejat SQL Server lëshimet dhe teknologjitë në zhvillim e sipër të bazës së të dhënave të Microsoft-it, duke testuar rregullisht skenarët e rikuperimit për të siguruar që rekomandimet e tij pasqyrojnë praktikat më të mira të botës reale.

Keni pyetje rreth SQL Server Rimëkëmbje ose keni nevojë për udhëzime shtesë për zgjidhjen e problemeve të bazës së të dhënave? Yuan mirëpret? Mirëpresim Yuanin. reagime dhe sugjerime për përmirësimin e këtyre burimeve teknike.