1. Giriş SQL Server Performance Monitor
1.1 Nədir SQL Server Performans Monitoru?
SQL Server performans monitoru performansınızı və sağlamlığınızı izləmək, təhlil etmək və idarə etmək prosesidir SQL Server verilənlər bazaları. Optimal performansı təmin etmək, problemlərin qarşısını almaq və verilənlər bazası sağlamlığını qorumaq üçün verilənlər bazası sisteminizin müxtəlif aspektləri haqqında məlumatların toplanması və şərh edilməsini əhatə edir.
Performans monitorinqi sorğunun yerinə yetirilmə vaxtlarını, resursdan istifadəni, indeks performansını, bloklama və çıxılmaz vəziyyətləri və verilənlər bazası artım nümunələrini əhatə edir. Bu davamlı nəzarət idarəçilərə potensial problemləri istifadəçilərə və ya biznes əməliyyatlarına təsir etməzdən əvvəl müəyyən etməyə kömək edir.
1.2 Performans Monitorinqinin Əsas Faydaları
Effektiv SQL Server Performans monitoru bir sıra kritik üstünlüklər təqdim edir:
- Proaktiv problem aşkarlanması: Potensial problemləri istifadəçilərə və ya biznes əməliyyatlarına təsir etməzdən əvvəl müəyyən edin və həll edin
- Performansın optimallaşdırılması: Ümumi verilənlər bazası performansını yaxşılaşdırmaq üçün darboğazları və səmərəsizliyi dəqiq müəyyənləşdirin
- Güc planlaması: Resurs ehtiyaclarını proqnozlaşdırın və tarixi məlumatlara əsaslanaraq gələcək artımı planlaşdırın
- Uyğunluq və təhlükəsizlik: Tənzimləyici tələblərə riayət olunmasını təmin edin və şübhəli fəaliyyətləri aşkar edin
1.3 Ümumi Performans Problemləri
Düzgün SQL verilənlər bazası performans monitoru olmadan təşkilatlar bir sıra risklərlə üzləşirlər:
- Biznes əməliyyatlarını pozan gözlənilməz fasilələr
- İstifadəçi təcrübəsinə təsir edən zəif tətbiq performansı
- Məlumat itkisi və ya korrupsiya
- Resursların səmərəsiz istifadəsi lazımsız xərclərə səbəb olur
- Əsəbiləşmiş istifadəçilər və potensial gəlir itkisi
2023-cü il IDC araşdırmasına görə, verilənlər bazası performans problemlərinin 65%-i zəif monitorinq və ya optimallaşdırma təcrübələrindən qaynaqlanır.
2. Windows Performans Monitorunu Anlamaq (PerfMon)
2.1 Windows Performans Monitoru nədir?
Windows Performans Monitoru (PerfMon) sistem resurslarına və tətbiqin performansına nəzarət edən daxili Windows alətidir. üçün SQL Server administratorlar üçün PerfMon həm əməliyyat sistemi, həm də SQL Server hərtərəfli performans təhlili üçün vacib olan ölçülər.
PerfMon performans statistikasını müntəzəm olaraq ölçür və sonradan təhlil etmək üçün həmin statistikaları fayllarda saxlayır. Verilənlər bazası administratorları vaxt intervalını, fayl formatını və hansı statistikaya nəzarət edəcəyini seçə bilərlər. Alət deyil SQL Server-xüsusi—sistem administratorları ondan Windows-un özünə, Exchange-ə, fayl serverlərinə və darboğazlarla qarşılaşa biləcək hər hansı proqrama nəzarət etmək üçün istifadə edirlər.
2.2 Performans Monitorunun işə salınması
Bir neçə üsuldan istifadə edərək Performans Monitorunu işə sala bilərsiniz:
- Basın start, növü perfmon axtarış qutusunda, axtarış nəticəsində "Performand Monitor" düyməsini basın:
- mətbuat Windows + R, növü perfmonvə basın Daxil edin
- gedin İdarəetmə Paneli -> Sistem və Təhlükəsizlik -> Inzibati Tools -> Performance Monitor
3. Əsas SQL Server Performans sayğacları
3.1 Yaddaş Performans Sayğacları
Yaddaş sayğacları monitorinq üçün vacibdir SQL Server verilənlər bazanızda kifayət qədər yaddaş resurslarına malik olub-olmadığını göstərən performans.
Mövcud MByte
Bu sayğac dərhal ayrıla bilən fiziki yaddaşın miqdarını göstərir. Kifayət qədər sabit qalmalı və ideal olaraq 4096 MB-dan aşağı düşməməlidir. Aşağı dəyərlər bunu göstərə bilər SQL Servermaksimum yaddaş parametri defolt olaraq qalır və ya qeyri-SQL Server proqramlar yaddaş sərf edir.
Səhifənin Ömrünün Gözlənilməsi
Səhifənin Ömrünün Gözlənilməsi bir səhifənin istinad edilmədən bufer hovuzunda nə qədər qaldığını (saniyələrlə) ölçür. Normal dəyər 300 saniyə və ya daha çoxdur. Aşağı dəyərlər yaddaş təzyiqini və həddindən artıq bufer dövriyyəsini göstərir, keşin effektivliyini azaldır.
Bufer Cache Hit Ratio
Bu sayğac diskdən oxumaq əvəzinə SQL bufer keşindən (yaddaş) istifadə edərək cavablandırılan məlumat sorğularının faizini göstərir. Adətən 99%-ə cavab verir və ya ondan artıqdır. Aşağı dəyərlər bunu göstərir SQL Server daha çox yaddaşa ehtiyac duyur və ya yenidən başladıqdan sonra hələ də isinir.
Yaddaş Qrantları Gözlənir
Bu, yaddaşı gözləyən proseslərin sayını göstərir SQL Server. Normal şəraitdə bu dəyər ardıcıl olaraq 0 olmalıdır. Daha yüksək dəyərlər yaddaşın qeyri-kafi ayrılmasını göstərir. SQL Server.
Hədəf Server Yaddaşı vs Ümumi Server Yaddaşı
Hədəf Server Yaddaşı ideal yaddaş miqdarını göstərir SQL Server istifadə etmək istəyir. Total Server Memory nəyi göstərir SQL Server hal-hazırda istifadə edir. Bu dəyərlər arasındakı nisbət təxminən 1 olmalıdır. Əhəmiyyətli fərqlər yaddaş təzyiqini və ya qeyri-kafi yaddaşı göstərə bilər.
3.2 Prosessor Performans Sayğacları
CPU sayğacları prosessor darboğazlarını müəyyən etməyə və necə başa düşməyə kömək edir SQL Server hesablama resurslarından istifadə edir.
% Prosessor vaxtı
Bu, prosessorun boş olmayan ipləri yerinə yetirmək üçün sərf etdiyi vaxtın faizini ölçür. Aktiv serverlərdə dəyərlər 100%-ə qədər yüksələ bilər, lakin 70-75%-dən çox davamlı istifadə adətən istifadəçilər üçün performans problemlərini göstərir. Çatışmayan və ya qeyri-adekvat indekslər çox vaxt yüksək CPU istifadəsinə səbəb olur.
% İmtiyazlı Vaxt
Prosessor vaxtı İstifadəçi rejimi və İmtiyazlı (Nəzir) rejimində işləməyə bölünür. Bütün diskə giriş və giriş/çıxış Kernel rejimində baş verir. Bu sayğac 25%-i keçərsə, sistem çox güman ki, çox I/O həyata keçirir. Normal dəyərlər 5% ilə 10% arasında dəyişir.
Prosessor növbəsinin uzunluğu
Bu sayğac CPU resurslarını gözləyən mövzuları göstərir. Dəyərlər ardıcıl olaraq 1-dən yuxarıdır (daxili müddət istisna olmaqla SQL Server ehtiyat sıxılma) CPU təzyiqini göstərir. Bu, tez-tez digər proqramların quraşdırıldığı anlamına gəlir SQL Server ən yaxşı təcrübələri pozan maşın.
Kontekst açarları/san
Bu, prosessorun iplər arasında nə qədər tez-tez keçdiyini ölçür. Həddindən artıq kontekst keçidi performansa təsir edə bilər və yüksək sistem yükünü göstərir.
3.3 Disk Giriş/Çıxış Performans Sayğacları
Disk sayğacları SQL performansının monitorinqi üçün vacibdir, çünki disk I/O tez-tez verilənlər bazası sistemlərində əsas darboğaza çevrilir.
% Disk vaxtı
Bu, diskin oxuma/yazma əməliyyatları ilə məşğul olduğu vaxtın faizini qeyd edir. Davamlı olaraq 85%-dən yuxarı olan dəyərlər I/O darboğazını göstərir. Disk yaddaşdan çox yavaş olduğundan, bu göstəricinin azaldılması performansı yaxşılaşdırır.
Ort. Disk saniyə/Oxu və Ort. Disk saniyə/Yaz
Bu sayğaclar oxumaq və yazma əməliyyatları üçün orta vaxtı (saniyələrlə) ölçür. Orta dəyərlər 10-20 ms-dən çox olarsa, disk məlumatı emal etmək üçün çox uzun çəkir. Tranzaksiya jurnalı sürücüləri xüsusilə sürətli yazma performansını tələb edir.
Disk Növbəsinin Uzunluğu
Bu, diskə oxumaq/yazmaq üçün görkəmli sorğuları göstərir. Davamlı olaraq 2-dən yüksək olan dəyərlər (və ya RAID massivləri üçün hər disk üçün 2) diskin I/O sorğularına cavab verə bilməyəcəyini göstərir.
Disk Bayt/san
Bu, diskə / diskdən məlumat ötürmə sürətinə nəzarət edir. Bu, diskin nominal tutumunu aşarsa, Disk Növbəsinin Uzunluğunu artırmaqla göstərildiyi kimi, məlumatlar geridə qalmağa başlayır.
Disk köçürmələri/san
Bu, diskdə yerinə yetirilən oxu/yazma əməliyyatlarının sayını izləyir. SQL Server məlumat girişi adətən təsadüfi olur, bu da sürücü başının hərəkətinə görə daha yavaş olur. Bu dəyərin disk sürücünüzün maksimum reytinqindən aşağı qaldığından əmin olun (adətən standart sürücülər üçün 100/san).
3.4 SQL Server Xüsusi Sayğaclar
3.4.1 Bufer Meneceri Sayğacları
Bufer Meneceri sayğacların monitoru SQL Serveryaddaş bufer əməliyyatları:
- Səhifə oxunur/san: Fiziki verilənlər bazası səhifəsinin oxunmasının məcmu sayı
- Səhifə yazır/san: Fiziki verilənlər bazası səhifəsi yazılarının məcmu sayı
- Lazy yazır/san: Yaddaşı boşaltmaq üçün tənbəl yazıçı tərəfindən yazılmış buferlərin sayı
- Yoxlama nöqtəsi səhifələri/san: Yoxlama məntəqəsi və ya bütün çirkli səhifələrin yuyulmasını tələb edən digər əməliyyatlar tərəfindən yuyulan səhifələr
3.4.2 SQL Statistikası Sayğacları
Bu sayğaclar məlumat verir SQL Server sorğunun işlənməsi:
- Toplu Sorğular/san: Server tərəfindən qəbul edilən SQL toplu sorğularının sayı. Bu, server fəaliyyəti üçün etalon kimi xidmət edir
- SQL Kompilyasiyaları/san: SQL kompilyasiyalarının sayı. Ümumi Toplu Sorğuların 10%-i və ya daha az olmalıdır
- SQL Yenidən Kompilyasiya/san: SQL yenidən tərtiblərinin sayı. Həmçinin ümumi Toplu Sorğuların 10%-i və ya daha az olmalıdır
3.4.3 Ümumi Statistika Sayğacları
- İstifadəçi Əlaqələri: Sistemə qoşulmuş istifadəçilərin sayı. Zamanla əlaqə artımını izləmək üçün etalon kimi istifadə olunur
- Bloklanmış proseslər: Bloklanmış proseslərin cari sayı. İdeal olaraq 0 olmalıdır
3.4.4 Yaddaş meneceri sayğacları
- Gözləyən Yaddaş Qrantları: İş sahəsi yaddaşının verilməsini gözləyən proseslərin ümumi sayı. İdeal olaraq 0 olmalıdır
4. Performans Monitorunun qurulması SQL Server(Windows Vista / Server 2008 və sonrakı)
İlk növbədə, sayğacları daha asan idarə etmək üçün konteyner yaratmalıyıq:
- Windows Vista / Server 2008 və sonrakı versiyaları üçün bu bölmədə Məlumat Kollektor Dəstləri yarada bilərsiniz.
- Windows XP / Server 2003 və daha əvvəlki versiyalar üçün Siz Sayğac Girişləri yarada bilərsiniz növbəti bölmə.
4.1 Məlumat Kollektor Dəstləri nədir?
Məlumat Kollektor Dəstləri performans sayğaclarını, hadisə izləmə məlumatlarını və sistem konfiqurasiya məlumatlarını vahid toplama vahidində təşkil edir. Onlar sadə sayğac qeydlərindən daha çox çeviklik təmin edir və hərtərəfli SQL verilənlər bazası performansının monitorinqi üçün avtomatlaşdırılmış, planlaşdırılmış məlumatların toplanmasına imkan verir.
4.2 Məlumat toplayıcı dəstinin yaradılması
Nəzarət etmək üçün xüsusi Data Collector Set yaradın SQL Server performans sayğacları:
- Performans Monitorunu açın
- Genişləndirilməsi Məlumat Toplayıcı dəstləri
- Sağ-klik Müəyyən edilmiş istifadəçi
- seçmək yeni -> Məlumat Kollektor Dəsti
- Təsviredici ad daxil edin (məsələn, "SQL Server Performans Metrikləri”)
- seçmək Əl ilə yaradın (Qabaqcıl)
- Basın sonrakı
- Check Məlumat qeydləri yaradın -> Performans Sayğacı
- Basın sonrakı
- Basın əlavə etmək sayğacları seçmək üçün
- əlavə etmək İstədiyiniz SQL Server və sistem sayğacları.
- Set Nümunə intervalı
- Rutin monitorinq üçün 1 dəqiqə (60 saniyə) istifadə edin
- Aktiv problemlərin aradan qaldırılması üçün 15-30 saniyə istifadə edin
- Yüksək tezlikli çəkilişləri uzunmüddətli işlətməkdən çəkinin, çünki onlar performansa təsir edə və həddindən artıq məlumat yarada bilər.
- Basın sonrakı
- Qeydləri saxlamaq üçün yeri seçin
- Basın finiş, yeni Data Collector Set yaradılacaq.
- Varsayılan olaraq, yeni Data Collector Set olacaq EDİLMƏDİ avtomatik olaraq başlaya bilər. Bunu sol paneldə, altında tapmalısınız Icra -> Məlumat Toplayıcı dəstləri -> Müəyyən edilmiş istifadəçi -> Məlumat Kollektorunuz, üzərinə sağ klikləyin və seçin start
4.3 Əlavə ediləcək əsas sayğaclar
- Yaddaş -> Mövcud Mbayt
- Fiziki Disk -> Ort. Disk saniyə/Oxu (_Total istisna olmaqla bütün nümunələr)
- Fiziki Disk -> Ort. Disk saniyə/Yaz (_Total istisna olmaqla bütün nümunələr)
- Fiziki Disk -> Disk oxunuşları/san (_Total istisna olmaqla bütün nümunələr)
- Fiziki Disk -> Disk Yazma/san (_Total istisna olmaqla bütün nümunələr)
- Prosessor -> % Prosessor vaxtı (_Total istisna olmaqla bütün nümunələr)
- SQLServer: Ümumi Statistika -> İstifadəçi Əlaqələri
- SQLServer: Yaddaş Meneceri -> Yaddaş Qrantları Gözlənir
- SQLServer: SQL Statistikası -> Toplu Sorğular/san
- SQLServer: SQL Statistikası -> SQL Kompilyasiyaları/san
- SQLServer: SQL Statistics -> SQL Recompilations/san
- Sistem -> Prosessor növbəsinin uzunluğu
4.4 Dayanma şərtlərinin qurulması
Limitsiz məlumat artımının qarşısını almaq üçün dayandırma şərtlərini konfiqurasiya edin:
- Data Collector Set yaratdıqdan sonra üzərinə sağ klikləyin və seçin Xüsusiyyətlər
- Basın Durumu Durdurun nişanı
- Imkan Ümumi müddət
- Müddəti 1 günə təyin edin (24 saat)
- Basın OK saxlamaq üçün
Bu, jurnalın çox böyüməməsini və planlaşdırıldığı təqdirdə avtomatik olaraq yenidən başlamasını təmin edir.
4.5 Məlumatların toplanmasının planlaşdırılması
Ardıcıl monitorinqi təmin etmək üçün məlumatların toplanmasının avtomatlaşdırılması:
- Data Collector Setinizə sağ vurun və seçin Xüsusiyyətlər
- Basın Cədvəl nişanı
- Basın əlavə etmək yeni cədvəl yaratmaq üçün
- Başlama tarixini və vaxtını konfiqurasiya edin
- Təkrarlanma modelini təyin edin (məsələn, gündəlik)
- Basın OK cədvəli saxlamaq üçün
Avtomatik başlatma üçün, Windows Tapşırıq Planlayıcısında başlatma tetikleyicisi yaratmaqla Məlumat Kolleksiyaçı Dəstini server açıldıqda başlamasını konfiqurasiya edin.
5. Performans Monitorunun qurulması SQL Server(Windows XP / Server 2003 və əvvəllər)
Windows XP / Server 2003 və daha əvvəlki versiyalar üçün, performans sayğacları dəstini seçməyə və onları vaxtaşırı fayla daxil etməyə imkan verən Sayğac Qeydləri yarada bilərsiniz.
5.1 Sayğac qeydlərinin yaradılması
Yeni sayğac jurnalı yaratmaq üçün bu addımları yerinə yetirin:
- Performans Monitorunu açın
- Genişləndirilməsi Performans Qeydləri və Xəbərdarlıqlar sol bölmədə
- Sağ-klik Sayğac qeydləri
- seçmək Yeni Giriş Ayarları
- Jurnalını verilənlər bazası serverinizin adı ilə adlandırın (məsələn, “ProductionSQL01”)
- Basın OK konfiqurasiyaya başlamaq üçün
Hər bir server üçün ayrıca sayğac qeydlərinin yaradılması bütün serverlər üçün eyni vaxtda məlumat toplamadan fərdi serverlərdə performansı yoxlamağa imkan verir.
5.2 Performans sayğaclarının əlavə edilməsi
Sayğac jurnalı yaratdıqdan sonra nəzarət etmək istədiyiniz xüsusi performans sayğaclarını əlavə edin:
- Basın Sayğaclar əlavə edin düyməsini
- Sizə işarə etmək üçün kompüter adını dəyişdirin SQL Server Məsələn
- mətbuat Tab mövcud performans obyektlərini yükləmək üçün
- Açılan menyudan performans obyekti seçin (məsələn, Yaddaş)
- Xüsusi sayğacları seçin siyahı
- Mümkünsə, nümunələri seçin (məsələn, fərdi prosessorlar və ya disklər)
- Basın əlavə etmək sayğac daxil etmək
- İstədiyiniz bütün sayğaclar üçün təkrarlayın
- Basın yaxın bitdikdə
5.3 Nümunə intervallarının konfiqurasiyası
Nümunə intervalı Performans Monitorunun məlumatların nə qədər tez-tez toplandığını müəyyən edir. Monitorinq ehtiyaclarınıza əsasən müvafiq intervalları konfiqurasiya edin:
- Sayğac jurnalının xüsusiyyətlərində tapın Nümunə məlumatları hər
- Aralığı təyin edin (defolt olaraq 15 saniyədir)
- İlkin monitorinq üçün gündəlik yığım üçün 1 dəqiqəlik fasilələrdən istifadə edin
- Problemləri həll etmək üçün qısa partlayışlar üçün 15-30 saniyəlik fasilələrdən istifadə edin
- Basın OK tətbiq etmək
Unutmayın ki, daha kiçik intervallar daha çox məlumat yaradır, bu da göstərmək və təhlil etmək daha çətin ola bilər. Daha böyük intervallar mühüm sünbülləri qaçıra bilər. Saxlama və təhlil tələbləri ilə məlumatların qranularlığını tarazlayın.
5.4 Jurnal fayllarının konfiqurasiyası
Düzgün log faylı konfiqurasiyası məlumatların səmərəli və əlçatan şəkildə saxlanmasını təmin edir:
- Basın Files Giriş sayğac jurnalının xüsusiyyətlərində nişan
- Günlük fayl tipini dəyişdirin Mətn faylı (vergüllə ayrılmış) asan Excel idxalı üçün
- Basın Set
- Fayl yolunu xüsusi bir yerə təyin edin (məsələn, paylaşılan PerformanceLogs qovluğu)
- Basın OK təsdiq etmək
Fayllara uzaqdan daxil olmaq və onları digər istifadəçilərlə paylaşmaq üçün jurnalın saxlanması üçün şəbəkə üçün əlçatan paylaşımdan istifadə edin.
5.5 Etibarnamələrin qurulması
Müvafiq etimadnamələri konfiqurasiya edin ki, Performans Monitoru uzaqdan daxil ola bilsin SQL Server hallar:
- Sayğac jurnalının xüsusiyyətlərində tapın As Run
- Domen istifadəçi adınızı aşağıdakı formatda daxil edin: DOMAIN\istifadəçi adı
- Basın Parol seçin
- Parolunuzu daxil edin və təsdiqləyin
- Basın OK saxlamaq üçün
Bu, PerfMon xidmətinə öz etimadnaməsini deyil, domen icazələrinizdən istifadə edərək statistik məlumatları toplamağa imkan verir.
6. Performans Monitoru Məlumatlarının Təhlili
6.1 Performans Monitorunda Giriş Fayllarına Baxın
Performans Monitoru saxlanılan jurnal fayllarından tarixi məlumatları göstərə bilər:
- Performans Monitorunu açın
- Sol bölmədə vurun Monitorinq vasitələri -> Performance Monitor.
- Qrafik sahəsinin hər hansı bir yerində sağ klikləyin
- seçmək Xüsusiyyətlər
- Basın mənbə nişanı
- seçmək Faylları daxil edin radio düyməsini basın
- Basın əlavə etmək
- Günlük faylınıza keçin (.blg və ya .csv)
- Faylı seçin və vurun açıq
- Istifadə edin Vaxt Aralığı təhlil etmək istədiyiniz dövrü seçmək üçün sürüşdürün
- Basın OK Xüsusiyyətlər dialoqunu bağlamaq üçün
- Günlük faylından sayğaclar əlavə etmək üçün yaşıl plus işarəsinə klikləyin
- Göstərmək üçün istədiyiniz sayğacları seçin
- Basın OK
Qrafik indi log faylından tarixi məlumatları göstərəcək. Təfərrüatlı təhlil üçün xüsusi vaxt dövrlərini daraltmaq üçün Xüsusiyyətlərdəki Zaman Aralığı sürüşdürməsindən istifadə edin.
6.2 Məlumatların Excel-ə ixracı
Excel performans sayğac məlumatları üçün güclü analiz imkanları təqdim edir:
- Günlük faylınız yüklənmiş halda Performans Monitorunu açın
- Qrafik sahəsinin hər hansı bir yerində sağ klikləyin
- seçmək Məlumatları Fərqli Saxla
- Fayl üçün yer seçin
- seçmək Mətn Faylı (Vergüllə ayrılmış) (.csv) açılan menyudan
- Basın Yadda saxla
- Excel-də CSV faylını açın
Daha yaxşı təhlil üçün ixrac edilmiş məlumatları formatlayın:
- Yarı boş 2-ci sıranı silin və A1 xanasını silin
- A sütununu Tarix/Saat kimi formatlayın
- Sıfır onluq və minlərlə ayırıcı ilə rəqəmli sütunları formatlayın
- Başlıqlarda server adlarını tapın və dəyişdirin (məsələn, “\\SERVERNAME” yazısını boş ilə əvəz edin)
- Başlıqlardakı obyekt adlarını təmizləyin (məsələn, “Yaddaş”, “FizikiDisk”, “Prosessor”)
- Daha yaxşı görünürlük üçün başlıq şrift ölçüsünü 8 punkta qədər azaldın
6.3 Əks dəyərlərin şərh edilməsi
6.3.1 Yaddaş Sayğacının Təhlili
Yaddaş sayğaclarını təhlil edərkən bu göstəriciləri axtarın:
- Mövcud MBytes: Davamlı olaraq 4096 MB-dan yuxarı qalmalıdır
- Səhifənin ömrü: 300 saniyədən yuxarı dəyərlər sağlam yaddaşı göstərir. Aşağı dəyərlər yaddaş təzyiqini göstərir
- Bufer Cache Hit Ratio: 99%-ə cavab verməlidir və ya keçməlidir. Aşağı dəyərlər həddindən artıq disk oxunmasını göstərir
- Gözləyən Yaddaş Qrantları: Həmişə 0 olmalıdır. İstənilən müsbət dəyər yaddaş aclığını göstərir
6.3.2 CPU Sayğac Təhlili
CPU performans göstəricilərinə aşağıdakılar daxildir:
- % Prosessor vaxtı: 75%-dən çox davamlı istifadə performans problemlərini göstərir. 100% -ə qədər sıçrayışlar normaldır, lakin davam etməməlidir
- Prosessor növbəsinin uzunluğu: 1-dən yuxarı olan dəyərlər CPU təzyiqini göstərir. Hansı proseslərin CPU istehlak etdiyini müəyyən etmək üçün Tapşırıq Menecerini yoxlayın
- % İmtiyazlı Vaxt: 5-10% arasında qalmalıdır. 25%-dən yuxarı olan dəyərlər həddindən artıq I/O əməliyyatlarını göstərir
6.3.3 Disk Sayğacının Təhlili
Disk performans hədləri:
- Ort. Disk saniyə/Oxu və yaz: 10-20ms-dən aşağı qalmalıdır. Daha yüksək dəyərlər yavaş disk alt sistemlərini göstərir
- Disk növbəsinin uzunluğu: Davamlı olaraq 2-dən (və ya RAID-də hər diskə 2) yuxarı olan dəyərlər I/O darboğazlarını göstərir
- % Disk vaxtı: 85%-dən yuxarı olan davamlı dəyərlər diskin doymasını göstərir
6.4 Düsturlardan və statistikadan istifadə
Sürətli təhlil üçün Excel-ə statistik düsturlar əlavə edin:
- Cədvəlinizin yuxarısına 7 boş sətir daxil edin
- A sütununa etiketlər əlavə edin: Orta, Median, Min, Maks, Std Sapma
- B2 xanasına daxil edin: =AVERAGE(B9:B100) (B100-ü son məlumat sıranıza uyğunlaşdırın)
- B3 xanasına daxil edin: =MEDIAN(B9:B100)
- B4 xanasına daxil edin: =MIN(B9:B100)
- B5 xanasına daxil edin: =MAX(B9:B100)
- B6 xanasına daxil edin: =STDEV(B9:B100)
- Düsturları bütün əks sütunlar üzrə kopyalayın
- B9 xanasını seçin və panelləri dondurmaq üçün Alt+W+F+Enter düymələrini basın
Bu statistika hər sayğac üçün meylləri, kənar göstəriciləri və normal əməliyyat diapazonlarını müəyyən etməyə kömək edir.
7. Qeydlər üçün Performans Təhlili (PAL) Aləti
7.1 PAL-a giriş
Qeydlər üçün Performans Təhlili (PAL) Clint Huffman tərəfindən hazırlanmış və Performans Monitoru qeydlərini təhlil edən və həddi təhlili ilə HTML hesabatları yaradan pulsuz bir vasitədir. PAL performans məlumatlarınızı məlum hədlərlə müqayisə edir və ətraflı tövsiyələr verir SQL Server performansın optimallaşdırılması.
GitHub deposundan PAL-ı yükləyin: https://github.com/clinthuffman/PAL
7.2 PAL-ın qurulması
Bu addımları yerinə yetirərək PAL-ı quraşdırın:
- GitHub-dan PAL quraşdırma faylını endirin
- Quraşdırıcını işə salın
- Basın sonrakı salamlama ekranında
- Quraşdırma qovluğunu nəzərdən keçirin və qəbul edin
- Basın sonrakı davam
- Basın Quraşdırın quraşdırmaya başlamaq üçün
- Quraşdırmanın tamamlanmasını gözləyin
- Basın finiş
7.3 Log fayllarının PAL ilə işlənməsi
PAL istifadə edərək Performans Monitoru qeydlərinizi təhlil edin:
- Başlat menyusundan və ya quraşdırma qovluğundan PAL-ı işə salın
- Basın Counter Log nişanı
- Basın İnsanlar .blg faylınızı seçmək üçün
- Performans Monitoru qeyd faylına keçin
- Basın açıq
- Basın Eşik Faylı nişanı
- Açılan menyudan hədd faylını seçin (məsələn, "SQL Server 2016 ”)
- Basın Suallar nişanı
- Sistem konfiqurasiyanızla bağlı suallara cavab verin
- Sizin olub-olmadığını müəyyənləşdirin SQL Server OLTP və ya Məlumat Anbarıdır
- Mövcud ümumi RAM-ı daxil edin
- Basın Çıxış Seçimləri nişanı
- HTML hesabatı üçün çıxış kataloqu seçin
- Check HTML çıxış formatı
- Basın Icra etmək nişanı
- Seçimlərinizi nəzərdən keçirin
- Check İndi icraya başlayın
- Basın finiş
7.4 PAL Hesabatlarının Təhlili
PAL təhlili tamamladıqdan sonra aşağıdakıları ehtiva edən HTML hesabatı yaradır:
- Performans məsələlərinin ümumi xülasəsi
- Diaqramlarla ətraflı əks təhlil
- Rənglə vurğulanmış hədd pozuntuları
- Hər bir məsələ üçün xüsusi tövsiyələr
- Tarixi tendensiyalar və nümunələr
Hesabat ciddiliyi göstərmək üçün rəng kodlaşdırmasından istifadə edir: kritik problemlər üçün qırmızı, xəbərdarlıqlar üçün sarı və sağlam göstəricilər üçün yaşıl. Performans darboğazlarını anlamaq üçün hər bir bölməni nəzərdən keçirin və optimallaşdırma üçün PAL tövsiyələrinə əməl edin.
8. Alternativ SQL Server Monitorinq vasitələri
8.1 Quraşdırılmış SQL Server Tools
8.1.1 SQL Server Fəaliyyət Monitor
SQL Server Fəaliyyət Monitor haqqında real vaxt məlumatları göstərir SQL Server proseslər və performans:
- açıq SQL Server Management Studio (SSMS) və server instansiyanıza qoşulun
- Obyekt Explorer-də server adına sağ klikləyin
- seçmək Fəaliyyət Monitor
Fəaliyyət Monitoru prosesləri, resurs gözləmələrini, məlumat faylı I/O və son bahalı sorğuları göstərir. O, cari verilənlər bazası fəaliyyəti haqqında sürətli məlumat verir, lakin tarixi məlumatları saxlamır.
8.1.2 SQL Server Performans İdarəetmə Paneli
SQL Server Management Studio daxili performans hesabatlarını ehtiva edir:
- In SQL Server Management Studio (SSMS), sağ klikləyin SQL Server Object Explorer-də nümunə
- seçmək Hesabatlar -> Standart Hesabatlar
- kimi mövcud hesabatlardan seçin Performans İdarəetmə Paneli
Performans Paneli vizual məlumatlar təqdim edir SQL Server sistem CPU istifadəsi, cari gözləmə sorğuları və performans göstəriciləri daxil olmaqla nümunə performansı. Standart Hesabatlar menyusu vasitəsilə ona daxil olun.
8.1.3 SQL Server Profil
SQL Server Profil tutur və təhlil edir SQL Server sorğunun icrası, əməliyyat əməliyyatları və giriş fəaliyyətləri kimi hadisələr.
Başlamaq SQL Server Profiler:
- In SQL Server Management Studio, klikləyin Tools -> SQL Server Profil
Profiler əhəmiyyətli dərəcədə performans xərcləri yaradır, ona görə də ondan ağıllı şəkildə və tercihen pik saatlardan kənar vaxtlarda istifadə edin. Əksər ssenarilər üçün Genişləndirilmiş Hadisələr daha az təsirlə daha yaxşı performans təmin edir.
8.1.4 Genişləndirilmiş Tədbirlər
Genişləndirilmiş Tədbirlər quraşdırılmış yüngül performans monitorinq sistemidir SQL Server. Əvəz edir SQL Server Daha yaxşı performansa və aşağı yükə malik profilçi.
Əsas xüsusiyyətlərə aşağıdakılar daxildir:
- Xüsusi hadisələrin incə dənəli monitorinqi
- Minimum performans təsiri
- Fərdiləşdirilə bilən hadisə sessiyaları
- SSMS və digər alətlərlə inteqrasiya
- Mürəkkəb filtrləmə və aqreqasiya üçün dəstək
SSMS vasitəsilə Genişləndirilmiş Tədbir sessiyaları yaradın:
- In Obyekt Explorer, serverinizi genişləndirin və gedin İdarəetmə -> Genişləndirilmiş Tədbirlər -> Sessiyalar
- Sağ üzərində basın Sessions və seçin Yeni Sessiya Sihirbazı
- Yeni bir seansa başlamaq üçün təlimatları izləyin.
8.1.5 Dinamik İdarəetmə Baxışları (DMVs)
DMV-lər sağlamlığın monitorinqi, problemlərin diaqnostikası və tənzimləmə performansı üçün ətraflı server vəziyyəti məlumatlarını ifşa edir. Əsas DMV-lərə aşağıdakılar daxildir:
- sys.dm_exec_query_stats: Performans statistikasını sorğulayın
- sys.dm_os_wait_stats: Server performansına təsir edən gözləmə növləri
- sys.dm_os_performance_counters: SQL Server performans sayğac məlumatları
- sys.dm_exec_requests: Hazırda sorğular icra olunur
- sys.dm_exec_sessions: Aktiv istifadəçi seansları
Real vaxt performans məlumatlarına və tarixi ölçülərə daxil olmaq üçün T-SQL istifadə edərək bu baxışları sorğulayın.
Əsas istifadə
-- 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 Üçüncü Tərəfin Monitorinq Həlləri
Redgate SQL Monitor
Redgate SQL Monitor monitorinq üzrə ixtisaslaşmışdır SQL Server və Azure SQL Database mühitləri. O, əmlak miqyasında monitorinq, fərdiləşdirilə bilən xəbərdarlıqlar və tablolar, ətraflı hesabat imkanları və digər Redgate alətləri ilə inteqrasiyanı təmin edir.
GünəşWinds SQL Server Monitorinq Aləti
Günəş Küləkləri SQL Server SQL Sentry kimi də tanınan Monitorinq Aləti ciddi performans problemlərini diaqnoz etmək, həll etmək və qarşısını almaq üçün nəzərdə tutulmuşdur. SQL Server.
IDERA-dır SQL Server Performans Monitorinq Aləti
IDERA SQL Diaqnostika Meneceri güclü bir proqramdır SQL Server proaktiv performans monitorinqi, diaqnostika və tənzimləmə ilə kömək etmək üçün hazırlanmış performans monitorinqi vasitəsi.
Proqramlar Menecerinin SQL Monitorinqi
Proqramlar Meneceri Microsoft təklif edir SQL Server Faydalı İT həlləri təmin edən monitorinq aləti. O, SQL verilənlər bazalarının işinə nəzarət etmək, eyni zamanda səhvləri müəyyən etmək və təşkilatın fəaliyyətində dayanmalara səbəb ola biləcək problemləri həll etmək üçün nəzərdə tutulmuşdur.
8.3 Açıq Mənbəli Monitorinq Alətləri
DBA Dash
DBA Dash, məlumat verən pulsuz, açıq mənbəli monitorinq vasitəsidir SQL Server sağlamlıq, performans və fəaliyyət. O, xüsusilə kiçik və orta ölçülü mühitlər üçün faydalıdır və gündəlik DBA yoxlamaları, performans monitorinqi və konfiqurasiya izlənilməsi daxildir.
SQLWATCH
SQLWATCH mərkəzləşdirilməmiş, real vaxta yaxın təklif edir SQL Server iş yükünün sıçrayışlarını ələ keçirmək üçün 5 saniyəlik qranularlıqla monitorinq. O, real vaxt panelləri üçün Grafana və dərin təhlil üçün Power BI-ı dəstəkləyir. Alət geniş konfiqurasiya seçimləri, sıfır texniki xidmət tələbləri və məhdudiyyətsiz miqyaslılıq təmin edir.
Müşahidəçi
Stack Exchange tərəfindən hazırlanmış Opserver, daxil olmaqla bir çox sistemə nəzarət edir SQL Server, Redis və Elasticsearch. O, infrastrukturunuzda CPU, yaddaş, şəbəkə və aparat statistikası üçün "bütün serverlər" görünüşünü təmin edir.
sp_WhoIsActive
sp_WhoIsActive Adam Machanic tərəfindən yaradılmış hərtərəfli fəaliyyət monitorinqi saxlanan prosedurdur. Hamısı ilə işləyir SQL Server 2005-ci ildən cari buraxılışlara qədər və geniş şəkildə istifadə olunur SQL Server Real vaxt rejimində fəaliyyətin monitorinqi üçün DBA-lar.
sp_WhoIsActive istifadə etmək üçün onu http://whoisactive.com/ saytından yükləyin, verilənlər bazanıza quraşdırın və yerinə yetirin:
EXEC sp_WhoIsActive
Prosedura hazırda icra edilən sorğuları, gözləmə məlumatını, bloklama təfərrüatlarını və resurs istehlakını göstərir.
9. Üçün ən yaxşı təcrübələr SQL Server Performance Monitor
9.1 Performansın əsas göstəricilərinin yaradılması
Performansın əsas göstəriciləri sizin üçün normal əməliyyat parametrləri yaradır SQL Server mühit. Əsas göstəricilər olmadan, cari göstəricilərin problemləri göstərib-göstərmədiyini və ya tipik davranışı təmsil etdiyini müəyyən edə bilməzsiniz.
Əsas xətləri yaradın:
- Ən azı bir həftə ərzində normal əməliyyatlar zamanı performans məlumatlarının toplanması
- Həm pik, həm də qeyri-pik saatlarda ölçülərin alınması
- Əsas sayğaclar üçün tipik dəyərlərin sənədləşdirilməsi
- Mövsümi dəyişikliklərin qeydə alınması (əgər varsa)
- Gələcək ölçülərlə müqayisə etmək üçün ilkin məlumatların saxlanması
Əsas göstəriciləri rüblük və ya əhəmiyyətli infrastruktur dəyişikliklərindən, proqram yeniləmələrindən və ya verilənlər bazası dəyişikliklərindən sonra yeniləyin.
9.2 Müvafiq xəbərdarlıq hədlərinin təyin edilməsi
Özünüzü bildirişlərlə sıxışdırmadan mənalı siqnallar almaq üçün ağıllı hədləri konfiqurasiya edin:
- Yaddaş Grants Pending > 0 yaddaş təzyiqini göstərir
- Prosessor Növbəsinin Uzunluğu > 2 nüvə başına CPU darboğazını göstərir
- Disk saniyə/Oxu və ya yaz > 20ms yavaş I/O-nu göstərir
- Bloklanmış Proseslər > 5 mübahisə problemlərinə işarə edir
- Səhifə Ömrü < 300 saniyə yaddaş təzyiqini göstərir
İlkin məlumatlarınıza və xüsusi iş yükü xüsusiyyətlərinə əsasən hədləri tənzimləyin. Ətrafınızdakı normal dəyişiklikləri nəzərə alan adaptiv həddlərdən istifadə edin.
9.3 Müntəzəm məlumatların nəzərdən keçirilməsi və təhlili
Trendləri və ortaya çıxan problemləri müəyyən etmək üçün müntəzəm performans təhlilləri planlaşdırın:
- Gündəlik: Yüksək səviyyəli ölçüləri və son xəbərdarlıqları nəzərdən keçirin
- Həftəlik: Performans meyllərinin dərin təhlilini aparın
- Aylıq: Hərtərəfli hesabatlar yaradın və əsas göstəricilərlə müqayisə edin
- Rüblük: Güc planlamasını və uzunmüddətli meylləri nəzərdən keçirin
Tapıntıları sənədləşdirin və zamanla performans təkmilləşdirmələrini izləyin.
9.4 Monitorinq üzrə əlavə məsrəflərin balanslaşdırılması
Monitorinqin özü resursları sərf edir, ona görə də məlumatların toplanması ilə performans effektini balanslaşdırın:
- Davamlı monitorinq üçün 30-60 saniyəlik fasilələrdən istifadə edin
- Yalnız aktiv problemlərin aradan qaldırılması üçün 15 saniyəlik fasilələrdən istifadə edin
- Məlumat Kollektorunu məhdudlaşdırın Həddindən artıq məlumatların qarşısını almaq üçün müddəti təyin edin
- Logları verilənlər bazası fayllarından ayrı disklərdə saxlayın
- İdarə edilə bilən fayl ölçülərini saxlamaq üçün köhnə performans məlumatlarını arxivləşdirin
Performans Monitoru düzgün konfiqurasiya edildikdə minimum əlavə xərclər əlavə edir, adətən sistem resurslarının 2%-dən azdır.
9.5 Uzunmüddətli məlumatların saxlanması
Mənalı trend təhlili və potensialın planlaşdırılması üçün performans məlumatlarını saxlayın:
- Ən azı 1-2 illik performans məlumatlarını saxlayın
- 3-6 aydan sonra ayrı saxlama üçün məlumatları arxivləşdirin
- Yerə qənaət etmək üçün köhnə jurnal fayllarını sıxın
- Performansa təsir edən hər hansı əhəmiyyətli hadisə və ya dəyişiklikləri sənədləşdirin
Performans sayğac məlumatlarının nisbətən kiçik ölçüsünü nəzərə alaraq, onları qeyri-müəyyən müddətə saxlamaq çox vaxt mümkün və uzunmüddətli təhlil üçün dəyərlidir.
9.6 DevOps Təcrübələri ilə inteqrasiya
Verilənlər bazası performansının monitorinqini CI/CD boru kəmərlərinə daxil edin:
- Yerləşdirmənin doğrulanmasına verilənlər bazası performans göstəricilərini daxil edin
- Yeni buraxılışlar üçün performans testini avtomatlaşdırın
- Kod dəyişikliklərinin performansa mənfi təsir göstərmədiyini təsdiqləyin
- Hər buraxılış üçün performans göstəriciləri yaradın
- Monitorinq siqnallarını insident idarəetmə sistemləri ilə inteqrasiya edin
10. Ümumi Performans Problemlərinin aradan qaldırılması
10.1 CPU darboğazlarının müəyyən edilməsi
CPU darboğazları yavaş sorğu cavab müddətləri və yüksək prosessor istifadəsi kimi özünü göstərir. CPU problemlərini diaqnoz etmək üçün bu addımlardan istifadə edin:
- Prosessor növbəsinin uzunluğu sayğacını yoxlayın. Hər nüvə üçün 2-dən yuxarı olan dəyərlər CPU təzyiqini göstərir
- % Prosessor vaxtını nəzərdən keçirin. 75%-dən çox davamlı dəyərlər CPU darboğazını göstərir
- Uzaq masa üstü üçün SQL Server
- Tapşırıq menecerini açın (Ctrl+Shift+Esc)
- Basın Proseslər nişanı
- Check Bütün istifadəçilərin proseslərini göstərin
- Basın CPU CPU istifadəsinə görə sıralamaq üçün sütun başlığı
- Hansı proseslərin CPU resurslarını istehlak etdiyini müəyyənləşdirin
olmasaSQL Server proqramlar əhəmiyyətli CPU istehlak edir, onları verilənlər bazası serverindən çıxarın. Əgər sqlservr.exe yüksək CPU istifadə edirsə, bu üsullardan istifadə edərək araşdırın:
- SQL Compilations/san və SQL Re-Compiations/san-ı yoxlayın. Toplu Sorğuların 10%-dən yuxarı olan dəyərlər/saniya həddən artıq kompilyasiya olduğunu göstərir
- CPU-intensiv sorğuları müəyyən etmək üçün sys.dm_exec_query_stats sorğusu
- Çatışmayan indekslər və ya səmərəsiz əməliyyatlar üçün icra planlarını nəzərdən keçirin
- Cədvəl skanlarını azaltmaq üçün indekslər əlavə etməyi düşünün
10.2 Yaddaş problemlərinin diaqnostikası
Yaddaş problemləri əhəmiyyətli dərəcədə təsir edir SQL Server performans. Bu göstəricilərdən istifadə edərək yaddaş problemlərini diaqnoz edin:
Mövcud Yaddaş Düşmələri
Mövcud MBaytların sayı ardıcıl olaraq 100 MB-dan aşağı düşərsə, əməliyyat sistemi yaddaş çatışmazlığı ilə üzləşə bilər. Windows səhifələr sıradan çıxa bilər SQL Server yaddaşın diskə köçürülməsi, performansın azalmasına səbəb olur.
Aşağı Səhifə Ömrü Ömrü
Səhifə ömrünün 300 saniyədən aşağı olması yüksək bufer keş dövriyyəsini göstərir. Bu, ya yaddaşın qeyri-kafi bölüşdürülməsini, ya da sorğulardan gələn həddindən artıq yaddaş təzyiqini göstərir.
Aşağı Bufer Keş Hit Oranı
Bufer Cache Hit Ratio 99% -dən aşağı deməkdir SQL Server tez-tez məlumatları yaddaşdan deyil, diskdən oxuyur. Bu, bufer hovuzu çox kiçik olduqda baş verir və ya SQL Server yenidən başladıqdan sonra hələ də istiləşir.
Yaddaş Qrantları Gözlənir
Gözləyən Yaddaş Qrantları üçün 0-dan yuxarı istənilən dəyər sorğuların yaddaş qrantlarını gözlədiyini göstərir. Bu, təcili diqqət tələb edən kritik yaddaş çatışmazlığını təmsil edir.
Yaddaş problemlərini həll etmək üçün:
- Set SQL Server əməliyyat sistemi üçün adekvat RAM buraxmaq üçün maksimum yaddaş parametri (server ölçüsündən asılı olaraq adətən 4-8 GB)
- üçün "Yaddaşda Səhifələri Kilidləmək" icazəsini aktiv edin SQL Server xidmət hesabı
- Yaddaş təzyiqi davam edərsə, serverə daha çox fiziki RAM əlavə edin
- Yaddaş tutumlu sorğuları müəyyənləşdirin və optimallaşdırın
10.3 Disk daxil/çıxış məsələlərinin həlli
Disk I/O tez-tez verilənlər bazası sistemlərində əsas performans darboğazına çevrilir. Bu üsullardan istifadə edərək disk problemlərini diaqnoz edin:
Yüksək Disk Növbəsinin Uzunluğu
Disk Növbəsinin Uzunluğu ardıcıl olaraq 2-dən (və ya RAID üçün hər disk üçün 2-dən) yuxarı olması disk alt sisteminin I/O sorğularına cavab verə bilməyəcəyini göstərir. Bu, gözlənilən əməliyyatların geridə qalmasına səbəb olur.
Həddindən artıq disk gecikməsi
Ort. Disk saniyə/Oxu və Ort. 10-20ms-dən yuxarı disk saniyə/yazma dəyərləri yavaş disk reaksiyasını göstərir. Transaction log sürücüləri xüsusilə sürətli performans tələb edir, ideal olaraq yazma üçün 5ms-dən azdır.
Yüksək % Disk vaxtı
Disk vaxtının 85%-dən yuxarı davamlı olması diskin doymasını göstərir. Disk vaxtının çox hissəsini az boş vaxt qalaraq giriş/çıxış sorğularını emal etməklə keçirir.
Disk problemlərini həll etməzdən əvvəl onların yaddaş problemlərinin əlamətləri olmadığını yoxlayın. Yaddaş qüvvələrinin qeyri-kafi olması SQL Server diskdən daha çox məlumat oxumaq, disk ölçülərini süni şəkildə şişirtmək.
Orijinal disk giriş/çıxış problemlərini həll etmək üçün:
- Daha sürətli disklərə təkmilləşdirin (HDD əvəzinə SSD)
- Daha yaxşı performans üçün RAID konfiqurasiyalarını tətbiq edin
- Verilənlər bazası fayllarını, əməliyyat qeydlərini və tempdb-ni müxtəlif fiziki disklərə ayırın
- Disk oxunmasını azaltmaq üçün daha çox yaddaş əlavə edin
- Lazımsız I/O-nu azaltmaq üçün indeksləri optimallaşdırın
- Zəif işləyən sorğuları nəzərdən keçirin və optimallaşdırın
10.4 Bloklanma və Kilidlərin ünvanlanması
Bloklama bir seans digər seansların davam etməsinə mane olan kilidləri saxladıqda baş verir. Bloklama problemlərini müəyyən etmək üçün bu sayğacları izləyin:
- Bloklanmış proseslər: İdeal olaraq 0 olmalıdır
- Kilid Gözləmələri/san: Gözləmə tələb edən kilid sorğularının sayı
- Orta Gözləmə Müddəti: Kilid gözləmələrinin orta müddəti
Bloklamanı araşdırmaq üçün:
- SSMS-də Fəaliyyət Monitorunu açın
- Genişletin Proseslər bölmə
- Sıfır olmayan prosesləri axtarın Bloklandı dəyərlər
- Bloklama sessiyasının identifikatorunu müəyyənləşdirin
- Bloklamaya səbəb olan sorğuları nəzərdən keçirin
Daha ətraflı bloklama təhlili üçün sp_WhoIsActive istifadə edin. Həddindən artıq wait_info girişləri tez-tez tempdb mübahisəsini və ya bloklama problemlərini göstərir.
Bloklamanı azaltmaq üçün:
- Əməliyyat müddətini minimuma endir
- Müvafiq izolyasiya səviyyələrindən istifadə edin
- Kilid müddətini azaltmaq üçün indekslər əlavə edin
- READ_COMMITTED_SNAPSHOT izolyasiyasını nəzərdən keçirin
- Uzun müddət davam edən sorğuları nəzərdən keçirin və optimallaşdırın
10.5 Sorğu Performansı Problemləri
SQL performansının monitorinqi üçün bahalı sorğuların müəyyən edilməsi vacibdir. Problemli sorğuları tapmaq üçün bu üsullardan istifadə edin:
Fəaliyyət Monitorundan istifadə
- SSMS-də server adına sağ klikləyin
- seçmək Fəaliyyət Monitor
- Genişləndirilməsi Son Bahalı Sorğular
- Yüksək CPU, müddət və ya məntiqi oxunuşlarla sorğuları nəzərdən keçirin
DMV-lərdən istifadə
Resurs tələb edən sorğuları müəyyən etmək üçün sys.dm_exec_query_stats sorğusu:
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
İcra planlarının təhlili
- SSMS-də yeni sorğu pəncərəsi açın
- Basın Təxmini İcra Planını göstərin (Ctrl+L) və ya Faktiki İcra Planını daxil edin (Ctrl+M)
- Sorğunuzu yerinə yetirin
- Bahalı əməliyyatlar üçün icra planını nəzərdən keçirin
- Masa skanlamaları, indeks skanlamaları və ya yüksək xərcli əməliyyatlar axtarın
Sorğuları optimallaşdırın:
- Müvafiq indekslərin əlavə edilməsi
- Bahalı əməliyyatların qarşısını almaq üçün sorğuların yenidən yazılması
- Statistikanın yenilənməsi
- SELECT * əvəzinə xüsusi sütun adlarından istifadə
- Lazımsız DISTINCT və ya ORDER BY bəndlərindən qaçınmaq
10.6 Korrupsiyaya uğramış verilənlər bazasını aşkar edin və düzəldin
Verilənlər bazasının korlanması performansın azalmasına, məlumat itkisinə və sistem nasazlığına səbəb ola bilər. Korrupsiyanın tez aşkar edilməsi və aradan qaldırılması verilənlər bazası sağlamlığının qorunması üçün vacibdir.
Verilənlər Bazasının Korrupsiya Göstəriciləri
Potensial korrupsiya əlamətlərinə diqqət yetirin:
- Səhv mesajları SQL Server səhv jurnalı (xəta 823, 824 və ya 825)
- Xüsusi cədvəllərə daxil olarkən gözlənilməz tətbiq xətaları
- Əvvəlki sürətli sorğularda yavaş sorğu performansı
- SQL Server qəzalar və ya gözlənilməz yenidən başlamalar
- msdb.dbo.suspect_pages cədvəlində görünən şübhəli səhifələr
Aşkarlama üçün DBCC CHECKDB-dən istifadə
DBCC CHECKDB verilənlər bazası korrupsiyasının aşkarlanması üçün əsas vasitədir. Problemləri erkən tutmaq üçün mütəmadi olaraq işə salın.
Şübhəli Səhifələrin Monitorinqi
SQL Server msdb verilənlər bazasında şübhəli səhifələri avtomatik qeyd edir:
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)
Qaytarılan hər hansı sətir dərhal diqqət tələb edən korrupsiya məsələlərini göstərir.
Korrupsiyanın qarşısının alınması strategiyaları
- CHECKSUM seçimi ilə səhifə doğrulamasını aktivləşdirin
- Daimi verilənlər bazası ehtiyat nüsxələrini saxlayın
- Səhvlərin düzəldilməsi ilə etibarlı avadanlıqdan istifadə edin
- İstehsalçı alətlərindən istifadə edərək diskin sağlamlığına nəzarət edin
- Müntəzəm DBCC CHECKDB işlərini planlaşdırın
- Saxlamaq SQL Server ən son yamaqlarla yeniləndi
Bərpa və Təmir Seçimləri
Korrupsiyalar aşkar edilərsə, daxili aləti sınaya bilərsiniz DBCC CHECKDB onları düzəltmək üçün. Əgər uğursuz olarsa, kimi üçüncü tərəf alətlərindən istifadə edin DataNumen SQL Recovery ağır korrupsiya ilə məşğul ola bilər.
11. Qabaqcıl Monitorinq Texnikaları
11.1 Sorğu Mağazasının Monitorinqi
Sorğu Mağazası, təqdim edildi SQL Server 2016, sorğu performans məlumatlarını avtomatik alır. O, sorğu davranışı, icra planları və performans tendensiyaları haqqında dəyərli anlayışlar təqdim edir.
Sorğu Dükanı aktiv edilir
- SSMS Object Explorer-də verilənlər bazasına sağ klikləyin
- seçmək Xüsusiyyətlər
- Basın Sorğu Mağazası səhifə
- In İş rejimi (Tələb olunur)seçin Yazı oxuyun
- Lazım olduqda əlavə parametrləri konfiqurasiya edin
- Basın OK
Sorğu Performansının Monitorinqi
Obyekt Explorer vasitəsilə Sorğu Mağazası hesabatlarına daxil olun:
- Obyekt Explorer-də verilənlər bazasını genişləndirin
- Genişləndirilməsi Sorğu Mağazası
- Mövcud hesabatlardan seçin:
- Geriləmiş Sorğular
- Ümumi Resurs İstehlakı
- Ən çox Resurs İstehlak edən Sorğular
- Məcburi Planlarla Sorğular
- İzlənən Sorğular
Reqressiyanın aşkarlanması planı
Sorğu Mağazası sorğunun icra planlarının dəyişdiyini və performansın aşağı düşdüyünü avtomatik aşkarlayır. Plan dəyişikliklərindən təsirlənən sorğuları müəyyən etmək üçün Reqress Sorğular hesabatını nəzərdən keçirin.
Məcburi Plan İdarəetmə
Query Store daha yaxşı icra planı müəyyən etdikdə, məcbur edin SQL Server istifadə etmək üçün:
- Sorğunu Query Store-da açın
- İstədiyiniz planı sağ vurun
- seçmək Qüvvə Planı
Bu, kod dəyişiklikləri tələb etmədən performansı dərhal yaxşılaşdırır.
11.2 İndeks Baxımına Nəzarət
İndeksin parçalanması sorğunun performansını zamanla aşağı salır. Optimal performansı təmin etmək üçün indeksləri mütəmadi olaraq izləyin və saxlayın.
Parçalanma yoxlanışı
İndeks parçalanmasını yoxlamaq üçün bu sorğudan istifadə edin:
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
Bu sorğunu qeyri-pik saatlarda işlədin, çünki bu, resurs tələb edə bilər.
Səhifə sıxlığının təhlili
Səhifə sıxlığı indeks səhifələrinin nə qədər dolu olduğunu göstərir. Aşağı sıxlıq yer itirir və performansını azaldır:
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
Yenidən təşkil və yenidən qurma qərarları
Parçalanma səviyyələrinə əsasən indeksə qulluq əməliyyatlarını seçin:
- Parçalanma 10-30%: ALTER INDEX REORGANIZE istifadə edin
- Parçalanma > 30%: ALTER INDEX REBUILD istifadə edin
- Parçalanma < 10%: Fəaliyyətə ehtiyac yoxdur
Yenidən təşkil əməliyyatları daha az resurs tələb edir və onlayn işləyə bilər. Yenidənqurma əməliyyatları daha ətraflıdır, lakin əhəmiyyətli resursları istehlak edir.
11.3 Verilənlər Bazasının Statistikası Yeniləmələri
Verilənlər bazası statistikası kömək edir SQL Serversorğu optimallaşdırıcısı səmərəli icra planları yaradır. Köhnəlmiş statistika sorğunun zəif işləməsinə səbəb olur.
Avtomatik Statistika Yenidənqurma
Avtomatik statistika yeniləmələrini aktivləşdirin:
ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON
Monitorinq Statistika Sağlamlıq
Statistikanın sonuncu dəfə nə vaxt yeniləndiyini yoxlayın:
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
Lazım olduqda statistikanı əl ilə yeniləyin:
UPDATE STATISTICS TableName WITH FULLSCAN
11.4 Fərdi Performans Məlumatlarının Toplanması
Birbaşa sys.dm_os_performance_counters sorğusu və nəticələri cədvəllərdə saxlamaqla fərdi performans monitorinqi həlləri yaradın.
Xüsusi Kolleksiya Skriptlərinin yaradılması
Performans sayğac məlumatlarını toplamaq üçün saxlanılan prosedur qurun:
CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
INSERT INTO dbo.PerformanceHistory (
SampleTime,
CounterName,
CounterValue
)
SELECT
GETDATE(),
counter_name,
cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name IN (
'Page life expectancy',
'Batch Requests/sec',
'Buffer cache hit ratio'
)
END
sys.dm_os_performance_counters istifadə edərək
Performans sayğaclarını birbaşa sorğulayın:
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
Tarixi məlumatların saxlanması
Zamanla performans göstəricilərini saxlamaq üçün cədvəl yaradın:
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
Pivotlu Məlumat Saxlama Metodları
Nümunə vaxtı üçün bir sətir və sayğac üçün bir sütun ilə məlumatı dönər formatda saxlayın. Bu, saxlama yerini azaldır və nümunə üçün hər sayğac üçün bir sıra saxlamaqla müqayisədə sorğu performansını yaxşılaşdırır.
11.5 Multi-Server Monitorinqi
Çoxlu mühitlər üçün SQL Server hallarda, mərkəzləşdirilmiş monitorinq həyata keçirir.
Mərkəzləşdirilmiş monitorinq yanaşması
- Ayrı bir serverdə xüsusi monitorinq verilənlər bazası yaradın
- Bütün serverlərdən məlumatları mərkəzi depoya toplayın
- istifadə SQL Server Kolleksiya skriptlərini işlətmək üçün agent işləri
- Şəbəkə üçün əlçatan performans sayğaclarının kolleksiyasını həyata keçirin
Uzaqdan Server Monitorinqi
Sayğaclar əlavə edərkən server adlarını göstərərək uzaq serverlərdən məlumat toplamaq üçün Performans Monitorunu konfiqurasiya edin. Firewall qaydalarının Performans Monitoru trafikinə icazə verdiyinə əmin olun.
Serverlərarası Hesabat
Fərqli göstəriciləri və tutum balanssızlıqlarını müəyyən etmək üçün bir çox serverlər arasında performansı müqayisə edən hesabatlar hazırlayın.
12. Monitorinq SQL Server Bulud Mühitlərində
12.1 Azure SQL verilənlər bazasının monitorinqi
Azure SQL Database yerli monitorinq imkanlarından fərqlənən daxili monitorinq imkanlarını təmin edir SQL Server.
Azure Monitor İnteqrasiyası
Azure Monitor avtomatik olaraq Azure SQL verilənlər bazasından ölçüləri toplayır, o cümlədən:
- DTU və ya vCore istifadəsi
- Saxlama istifadəsi
- Bağlantı statistikası
- Kilidlər və fasilələr
Azure Portal və ya Azure Monitor API vasitəsilə bu ölçülərə daxil olun.
Daxili Monitorinq Xüsusiyyətləri
Azure SQL verilənlər bazasına daxildir:
- Avtomatik tuning tövsiyələri
- Query Performance Insight
- Anomaliyaların aşkarlanması üçün Ağıllı İnsights
- Daxili xəbərdarlıq və diaqnostika
Query Performance Insight
Bu xüsusiyyət ən çox resurs istehlak edən sorğuların, sorğu müddəti təhlilinin və tarixi performans meyllərinin vizuallaşdırılmasını təmin edir. SQL Database resursunuzun altında Azure Portalı vasitəsilə ona daxil olun.
12.2 Cloud-Native Monitorinq Alətləri
Bulud platformaları öz mühitləri üçün optimallaşdırılmış yerli monitorinq həlləri təklif edir:
- Azure SQL verilənlər bazası üçün Azure Monitor və Tətbiq İnsights
- RDS üçün AWS CloudWatch SQL Server
- Bulud üçün Google Bulud Monitorinqi SQL Server
Bu alətlər bulud infrastrukturu ilə problemsiz inteqrasiya edir və bütün bulud resurslarında vahid monitorinqi təmin edir.
Hibrid Ətraf Mühitin Monitorinqi
Yerli və buludları əhatə edən hibrid yerləşdirmələr üçün Redgate SQL Monitor, SolarWinds DPA kimi hər iki mühiti dəstəkləyən alətlərdən və ya mərkəzləşdirilmiş məlumatların toplanmasından istifadə edən fərdi həllərdən istifadə edin.
12.3 Buludda Performans Fərqləri
Bulud SQL Server mühitlər özünəməxsus xüsusiyyətlərə malikdir:
Resursların bölüşdürülməsi modelləri
Bulud provayderləri performans göstəricilərini necə şərh etdiyinizə təsir edən müxtəlif resurs ayırma üsullarından (DTU, vCore, serversiz) istifadə edir. Xidmət səviyyənizin məhdudiyyətlərini və xüsusiyyətlərini anlayın.
Ölçəkləşdirmə Mülahizələri
Bulud mühitləri dinamik miqyaslama imkanları təklif edir. Nə vaxt böyüdüləcəyini və ya azaldılacağını müəyyən etmək üçün resurs istifadəsinə nəzarət edin. Bir çox bulud platformaları performans hədləri əsasında avtomatik miqyaslaşdırma təmin edir.
13. Performans monitorinqinin avtomatlaşdırılması
13.1 SQL Server Agent Jobs
istifadə edərək məlumatların toplanmasının avtomatlaşdırılması SQL Server Əl müdaxiləsi olmadan ardıcıl monitorinq üçün agent işləri.
Planlaşdırılmış məlumatların toplanması
- SSMS-də genişləndirin SQL Server Agent
- Sağ-klik Jobs və seçin Yeni iş
- İşi adlandırın (məsələn, "Performans Metriklərini toplayın")
- Basın Addımlar və yeni bir addım əlavə edin
- Növü təyin edin Transact-SQL skripti
- Məlumat toplama skriptinizi daxil edin
- Basın Cədvəllər və cədvəl əlavə edin
- Tezliyi konfiqurasiya edin (məsələn, hər 5 dəqiqədən bir)
- Basın OK iş yaratmaq
Avtomatlaşdırılmış Hesabat
Performans hesabatlarını yaradan və e-poçtla göndərən iş yerləri yaradın:
- Hesabatları yaradan saxlanılan prosedur yaradın
- Hesabatları e-poçt vasitəsilə göndərmək üçün Database Mail-dən istifadə edin
- İşi gündəlik və ya həftəlik yerinə yetirmək üçün planlaşdırın
13.2 PowerShell avtomatlaşdırılması
PowerShell üçün güclü avtomatlaşdırma imkanları təmin edir SQL Server performans monitoru.
Performans Sayğac Kolleksiyası Skriptləri
$counters = @(
'\Processor(_Total)\% Processor Time',
'\Memory\Available MBytes',
'\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)
$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append
WMI sorğuları
Uzaq serverlərdən performans məlumatlarını toplamaq üçün WMI istifadə edin:
$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"
Avtomatlaşdırılmış xəbərdarlıq
Metrikləri yoxlayan və hədlər pozulduqda xəbərdarlıqlar göndərən PowerShell skriptləri yaradın:
$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 Monitorinq panellərinin yaradılması
Daha yaxşı məlumat əldə etmək üçün performans məlumatlarını interaktiv idarə panelləri ilə vizuallaşdırın.
Power BI İnteqrasiyası
- Power BI-ni performans məlumat cədvəllərinizə qoşun
- Əsas ölçülər üçün vizuallaşdırma yaradın
- Vaxt diapazonu və server seçimi üçün dilimləyicilər əlavə edin
- İdarə panellərini Power BI Xidmətinə dərc edin
- Avtomatik yeniləmə cədvəllərini konfiqurasiya edin
Real vaxtda Dashboard yaradılması
DMV-ləri və performans sayğaclarını birbaşa sorğulayan real vaxt panelləri yaratmaq üçün Grafana və ya fərdi veb proqramları kimi alətlərdən istifadə edin.
Tarixi Trend Vizualizasiyası
Zamanla tendensiyaları göstərən xətt qrafikləri yaradın:
- CPU istifadə
- Yaddaş istifadəsi
- Disk giriş/çıxışı
- Sorğu performansı
- Bağlantı hesablanır
14. Case Studiləri və Praktiki Nümunələr
14.1 Case Study: Yaddaş təzyiqinin həlli
Simptomun müəyyənləşdirilməsi
Bir istehsal SQL Server pik saatlarda sorğuların yavaş cavab müddəti ilə qarşılaşdı. İstifadəçilər tətbiqin vaxtaşımları və aşağı performansdan şikayətlənirdilər.
Əks Təhlil
Performans Monitoru məlumatları açıqlandı:
- Səhifə Ömrü 50 saniyəyə qədər azaldı (normal: >300)
- Bufer Cache Hit Ratio 85%-ə düşdü (normal: >99%)
- Gözləyən Yaddaş Qrantları tez-tez 5-10 dəyərlərini göstərirdi
- Fiziki Disk Oxumaları/san əhəmiyyətli dərəcədə artdı
Həll addımları
- Yoxlanıldı SQL Server maksimum yaddaş parametri - onun defolt olaraq təyin edildiyi aşkar edildi (məhdudiyyətsiz)
- Ümumi Server Yaddaşı ilə Hədəf Server Yaddaşı arasında fərq əhəmiyyətli idi
- Əməliyyat sistemi üçün 8 GB buraxmaq üçün konfiqurasiya edilmiş maksimum server yaddaşı
- üçün “Yaddaşda Səhifələri Kilidləmək” icazəsi aktivləşdirilib SQL Server xidmət hesabı
- Serverə 32 GB əlavə RAM əlavə edildi
- Bir həftə ərzində monitorinq edilmiş performans – Səhifənin Ömrünün Gözlənilməsi 500 saniyədən yuxarı sabitləşdi
Nəticə: Sorğuların cavab müddəti 60% yaxşılaşdı, istifadəçi şikayətləri dayandırıldı və tətbiqin performansı normallaşdı.
14.2 Case Study: CPU Performans Optimizasiyası
Simptomun müəyyənləşdirilməsi
A SQL Server ardıcıl olaraq iş saatları ərzində CPU istifadəsini 90%-dən yuxarı göstərdi, bu da tətbiqin yavaş işləməsinə və istifadəçinin məyusluğuna səbəb oldu.
Əks Təhlil
Performans monitorinqi aşkar edildi:
- % Prosessor vaxtı orta hesabla 92%, tez-tez sıçrayışlarla 100%
- Prosessor növbəsinin uzunluğu ardıcıl olaraq 4-dən yuxarıdır (serverdə 8 nüvə var idi)
- SQL Kompilyasiyaları/san Toplu Sorğuların 25%-ni təşkil edirdi (<10%)
- SQL Re-Compilations/san Toplu Sorğuların 15%-i/san idi
Həll addımları
- Ən çox CPU istehlak edən sorğuları müəyyən etmək üçün DMV-lərdən istifadə olunur
- Müəyyən edilmiş sorğular üçün icra planlarının təhlili
- Çatışmayan indekslər səbəbindən böyük cədvəllərdə çoxlu cədvəl skanları aşkar edildi
- İcra planının tövsiyələri əsasında müvafiq göstəricilər yaratmışdır
- Həddindən artıq kompilyasiyaya səbəb olan dinamik SQL müəyyən edilmişdir
- Parametrləşdirilmiş sorğulardan istifadə etmək üçün dəyişdirilmiş proqram kodu
- Problemli saxlanılan prosedurlar üçün həyata keçirilən plan təlimatı
- Çox istifadə olunan cədvəllər üzrə yenilənmiş statistika
Nəticə: CPU istifadəsi iş saatları ərzində orta hesabla 45%-ə düşüb. Sorğunun icra müddəti 70% yaxşılaşdırıldı. Tətbiq reaksiyası əhəmiyyətli dərəcədə yaxşılaşdı.
14.3 Case Study: Disk I/O Darboğazının Həlli
Simptomun müəyyənləşdirilməsi
İstifadəçilər məlumatların yüklənməsi əməliyyatları və axşam toplu işlənməsi zamanı tətbiqin çox yavaş cavab verdiyini bildirdilər.
Əks Təhlil
Performans məlumatları göstərdi:
- Ort. Disk saniyə/Yazma əməliyyat jurnalı sürücüsündə 45ms-i keçdi
- Disk növbəsinin uzunluğu məlumat faylı sürücüsündə orta hesabla 12-dir
- % Disk vaxtı toplu işlər zamanı saatlarla 95%-dən yuxarı qaldı
- Səhifə yazma/san olduqca yüksək idi
Həll addımları
- Təsdiqlənmiş yaddaş parametrləri uyğun idi - yaddaş problemi tapılmadı
- Analiz edilmiş disk konfiqurasiyası – eyni mil dəstində bütün faylları aşkar etdi
- Xüsusi sürətli SSD disklərinə ayrılmış əməliyyat qeydləri
- SSD sürücülərini ayırmaq üçün tempdb köçürüldü
- Birdən çox tempdb məlumat faylı tətbiq edildi (hər nüvəyə bir)
- RAID 10 SSD konfiqurasiyasına təkmilləşdirilmiş məlumat faylı sürücüləri
- Daha kiçik əməliyyat qruplarından istifadə etmək üçün optimallaşdırılmış toplu iş
- Toplu əməliyyatlar zamanı lazımsız cədvəl taramalarını azaltmaq üçün indekslər əlavə edildi
Nəticə: Ort. Disk saniyə/yazma 3 ms-ə düşdü. Disk Növbəsinin Uzunluğu orta hesabla 1-dən aşağıdır. Toplu işin tamamlanma müddəti 75% azalıb.
15. Gələcək Trendlər SQL Server Monitorinq
15.1 Süni intellekt və Maşın Öyrənmə İnteqrasiyası
Süni intellekt və maşın öyrənməsi çevrilir SQL Server performans monitoru.
Proqnozlaşdırıcı Analitik
Maşın öyrənmə modelləri tarixi məlumatlar əsasında gələcək resurs ehtiyaclarını proqnozlaşdırır. Bu sistemlər proqnozlaşdıra bilər:
- Saxlama qabiliyyəti tükəndikdə
- Pik dövrlərdə gözlənilən CPU və yaddaş tələbləri
- İstifadəçilərə təsir etməzdən əvvəl performansın pisləşməsini sorğulayın
- Baxım əməliyyatları üçün optimal vaxtlar
Anomaliyanın aşkarlanması
Süni intellektlə idarə olunan alətlər performans göstəricilərində qeyri-adi nümunələri avtomatik aşkarlayır. Onlar insan idarəçilərinin qaçıra biləcəyi anomaliyaları müəyyən edir və normal variasiyalarla həqiqi problemlər arasında fərq qoyur.
Avtomatlaşdırılmış Təmir
Özünü sağaldan sistemlər aşkar edildikdə ümumi problemləri avtomatik həll edir:
- Dayandırılmış xidmətləri yenidən başladın
- Pik yük zamanı resursları yenidən bölüşdürün
- Məlum problemlər üçün düzəlişləri tətbiq edin
- Parçalanmış indeksləri avtomatik olaraq yenidən qurun
15.2 Bulud əsaslı monitorinq təkamülü
Bulud monitorinqi yeni imkanlarla inkişaf etməyə davam edir.
Vahid Monitorinq Platformaları
Müasir platformalar tək şüşəli görünməni təmin edir:
- Yerli SQL Server hallarda
- Buludda yerləşən verilənlər bazaları
- Hibrid mühitlər
- Tətbiq performansı
- İnfrastruktur göstəriciləri
Müşahidə olunma meylləri
Monitorinqdən müşahidə edilə bilənliyə keçid aşağıdakıları vurğulayır:
- Çıxışlardan sistemin davranışını anlamaq
- Ölçüləri, qeydləri və izləri əlaqələndirmək
- Paylanmış sistemlər haqqında dərin fikirlər
- Problemin real vaxt diaqnozu
15.3 Özünü sağaldan verilənlər bazası sistemləri
Gələcək SQL Server versiyalara daha çox avtonom imkanlar daxil olacaq.
Avtomatik optimallaşdırma
Verilənlər bazaları davamlı olaraq özlərini optimallaşdıracaqlar:
- İş yükünə əsasən avtomatik olaraq indekslər yaratmaq və buraxmaq
- Optimal performans üçün konfiqurasiya parametrlərinin tənzimlənməsi
- Səmərəli sorğuların şəffaf şəkildə yenidən yazılması
- Resursların bölüşdürülməsini dinamik şəkildə idarə etmək
Ağıllı Tuning
Qabaqcıl sistemlər performans nümunələrindən öyrənəcək və tənzimləmə tövsiyələrini avtomatik tətbiq edərək, əl ilə DBA müdaxiləsinə ehtiyacı azaldacaq.
16. Nəticə və Əsas Çıxarışlar
16.1 Əsas Monitorinq Təcrübələrinin xülasəsi
Effektiv SQL Server performans monitorinqi alətləri, texnikaları və ən yaxşı təcrübələri birləşdirən hərtərəfli yanaşma tələb edir.
Kritik Sayğacların xülasəsi
Monitorinq səylərini bu əsas sayğaclara yönəldin:
- Yaddaş: Səhifənin Ömrünün Gözlənilməsi, Bufer Keşinin Hit nisbəti, Gözləyən Yaddaş Qrantları
- CPU: % Prosessor Vaxtı, Prosessor Növbə Uzunluğu
- Disk: Ort. Disk saniyə/Oxu və yaz, Disk növbəsinin uzunluğu
- SQL Server: Toplu Sorğular/san, Kompilyasiya/san, İstifadəçi Əlaqələri
Ən Yaxşı Təcrübə Xülasəsi
- Normal əməliyyatlar zamanı əsas göstəriciləri müəyyənləşdirin
- Əsas göstəricilərə əsasən ağıllı xəbərdarlıq hədlərini təyin edin
- Performans məlumatlarını müntəzəm olaraq nəzərdən keçirin
- Məlumatların təcəssümü ilə tarazlığın monitorinqi
- Trend təhlili üçün uzunmüddətli məlumatları saxlayın
- Hər bir monitorinq ssenarisi üçün müvafiq alətlərdən istifadə edin
16.2 Davamlı Təkmilləşdirmə yanaşması
SQL Server performans monitorinqi birdəfəlik fəaliyyət deyil, davamlı təkmilləşdirmə tələb edən davamlı bir prosesdir.
Daimi Nəzərdən Dövrlər
- Gündəlik: Xəbərdarlıqları və cari performansı yoxlayın
- Həftəlik: Trendləri nəzərdən keçirin və ortaya çıxan problemləri müəyyənləşdirin
- Aylıq: Uzunmüddətli nümunələri və potensial ehtiyacları təhlil edin
- Rüblük: Əsas göstəriciləri yeniləyin və monitorinqin effektivliyini nəzərdən keçirin
Alətlərlə aktual qalmaq
Monitorinq alətləri və texnikalarını müasir saxlayın:
- Yeni monitorinq xüsusiyyətlərini qiymətləndirin SQL Server yenilikləri
- Yaranan üçüncü tərəf alətlərini sınaqdan keçirin
- Təlim və konfranslarda iştirak edin
- Daxil ol SQL Server icma forumları
- Komanda üzvləri ilə biliyi paylaşın
16.3 Növbəti addım
Həyata keçirmək SQL Server sistematik olaraq performans monitorinqi:
İcra Yol Xəritəsi
- 1 həftəsi: Əsas sayğaclarla Performans Monitorunu qurun
- 2 həftəsi: Avtomatlaşdırılmış toplama üçün Məlumat Kollektor Dəstləri yaradın
- 3 həftəsi: Normal əməliyyatlar zamanı əsas göstəriciləri müəyyənləşdirin
- 4 həftəsi: Kritik hədlər üçün xəbərdarlıqları konfiqurasiya edin
- Ay 2: Əlavə monitorinq alətlərini tətbiq edin (DMVs, Genişləndirilmiş Hadisələr)
- Ay 3: Fərdi tablolar və hesabatlar hazırlayın
- Davam edir: Təcrübə və dəyişən tələblər əsasında monitorinqi təkmilləşdirin
Ek Kompüter
Haqqında öyrənməyə davam edin SQL Server Microsoft sənədləri, icma bloqları və praktiki təcrübə vasitəsilə performans monitorinqi. Ətrafınız üçün ən yaxşısını tapmaq üçün müxtəlif alətlər və texnikalarla sınaqdan keçirin.
17. Tez-tez verilən suallar (FAQ)
17.1 Ən vacibləri hansılardır? SQL Server nəzarət etmək üçün performans sayğacları?
Ən kritik SQL Server performans sayğaclarına aşağıdakılar daxildir:
- Yaddaş: Səhifənin Ömrünün Gözlənilməsi (>300 saniyə olmalıdır) və Bufer Keşinin Hit Oranı (>99% olmalıdır)
- CPU: % Prosessor vaxtı (davamlı dəyərlər <75%) və Prosessor növbəsinin uzunluğu (hər nüvə üçün <2 olmalıdır)
- Disk: Ort. Disk saniyə/Oxu və yaz (<10-20ms olmalıdır) və Disk növbəsinin uzunluğu (hər disk üçün <2 olmalıdır)
- SQL Server: Toplu Sorğular/san, SQL Kompilyasiyaları/san və Gözləyən Yaddaş Qrantları (0 olmalıdır)
Bu sayğaclar sistemin sağlamlığına dair hərtərəfli məlumat verir və darboğazları tez müəyyən etməyə kömək edir.
17.2 Performans məlumatlarını nə qədər tez-tez toplamalıyam?
Yığım tezliyi monitorinq məqsədlərinizdən asılıdır:
- İlkin monitorinq: Hər 1 dəqiqədən bir (60 saniyə)
- Aktiv problemlərin aradan qaldırılması: Qısa dövrlər üçün hər 15-30 saniyədən bir
- Uzunmüddətli trend: Hər 5 dəqiqədən bir
Yüksək tezlikli kolleksiyadan davamlı olaraq qaçın, çünki bu, performansa təsir edə bilər və həddindən artıq məlumat yarada bilər. Rutin monitorinq üçün daha uzun intervallardan və yalnız konkret məsələləri araşdırarkən daha qısa intervallardan istifadə edin.
17.3 Performans Monitoru ilə Performans Monitoru arasındakı fərq nədir SQL Server Profiler?
Performans Monitoru və SQL Server Profiler müxtəlif məqsədlərə xidmət edir:
Performans Monitoru:
- Monitorinq sistemi və SQL Server performans sayğacları
- Resurs istifadəsini izləyir (CPU, yaddaş, disk)
- Aşağı yük, davamlı monitorinq üçün uyğundur
- Zamanla ümumi ölçüləri təmin edir
SQL Server Profiler:
- Fərdi izlər SQL Server hadisələr və sorğular
- Təfərrüatlı sorğunun icrası məlumatını çəkir
- Daha yüksək yük, davamlı istifadə üçün tövsiyə edilmir
- Xüsusi sorğu problemlərini həll etmək üçün ən yaxşısı
- Genişləndirilmiş Tədbirlərin xeyrinə ləğv edildi
Ümumi sistem monitorinqi üçün Performans Monitorundan və ətraflı sorğu səviyyəsində təhlil üçün Genişləndirilmiş Hadisələrdən (Profiler deyil) istifadə edin.
17.4 Performans Monitorunun təsiri SQL Server performans?
Düzgün konfiqurasiya edildikdə, Performans Monitoru minimal təsir göstərir SQL Server performans, adətən 2%-dən az əlavə xərc. Bununla belə, həddindən artıq monitorinq problemlərə səbəb ola bilər:
- Həddindən artıq çox sayğac əlavə xərcləri artırır
- Çox qısa nümunə intervalları (15 saniyədən az) resursları gərginləşdirir
- Davamlı yüksək tezlikli kolleksiya böyük log faylları yaradır
Təsiri minimuma endirmək üçün:
- Yalnız zəruri sayğaclara nəzarət edin
- Müvafiq nümunə intervallarından istifadə edin (müntəzəm monitorinq üçün 60 saniyə)
- Logları verilənlər bazası fayllarından ayrı disklərdə saxlayın
- Qeyri-pik saatlarda resurs tələb edən monitorinqi planlaşdırın
17.5 Performans monitorinqi məlumatlarını nə qədər müddətə saxlamalıyam?
Saxlama təhlil ehtiyaclarınızdan və saxlama qabiliyyətinizdən asılıdır:
- minimum: Son problemlərin aradan qaldırılması üçün 3 ay
- Tövsiyə edilir: Gücün planlaşdırılması və trend təhlili üçün 1-2 il
- Ən yaxşısı: Saxlama icazə verərsə, qeyri-müəyyən müddətə, tarixi məlumatlar zamanla daha dəyərli olur
Performans sayğac məlumatları yaxşı sıxılır və nisbətən az yer tutur. Köhnə məlumatları silmək əvəzinə yaddaşı ayırmaq üçün arxivləşdirməyi düşünün. Bir çox təşkilatlar hesab edirlər ki, illərlə əldə edilmiş tarixi məlumat potensialın planlaşdırılması və uzunmüddətli tendensiyaların müəyyən edilməsi üçün əvəzolunmazdır.
17.6 Əsas performans sayğacları üçün yaxşı hədd dəyərləri hansılardır?
Xəbərdarlıq üçün tövsiyə olunan hədd dəyərləri:
- Yaddaş Qrantları Gözlənir: > 0 olduqda xəbərdar olun
- Səhifənin Ömrünün Gözlənilməsi: <300 saniyə olduqda xəbərdarlıq
- % Prosessor vaxtı: 5 dəqiqə ərzində > 80% olduqda xəbərdarlıq
- Prosessor Növbəsinin Uzunluğu: Hər nüvədə > 2 olduqda xəbərdar olun
- Ort. Disk saniyə/Oxu və ya Yaz: > 20ms olduqda xəbərdar edin
- Disk növbəsinin uzunluğu: Hər disk üçün > 2 olduqda xəbərdarlıq edin
- Bloklanmış Proseslər: > 5 olduqda xəbərdar olun
Əsas məlumatlarınıza və xüsusi iş yükü xüsusiyyətlərinə əsasən bu hədləri tənzimləyin. Bir mühit üçün normal olan başqa bir mühitdə problemləri göstərə bilər.
17.7 Necə nəzarət edə bilərəm SQL Server uzaqdan performans?
Uzaqdan monitor SQL Server bu üsullardan istifadə edən hallar:
- Performans Monitoru: Sayğaclar əlavə edərkən uzaq kompüterin adını göstərin
- PowerShell: Get-Counter ilə -ComputerName parametrindən istifadə edin
- DMV-lər: SSMS və sorğu DMV-ləri vasitəsilə uzaq serverlərə qoşulun
- Üçüncü tərəf alətləri: Əksər monitorinq vasitələri uzaq server monitorinqini dəstəkləyir
Firewall qaydaları Performans Monitor trafikinə icazə verin və uzaq serverdə müvafiq icazələrə malik olduğunuzdan əmin olun. Çoxsaylı serverlər üçün xüsusi monitorinq serveri və verilənlər bazası ilə mərkəzləşdirilmiş monitorinqi həyata keçirməyi düşünün.
17.8 Ən yaxşı pulsuz alət nədir SQL Server performans monitoru?
Monitorinq üçün bir neçə mükəmməl pulsuz alət mövcuddur SQL Server performans:
- Windows Performans Monitoru: Daxili, hərtərəfli və etibarlıdır
- SSMS Fəaliyyət Monitoru: Əlavə quraşdırma olmadan real vaxt rejimində monitorinq
- Genişləndirilmiş Tədbirlər: Yüngül hadisə monitorinqi quraşdırılmışdır SQL Server
- sp_WhoIsActive: Ətraflı fəaliyyət monitorinqi üçün populyar pulsuz saxlanılan prosedur
- DBA Dash: Hərtərəfli xüsusiyyətləri olan açıq mənbəli monitorinq aləti
- SQLWATCH: Demək olar ki, real vaxt rejimində monitorinq imkanları ilə açıq mənbə
Əksər təşkilatlar üçün Performans Monitoru, SSMS alətləri və sp_WhoIsActive ilə birlikdə əlavə xərc olmadan əla monitorinq imkanları təmin edir.
17.9 PerfMon məlumatlarını təhlil üçün necə ixrac edə bilərəm?
Bu üsullardan istifadə edərək Performans Monitoru məlumatlarını ixrac edin:
CSV-yə ixrac edin:
- Günlük faylınız yüklənmiş halda Performans Monitorunu açın
- Qrafikə sağ vurun və seçin Məlumatları Fərqli Saxla
- Seçmək Mətn Faylı (Vergüllə ayrılmış) (.csv)
- Məkanı seçin və yadda saxlayın
- Təhlil üçün Excel-də açın
Relog əmrindən istifadə edin:
relog input.blg -f csv -o output.csv
Bu əmr xətti yardım proqramı elektron cədvəl proqramlarında daha asan təhlil üçün ikili jurnal fayllarını (.blg) CSV formatına çevirir.
17.10 Daxili seçimlər əvəzinə üçüncü tərəfin monitorinq alətlərindən nə vaxt istifadə etməliyəm?
Üçüncü tərəf alətlərini nəzərdən keçirin:
- Çoxlu sayda idarə etmək SQL Server nümunələr (10+)
- Çoxlu məlumat mərkəzlərində mərkəzləşdirilmiş monitorinq tələb olunur
- Proqnozlaşdırılan analitika və ya anomaliya aşkarlanması kimi qabaqcıl xüsusiyyətlərə ehtiyac var
- Hadisələrin idarə edilməsi sistemləri ilə inteqrasiya olunmuş xəbərdarlıq tələb olunur
- Uyğunluq hesabatı və tarixi təhlil tələb olunur
- Xüsusi həllər yaratmaq və saxlamaq üçün DBA resurslarının olmaması
- Heterojen verilənlər bazası mühitlərinin monitorinqi (SQL Server, Oracle, MySQL və s.)
Daxili alətlər kiçik mühitlər üçün və ya xüsusi monitorinq həlləri hazırlaya bilən bacarıqlı DBA-larınız olduqda yaxşı işləyir. Üçüncü tərəf alətləri vaxta qənaət, qabaqcıl xüsusiyyətlər və peşəkar dəstək vasitəsilə dəyər verir.
18. Əlavə Resurslar
18.1 Rəsmi Sənədlər
Microsoft üçün geniş sənədlər təqdim edir SQL Server performans monitoru:
- SQL Server Performans Monitoru sənədləri: https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/
- Dinamik İdarəetmə Baxışları: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/
- Genişləndirilmiş Tədbirlər: https://learn.microsoft.com/en-us/sql/relational-databases/extended-events/
- Sorğu Mağazası: https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store
- Performans tənzimlənməsi və monitorinqi: https://learn.microsoft.com/en-us/sql/relational-databases/performance/
18.2 Tövsiyə olunan Alətlər və Yükləmələr
üçün əsas alətlər SQL Server performans monitoru:
- PAL Aləti: https://github.com/clinthuffman/PAL
- sp_WhoIsActive: http://whoisactive.com/
- DBA Dash: https://dbadash.com/
- SQLWATCH: https://github.com/marcingminski/sqlwatch
- İlk cavab verən dəst (Brent Ozar): https://www.brentozar.com/first-aid/
- SQL Server İdarəetmə studiyası: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
18.3 İcma Resursları
-dən öyrənin SQL Server icma:
- SQL Server Mərkəzi: https://www.sqlservercentral.com/
- Brent Ozar Blogu: https://www.brentozar.com/blog/
- SQL Shack: https://www.sqlshack.com/
- MSSQLTİpuçları: https://www.mssqltips.com/
- Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
- Stack daşması SQL Server etiket: https://stackoverflow.com/questions/tagged/sql-server
Bu resurslar təcrübəlilərdən dərs vəsaitləri, problemlərin həlli üzrə məsləhətlər və ən yaxşı təcrübələr təqdim edir SQL Server peşəkarlar. İcma forumlarında iştirak etmək sizə başqalarının təcrübələrindən öyrənməyə və öz biliklərinizi bölüşməyə kömək edir.
Müəllif haqqında
Yuan Şenq sahəsində 10 ildən çox təcrübəsi olan baş verilənlər bazası administratorudur (DBA). SQL Server mühitlər və müəssisə verilənlər bazası idarə edilməsi. O, maliyyə xidmətləri, səhiyyə və istehsal təşkilatlarında yüzlərlə verilənlər bazası bərpa ssenarisini uğurla həll edib.
Yuan ixtisaslaşır SQL Server verilənlər bazasının bərpası, yüksək mövcudluq həllərivə performans optimallaşdırması. Onun geniş praktik təcrübəsi çoxterabaytlıq verilənlər bazalarının idarə edilməsini, tətbiqini əhatə edir. Həmişə Mövcud Qruplarvə vacib biznes sistemləri üçün avtomatlaşdırılmış ehtiyat nüsxələmə və bərpa strategiyalarının hazırlanması.
Texniki təcrübəsi və praktik yanaşması sayəsində Yuan verilənlər bazası administratorlarına və İT mütəxəssislərinə mürəkkəb problemləri həll etməyə kömək edən hərtərəfli bələdçilərin yaradılmasına diqqət yetirir. SQL Server problemlərini səmərəli həll edir. O, ən son xəbərlərdən xəbərdardır SQL Server relizlər və Microsoft-un inkişaf edən verilənlər bazası texnologiyaları, onun tövsiyələrinin real dünyanın ən yaxşı təcrübələrini əks etdirməsini təmin etmək üçün bərpa ssenarilərini müntəzəm olaraq sınaqdan keçirir.
haqqında suallarınız var SQL Server bərpası və ya əlavə verilənlər bazası problemlərinin aradan qaldırılması üçün təlimat lazımdır? Yuan salamlayır rəy və təkliflər bu texniki resursların təkmilləşdirilməsi üçün.





























