Si të monitoroni apo vëzhgoni SQL Server instancat dhe databazat e juaja

Vëzhgimi i databazave dhe instancave të SQL Server ofron informacione të nevojshme për të diagnostikuar dhe rregulluar qështjet e performancës si dhe akordimit të SQL Server. Performanca optimale nuk është e lehtë që të definohet dhe të vendoset në SQL Server, pasi që zakonisht në mes ka faktorë të shumtë nga ana e softuerit dhe harduerit. Gjithashtu varet edhe nga ambienti i punës, kërkesat e biznesit dhe rregullat e kompanisë.

Pasi që raportimi i ngadalshëm është i pranuar në një kompani të vogël, një gjë e tillë nuk lejohet në kompani të mëdha ku vërehen ngadalsimet e ndërprerje që mund të prekun një numër të madh të përdoruesve dhe kjo mund të prek në mënyrë të konsiderueshme për të keq edhe biznesin. Lista e lëshimeve zakonisht është e papranueshme dhe duhet që të zgjidhen sa më shpejtë që të jetë e mundur.

Pasi të jetë akorduar performanca e SQL Server, ajo duhet të vëzhgohet në mënyrë të vazhdueshme, për cdo të dhënë, skemë dhe ndryshimet në konfigurime shpesh të bëjnë që të akordoni apo të ndërhyni manualisht kur është e nevojshme. Shembulli i zakonshëm është me statistikat e vjetëruara – një query ekzekutohet mirë dhe më pastaj pa ndonjë aryse bëhet shumë i ngadalshëm.

Që të kemi një akordim për performancë optimale të një SQL Server Instance, Database Administratori duhet të jetë proaktiv dhe të vëzhgoj performancën e sistemit në mënyrë të vazhdueshme, të definoj trendet dhe të caktoj metrikat bazë për performancë të SQL Server-it, të jetë i njoftuar për metrikat që dalin jashta brezit të vlerave normale dhe të marr veprime adekuate.

Cilat metrika të SQL Server duhet vëzhguar?

Metrikat të cilat duhet vëzhguar, varen nga qëllimet tuaja të performancës. Megjithatë, është një brez i zakonshëm i metrikave që duhet vëzhguar për të ofruar informata të mjaftueshme për rregullime bazë. Bazuar në vlerat e tyre, për më shumë, mund të vëzhgohen metrika të caktuara në mënyrë që të gjenden rrënjët e problemit.

Këto metrika të performancë që zakonisht vëzhgohen në SQL Server janë, memorja, përdorimi i procesorit, trafiku i rrjetit dhe aktiviteti i diskut.

Përvec parametrave të vëzhgimit në SQL Server, është e rekomanduar që të vëzhgohen e edhe disa parametra të caktuara për databaza si dhe parametrat sistemore të Ëindoës-it.

Metrikat e zakonshme që vëzhgohen janë: koha e procesorit, gjatësia e pritjës së procesorit, leximi dhe shkrimi në Page për sekondë, jetëgjatësia e një Page, Memorja e planifikuar dhe totale e serverit, buffer cashe hit ratio, grumbulli i kërkesave, përdorimi i procesorit, shkrimet e ngadalshme, përdorimi i rrjetit, paging, lidhjet e përdoruesve, etj.

SQL Server ofron dy tipare të ndërtuara në të: Vëzhguesin e aktivitetit (Activity Monitor) dhe Përmbledhësin e të Dhënave (Data Collector).

Vëzhguesi i aktivitetit

Vëzhguesi i aktivitetit gjurmon vetëm metrikat më të rëndësishme të performancës në SQL Server. Për t’i pasur këto të dhëna, ajo ekzekuton query në hostin apo makinën ku gjendet instanca e SQL Server, për cdo 10 sekonda. Performanca vëzhgohet vetëm atëherë kur Vëzhguesi i Aktivitetit është i hapur, e cila bënë atë që të jetë një zgjidhje me ngarkesë të lehtë.

Metrikat paraqitën në 5 panele të paluara: Përmbledhja, Proceset, Burimet e pritjës, Hyrje/Dalje e Data File dhe Pyetësorët e shtrenjtë së fundi.

Paneli Përmbledhja paraqet përqindjën kohore të procesorit, numrin e detyrave në pritje, operacionet Hyrje/Dalje të prezantuara në MB/sekond dhe grumbulli i këresave i paraqitur në numër.

Paneli Processes (Proceset) paraqet proceset që janë duke u ekzekutuar në SQL Server për cdo databazë të Instancës. Informacioni paraqet: Përdoruesin, aplikacionin dhe makina ose kompjuteri që është në përdorim, gjendjën e detyrave dhe komandave, koha e pritjës etj. Informacioni në tabelë mund të filtrohet sipas vlerës së caktuar në kolonë.

