Има много влияещи фактори, когато става въпрос за производителността на базата данни. Познаването на нормалните колебания на вашия конкретен екземпляр чрез наблюдение на вашия SQL сървър ви помага да идентифицирате кога поведението излиза извън контрол и да предвидите проблемите, преди да възникнат.
Освен това ви помага да разграничите естествените болки в растежа, причинени от повишено работно натоварване или сезонни пикове, които може да изискват повече ресурси, спрямо по-дълбоки проблеми с производителността, които изискват настройка на кода, оптимизиране на индекса или настройка на конфигурацията.
След като създадете списък със SQL сървъри във вашата среда, ще искате да зададете някои критични въпроси:
- Колко здравословен е този екземпляр?
- Кога е бил архивиран за последен път?
- Има ли достатъчно процесор, памет и място за съхранение, за да изпълни SLA?
- Какви работни натоварвания се изпълняват на този екземпляр?
- Какви приложения и потребители използват този екземпляр?
- Кога работното натоварване е най-натоварено?
- Има ли стратегия за преминаване при отказ?
- Това критичен екземпляр ли е?
- Трябва ли да е наличен 24/7?
- Какви проблеми с производителността има този екземпляр?
Това може да изглежда като очевидни въпроси, но ако започнете да наблюдавате работните натоварвания на SQL сървъра си за първи път, ще бъдете изненадани и вероятно малко ужасени да видите колко от тях имат фундаментални проблеми.
Задайте цели за производителност за наблюдение на SQL Server
Помислете какво искате да постигнете с усилията за наблюдение на вашия SQL сървър и приоритизирайте тези цели. Оформяйки дейностите си по отношение на ключови показатели за ефективност, вие улеснявате формулирането на стойността на енергията и всички необходими инвестиции. Следният списък ще ви помогне да започнете.
Висока наличност
Какви са вашите статистически данни за наличността? Не забравяйте, че недостъпността за потребителя е, когато те нямат достъп до услугата. Това може да бъде причинено от пълно прекъсване или от затруднено място в производителността, което ефективно прави услугата недостъпна. Имате ли постоянно включена конфигурация? Ако е така, знаете ли състоянието му?
Време за реакция
От момента, в който се съобщава за проблем, колко бързо можете да изолирате източника, да диагностицирате симптомите и да отговорите на засегнатите?
Време на разделителна способност
Колко бързо можете да отстраните симптома, за да възстановите нормалната работа? Решението за „лепкава мазилка“ е важно начало, но не трябва да представлява края на въпроса. Проучихте ли първопричината за проблема? Можете ли да сте уверени, че няма да видите повторна поява?
Разбиране на цената на собствеността на вашите екземпляри на SQL Server
Цената на собственост е критичен фактор, когато решавате къде да се намират вашите SQL сървърни екземпляри. Важно е да се преценят първоначалните инвестиционни разходи, свързани с инфраструктурата и лицензирането, текущите разходи за поддръжка и всички разходи, базирани на потреблението, които са свързани с работно натоварване, базирано на облак.
Ако се опитвате да решите колко ще струва вашият екземпляр в облака, критичните показатели включват използване на процесора, активност за четене и запис и съхранение. Ще трябва да ги измервате за продължителен период от време, за да разберете границите на вашето работно натоварване, за да сте сигурни, че разполагате с ресурси за спектъра от натоварване, което очаквате за конкретен случай.
Запознаването с конкретните характеристики на работните натоварвания, изпълнявани във вашите SQL сървърни инстанции, ще ви постави на много по-добро място, за да се уверите, че всичко продължава да работи както трябва и да отговаря както на настоящите, така и на бъдещите нужди на вашия бизнес.
Изследвайте производителността във времето с мониторинг на SQL Server
Базите данни са флуидни системи. Много малко имат постоянни, повтарящи се и предвидими натоварвания. Много по-често се срещат големи вариации във времето, които се колебаят въз основа на броя на потребителите, автоматизираните работни места, броя на транзакциите, обема на данните и т.н.
Базата данни за продажби ще бъде заета в края на месеца. Също така ще видите скок в активността около сезонни събития или водени от маркетингови промоции.
Класифицирането на вашето представяне въз основа на малки моментни снимки не е добра политика. Колкото повече история можете да съберете и анализирате, толкова повече информация можете да получите за вариациите и границите на всяка от характеристиките на вашите работни натоварвания.
Ще трябва да прецените колко история е практично да запазите и дали имате ресурсите да я обработвате. Има последици за разходите и производителността, които трябва да се вземат предвид.
Вземете пълната картина за наблюдение на вашата база данни
Всяка база данни е сложна система с много движещи се части. Много критерии за конфигурация могат да окажат влияние върху неговата производителност.
Дизайнът и архитектурата на самата база данни ще повлияят на резултатите. Ефективността на кода също може да повиши или наруши производителността. Опциите за конфигуриране ще определят как екземплярът на SQL сървър консумира наличните за него ресурси.
Помислете за следния сценарий:Инстанция се забавя до спиране и DBA забелязва скок в чакането на CXPACKET или CXCONSUMER. Реакцията на коляното е да се изключи паралелизъм. Чаканията изчезват и текущото затруднение временно се облекчава. Сега целият екземпляр работи по-бавно, но DBA не иска отново да активира паралелизма. Ако беше направено допълнително разследване, то щеше да разкрие, че една заявка се изпълнява особено бавно и причината е липсващ индекс.
Паралелното наблюдение на много различни показатели помага за точното идентифициране на първопричината и избягването на скъпа погрешна диагноза, която може да доведе до повторение или дори ескалация на същия проблем.