Системите за бази данни са много като хората:те са сложни и многопластови и не винаги се държат добре при стрес. Това е мястото, където идва мониторингът на производителността на SQL Server.
Добрият инструмент за наблюдение на производителността действа като вашите очи и уши в SQL Server, за да открие — и в някои случаи дори да предвиди — проблеми с производителността, така че да могат да бъдат разрешени бързо с минимално въздействие върху потребителите.
Когато става въпрос за наблюдение на производителността, времето наистина е всичко. Вашата система за бази данни е безполезна, ако не е достъпна за потребителите и клиентите, когато имат нужда от нея, така че избягването на непланирани прекъсвания и престой е от решаващо значение.
Вашето решение за мониторинг на производителността на SQL Server може да помогне за смекчаване на проблемите чрез наблюдение в реално време, така че да бъдете предупредени за проблеми с производителността рано и можете да коригирате малки проблеми, преди да се превърнат в големи проблеми. Много инструменти за мониторинг също предлагат стабилни анализи, които ви позволяват да проследявате показателите за ефективността във времето, за да ви помогне да идентифицирате текущи системни проблеми и да определите основната причина за влошаване на производителността.
Мониторингът на производителността на SQL Server от край до край без съмнение ще подобри общата скорост, ефективност и надеждност на вашата система за бази данни, но има три основни области, които се възползват най-много от наблюдението на производителността на SQL Server.
1. Използване на процесора и ресурси
Проактивното наблюдение на обработката на процесора ви позволява незабавно да видите дали системата е претоварена. Постоянно високото използване на процесора (70-80 процента) показва, че във вашата система има проблем с производителността. Забавната част е намирането му.
Тъй като процесорът може да бъде SQL Server или процес извън SQL Server, първата ви стъпка ще бъде да определите кой процес причинява проблема.
Ако сте наблюдавали използването на процесора във времето (както е препоръчително), можете да потърсите исторически данни, за да определите кои процеси постоянно използват прекомерен процесор или причиняват тесни места, за да можете да се задълбочите в това защо.
След като разберете какъв и къде е проблемът, следващата ви стъпка ще бъде да настроите неефективните заявки, да оптимизирате плановете за изпълнение или да преконфигурирате системата, за да премахнете натиска от CPU.
2. Време за работа и наличност
Днешните потребители изискват висока достъпност (HA) за всяко приложение, което използват, така че гарантирането, че вашите бази данни са винаги онлайн и 100% достъпни, трябва да бъде приоритет.
Осигурете максимално време на работа на сървъра и HA, като използвате вашия инструмент за наблюдение на SQL Server, за да следите за тези проблеми с производителността, които могат да повлияят на наличността:
Блокиране
Блокирането възниква, когато множество клиенти и различни процеси изискват едни и същи ресурси по едно и също време. Ако ресурсът се използва, той е заключен и недостъпен за последващи заявки, така че процесът се отлага, докато ресурсът бъде освободен и отново стане достъпен.
Блоковете на SQL Server обикновено се разрешават незабелязано, но понякога блокът трябва да бъде разрешен ръчно.
Застой
Застой на SQL Server възниква, когато два процеса, които се конкурират за изключителен достъп до един и същи ресурс, създават противопоставяне. Само един процес може да използва ресурс в даден момент, така че производителността намалява, докато блокирането не бъде разрешено.
Единственият начин за разрешаване на блокиране на SQL Server е да убиете един от конкуриращите се процеси и да освободите заключения ресурс, така че процесът да може да завърши.
Съдържание на TempDB
Конфликтът за TempDB възниква, когато множество ресурси изискват TempDB, но има само един TempDB файл с данни за достъп. Конфликтът с TempDB може да причини големи проблеми с производителността и често отнема известно време за диагностициране, тъй като проблемите приличат на нормално блокиране поради заключвания на база данни.
Групите за наличност Always On са друг начин за минимизиране на престоя чрез увеличаване на наличността на набор от потребителски бази данни. Настройката на висока наличност на SQL Server е доста проста и ползите си заслужават усилията.
3. Дисково пространство
Неадекватното дисково пространство е водеща причина за прекъсване на системата, но за щастие това е доста лесен проблем за избягване.
Вашият инструмент за наблюдение на производителността на SQL Server трябва да ви позволява да настроите сигнали, когато дисковото ви пространство свърши, преди да имате проблеми с производителността.
Непрекъснатото наблюдение на тези показатели ще ви помогне винаги да поддържате достатъчно дисково пространство:
- Свободно дисково пространство:Сигналът ще ви уведоми, ако количеството свободно дисково пространство падне под прагова стойност.
- Неразпределено пространство:Сигналът ще ви уведоми, ако файл с база данни падне под прагова стойност
- Файловете на базата данни нарастват по размер:Сигналът ще ви уведоми за прекомерно или бързо нарастване на файловете.
Трите области, обсъдени по-горе, се възползват значително от мониторинга на производителността на SQL Server, но в действителност цялата ви система е по-здрава и работи по-добре, когато имате изградена цялостна стратегия за наблюдение.
Ако не сте сигурни дали получавате пълния набор от предимства, предлагани от днешните решения за мониторинг на производителността на SQL Server, този контролен списък може да ви помогне да изберете инструмент за наблюдение на производителността на SQL Server, който отговаря на специфичните нужди на вашата организация.