Paneli Process (Procesi) si menu konteksti, ofron tipare të përdorshme për analiza më të thella dhe rregullime të cilat mund të gjurmohen nëpërmes SQL Server Profiler.

Paneli Resources Waits (Pritja e burimeve) paraqet pritjet nga burime të ndryshme: memorja, kompajlimi apo përpilimi, rrjeti etj.

Ajo paraqet kohën e pritjeve (koha e pritjës së detyrave të SQL Server në burimet e sistemit), koha e pritjës së fundit, koha e pritjës në mënyrë komulative dhe një numërues i pritjeve mesatare.

Paneli Data File I/O paraqet listën e të gjitha fajllave të databazave: MDF, NDF dhe LDF, emrat dhe vendi i ruajtjës së tyre, aktiviteti i leximit dhe pritjës së fundi, kohën e përgjigjjës.

Paneli Recent Expensive Queries paraqet pyetësorët e ekzekutuar në 30 sekondat e fundit të cilat kan përdorur burime të shumta harduerike si: procesor, memorje, disk dhe rrjetë. Menuja e kontekstit japë mundësinë e hapjës së pyetësorit apo query-it në SSMS apo SQL Server Management Studio duke hapur planin e ekzekutimit.

Si të përdorni Vëzhguesin e Aktivitetit

Vëzhguesi i aktivitetit mund të hapet përmes SQL Server Management Studio, më konkretisht tek shiriti i vegëlave, tek ikona Activity Monitor apo përmes tastierës duke mbajtur të shtypur Ctrl+Alt+A ose edhe nga menuja e kontekstit tek Object Explorer.

Sic është paraqitur, Vëzhguesi i Aktivitetit gjurmon vetëm metrikat më të rëndësishme të performancës së SQL Server-it të paradefinuara. Metrika shtesë të tjera nuk mund të vëzhgohen; ato të cilat vëzhgohen nuk mund të largohen nga vëzhgimi. Vetëm vëzhgimi në kohë reale është i mundur. Nuk ka ndonjë opcion që të ruhet historiati i metrikave për përdorim të mëvonshëm. Prandaj, Vëzhguesi i Aktivitetit është i dobishëm për vëzhgim aktual dhe rregullime bazike; për ndonjë analizë më të thellë dhe akordim të performancës, një vegël vëzhguese ku metrikat e vëzhguara mund të zgjedhen, vlerat kufitare të definohen dhe të dhëna historike të ruhen sipas nevojës.

Përmbledhësi i të dhënave (Data Collector)

Përmbledhësi i të dhënave është një tjetër tipar për vëzhgim të performancës dhe akordim të SQL Server, i ndërtuar mbrenda SQL Server Management Studio. Ai përmbledhë metrikat e performancës së Instancës të SQL Server-it, i ruan ato në një nga depot lokale, prandaj ato mund të përdoren edhe më vonë për analiza. Ajo përdor Data Warehousing, SQL Server Agent dhe Integration Services (të gjitha këto servise të SQL Server).

Ndryshe nga Vëzhguesi i Aktivitetit, Përmbledhësi i të Dhënave ju lejon juve që të caktoni metrikën e caktuar që do ta vëzhgoni. Ajo ofron tri sete të metrikave për vëzhgim (të dhëna të përmbledhura) me metrikat më të rëndësishme dhe të zakonshme për të vëzhguar performancën. Për të vëzhguar metrika shtesë të performancës, përmbledhësit e të dhënave mund të krijohen përmes T-SQL kodit apo API.

Si të përdoret Data Collector (Përmbledhësi i të Dhënave)

Sigurohuni që SQL Server Integration Services janë të instaluara dhe SQL Server Agent, Management Data Warehouse dhe Data Collection janë të lëshuara apo në dispozicion.

  1. Zgjeroni Management në SQL Server Management Studio tek Object Explorer.
  2. Në menun e kontekstit Data Collection, zgjedhni Configure Management Data Warehouse
  3. Zgjedhni Set up data collection.

  4. Kliko Next

  5. Zgjedhni Instancën e SQL Server-it dhe emrin e databazës për të cilën do të ruhen të dhëna, dhe vendin apo follderin lokal ku do të përmbledhën të dhënat.

  6. Kliko Next, rishiko cilësitë e caktuara dhe klikoni Finish

Përmbledhësi i të Dhënave (Data Collector) ofron tri sete të paradefinuara të cilat mund të gjenden tek follderi System Data Collection Sets tek paneli Object Explorer Management | nyja Data Collection: Përdorimi i Diskut (Disk Usage), Statistikat e Query-ve (Query Statistics) dhe Aktiviteti i Serverit (Server Activity). Secila prej tyre ka raportin e vetë të krijuar si të gatshëm.

Seti Përdorimi i Diskut përmbledhë të dhëna për fajllat e databazave (MDF dhe NDF), fajllat transaction log (LDF) dhe Statistikat Hyrje/Dalje.

Raporti i Përdorimit të Diskut është në dispozicion në menunë e kontekstit të Përmbledhësit të të Dhënave (Data Collection). Ajo paraqet shfrytëzimin e hapësirës së diskut nga fajllat e databazës, trendet e rritjës së tyre dhe rritja mesatare mbrenda ditës.

Seti Query Statistics përmbledhë kodet e query-ve, statistikat, aktivitetin dhe planet e ekzekutimit për 10 query-it më të shtrenjta.

Seti Server Activity përmbledhë të dhëna rreth procesorit, memorjës, aktivitetit Hyrje/Dalje të diskut dhe përdorimit të rrjetit. Raporti paraqet CPU-në apo procesorin, memorjën, Hyrje/Dalje të diskut dhe shfrytëzimin e rrjetës, pritjet e SQL Server dhe Instancës dhe aktivitetet e sistemit operativ.

Sic u pa më lartë, Përmbledhësi i të Dhënave duhet të konfigurohet dhe të niset në mënyrë që të kapë të dhëna. Ajo ofron tri sete të përmbledhjës dhe raporte adekuate. Nuk ka ndonjë magjistar apo procese të paradefinuara për të shtuar metrika; do të duhej të bëhet përmes kodit.

Një nga përparsitë e Përmbledhësit të të Dhënave është se ajo nuk mbledhë të dhëna gjatë gjithë kohës, por vetëm gjatë orareve të para-definuara dhe në këtë mënyrë nuk mbingarkon punën. Një tipar negativ është se nuk ka opcion për të zgjedhur databazat e caktuara që të vëzhgohen në një SQL Server Instancë, pra të gjitha databazat do të vëzhgohen, cka kjo e shton pak ngarkesën e punës, përmblidhen më shumë të dhëna dhe kërkohet më shumë hapësirë disku për ruajtje të rezultateve.

Tipari i përmbledhjës së të dhënave përmes Data Collector, nuk është në dispozicion tek versionet më herët si versioni 2008 dhe në edicionet Enterprise, Standard, Business Intelligence dhe Web.

Ndryshe nga Vëzhguesi i Aktivitetit, këtu nuk ka opcion për të shikuar grafikonet në kohë reale, por këtu të dhënat të cilat kapen mund të ruhen për disa ditë të caktuara. Tipari ofron metrika të performancës bazike ku për vëzhgim të metrikave shtesë kërkohet njohuri në kodim.

ApexSQL Monitor

ApexSQL Monitor është një softuer vëzhgues për SQL Server i cili vëzhgon sistemin, SQL Server dhe performancën e databazave në kohë reale përmes 30 e më shumë numëratorve. Ajo lejon përdoruesit që të zgjedhin instancën e SQL Server dhe databazat të cilat duhet vëzhguar, që të zgjedh metrikat për secilën databazë apo SQL Server Instrancë apo kompjuter dhe të caktoni kufijt e vlerave për metrika që nëse i kalojnë ato, të alarmoheni. ApexSQL Monitor paraqet metrikat e performancës në kohë reale të paraqiturar edhe grafikisht dhe ruan të dhënat e metrikave korresponduese në një databazë (depo) për përdorim të mëvonshëm.

Metrikat dhe të dhënat e pyetësorve të cilat kapen, janë të paraqitura grafikisht në 6 tab-faqe të paradefinuara, por mund të paraqitën edhe sipas përzgjedhjës së përdoruesit.

Tab-faqja Overview paraqet inforamata dhe konfigurimet më të rëndësishme të SQL Server-it dhe statistikat e pritjeve në SQL Server si dhe metrikat e performancës (buffer cache hit ratio, skenimet e plota për sekond, shkrimet e ngadalta për sekond si dhe kërkesa për bllokim mbrenda një sekonde).

Overview tab - image 1

Overview tab - image 2

Tab-faqja System Performance paraqet metrikat e performancës së sistemit operativ: pritjet (gjatësia në kohë)/shfrytëzimi i procesorit, shfrytëzimi i rrjetës, përdorimi i page file, hyrjet për sekond, faqosjet për sekond, bitat mesatar për shkrim/lexim, mesatarja dhe gjendja aktuale e pritjeve në disk, koha mesatare e shkrim/leximit, shkrim/leximi në disk për sekond, hapësira e lirë dhe memorja e disponueshme në MB.

System performance tab

Tab-Faqja SQL Server Performance paraqet metrikat që kan të bëjnë me performancën e SQL Server: numrin e grumbullit të kërkesave, kompajlimet dhe rikompajlimet për sekond, transakcionet të cilat marrin kohë për t’u ekzekutuar, skenime të plota, kyçja e përdoruesve, Memorja e përdorur dhe totale e shprehur në KB, buffer cache hit ratio, jetëgjatësia e page, lexim/shkrimi i page-ve dhe ndarjet e page-s për sekond.

SQL Server performance tab

Tab-faqja Database Peformance paraqet detajet rreth madhësisë se fajllave të databazës, pra fajllave për të dhëna dhe transakcione (data & transaction log files) dhe numrin e transakcioneve për sekondë.

Database Performance tab

Faqja-tabela Query ëaits apo pritjet e query-ve paraqet top listën e pyetësorve (queries) me pritjet më të gjatë kohore dhe të zgjedhura sipas periudhave kohore, duke përfshirë edhe paraqitjën grafike të pyetësorve dhe pritjet kohore të tyre. Gjithashtu, paraqet detaje e një pyetësori apo grumbullit të tyre si dhe mundësia e analizimit dhe të rishikimit të planeve të pyetësorve apo query-ve.

Query waits tab

Faqja-tabela Query Performance paraqet top pyetësorët të cilat përdorin burime të shumta bazuar në periudha kohore, pëfshirë këtu edhe paraqitjën grafike për pyetësorët më të ngadalshëm sipas kohës mesatare të CPU, kohës mesatare të ekzekutimit dhe Hyrjve/Daljeve për sekond. Numëri i pyetësorve mund të zgjedhet prej përdoruesit.

Query performancetab

Faqe-tabelat e rregulluar sipas dëshirës apo Custom tabs mund të modelohen sipas nevojave individuale të përdoruesve. Përdoruesit mund të bëjnë tab-faqe të tyre për të paraqitur metrikat e njohura dhe kritike në mënyrë të shpejtë dhe të lehtë gjatë hapjës së ApexSQL Monitor-it. Tab-faqet e rregulluara mund të krijohen dhe të ofrojnë një paraqitje të vetme të metrikave më të rëndësishme të sistemit, të SQL Server Instancës dhe databazave, në atë mënyrë që juve do t’iu lehtësoj pasqyrimin e problemeve potenciale.

Si të përdorni ApexSQL Monitor

  1. Filloni ApexSQL Monitor
  2. Klikoni Add në mënu për të shtuar SQL Server Instancën që po dëshironi të vëzhgoni. Të gjitha SQL Server instancat e vëzhguara do të paraqitën në anën e majtë tek lista e SQL Server Instancave.
  3. Që të bëni konfigurimin për vëzhgim të metrikave të performancës, klikoni Metrics në menu. Metrikat e vëzhguara mund të konfigurohen në nivel të pajisjës, databazës, Instancës së SQL Server dhe makinës apo Serverit.

    Metrics tab

  4. Në të njëjtën formë apo dritare të aplikacionit, ju mund të konfiguroni alarmet. Që të aktivizoni një alarm, zgjedhni apo selektoni check-box-in për Alerting dhe vendosni vlerat e caktuara apo të kufizuara ose përdorni vlerat bazike të kalkuluara.

  5. Pasi që të caktoni alarmet dhe metrikat për vëzhgim, klikoni Apply në majën e formës apo dritarës së aplikacionit.

Nëse ka një alarm, do të tregohet me një ikonë afër Instancës së SQL Server-it tek lista e Servera-ve. Që të shikoni listën dhe detajet për alarmet aktive, klikoni Alerts në menu. Ajo do të paraqet metrikat e performancës, koha e fillimit dhe e mbarimit dhe numri i shfaqjeve për çdo nivel të ashpërsisë.

Alerts information

ApexSQL Monitor është një zgjidhje për vëzhgim, e lehtë për të filluar dhe konfiguruar dhe pa pasur nëvojë që të keni njohuri për kodim. Ajo ju siguron vëzhgim të detajuar dhe ndryshe nga zgjidhjet tjera për vëzhgim të SQL Server-it, ajo ju japë mundësinë e zgjedhjës së metrikave si dhe të databazave korresponduese të cilat duhet vëzhguar. Metrika të ndryshme mund të vëzhgohen për cdo pajisje, databazë, Instancë të SQL Server-it dhe sistemit operativ. Kjo edhe redukton mbingarkesën që mund të shtohet nga proceset e vëzhgimit.

Ndryshe nga Vëzhguesi i Aktivitetit dhe Përmbledhësi i të Dhënave, ApexSQL Monitor paraqet metrikat në mënyrë grafike në kohë reale, ruan të dhëna historike dhe paraqet të dhënat historike në mënyrë grafike. Alarmet mund të konfigurohen me pak klikime, duke caktuar vlerat kufitare të vogëla, mesatare dhe të larta të alarmeve të ashpërsisë.

Useful resources:
Activity Monitor
Data Collection
Monitoring SQL Server Performance

Përkthyes: Dukagjin Maloku

October 20, 2015