Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Трикове за непрекъснато подобряване на мониторинга на базата данни

Проблемите с производителността на базата данни не са необичайни. За щастие обикновено има доста интуитивно решение за повечето проблеми. Най-важното нещо, което DBA може да направи, за да отстрани бързо проблемите и да подобри производителността на SQL Server, е да се увери, че стратегията ви за наблюдение на производителността е актуална и съобразена с нуждите ви от мониторинг на базата данни. Ако не е, време е да предприемете действия.

Първата стъпка към подобряване на мониторинга на вашата база данни е оценката на текущата ви ситуация. Няма да знаете къде липсва наблюдението ви или дали мониторингът подобрява някой от проблемите ви с производителността, ако не направите базово измерване на началната си точка.

За да зададете базовата си производителност, ще трябва да оцените здравето на вашите бази данни на SQL Server, като си зададете няколко въпроса:

Оптимизирани ли са заявките? Неефективните заявки са сигурен начин за забавяне на производителността. Има много трикове, които можете да опитате да изчистите заявките си, но най-добрият ви вариант е да внедрите оптимизатор на заявки, който ще анализира и пренаписва вашите заявки, докато намери по-бърз.

Индексите в добро състояние ли са? Индексирането, извършено правилно, трябва да ускори извличането на данни. Въпреки това, има някои често срещани проблеми, които могат да забавят производителността, включително неефективни настройки на фактора на запълване и разделяне на страници. Най-добрият начин да избегнете тези проблеми с производителността е да не задавате стойност на коефициента на запълване в цялата система и да разглеждате нуждите на всеки индекс поотделно.

Много данни фрагментирани ли са? Фрагментираните данни влияят на производителността, като поставят твърде много празно място на страница или причиняват добавяне на страници. Сървърът трябва да сканира и търси фрагментираните данни, което кара базата данни да работи бавно. Изпълнението на Rebuild или Reorganize може да почисти фрагментацията.

Нещо разяжда ли процесора? Базите данни се забавят, когато процесорът е под напрежение от множество ресурси. Оценете натоварването на процесора и решете дали проблемът е, че трябва да добавите повече процесор или че има неефективни ресурси, използващи повече CPU, отколкото трябва.

След като имате моментна снимка на стартовата линия, ще имате по-добра представа за видовете подобрения в мониторинга, върху които трябва да се съсредоточите. Ето пет начина, по които можете да подобрите мониторинга на базата данни на SQL Server.

1. Оценявайте интервалите си за наблюдение и почиствайте данните възможно най-често

Инструментите за наблюдение на производителността предоставят безкраен избор за това какви показатели да се наблюдават, кога да се изтеглят данни и колко дълго да се съхраняват данните. Ако наблюдавате множество екземпляри, количеството данни, което събирате, е потенциално зашеметяващо (и скъпо за съхранение).

За да поддържате данните си на управляемо ниво, не събирайте данни по-често, отколкото трябва, а съхранявайте данните достатъчно дълго, за да забележите тенденции. След като запишете нещо интересно, архивирайте или се отървете от данните.

2. Проверете дали заявките ви работят ефективно

Има много места за скриване на проблеми с производителността в SQL Server. Тъй като приложенията за бази данни често изпълняват SQL заявки, оценката на състоянието на вашите заявки е чудесно място да започнете да елиминирате проблемите.

Например, наблюдението на представянето на заявките във времето ще ви помогне да изолирате всички, които използват повече ресурси от нормалното. След като идентифицирате проблемни заявки, можете да стартирате всяка заявка, за да определите конкретния източник на проблема и да го коригирате.

3. Прегледайте броячите и настройките на Perfmon

Мониторът на производителността на SQL Server (Perfmon) е ценен инструмент, който помага на администраторите на база данни да изолират слабите места в техните бази данни на SQL Server. Perfmon ви позволява да настроите броячи на производителността за всеки от вашите сървъри, за да идентифицирате тесните места на процесора, производителността на диска, проблемите с паметта и много други.

Тази статия от Брент Озар обяснява как да започнете да използвате Perfmon и описва някои най-добри практики.

4. Конфигурирайте вашите сигнали въз основа на сериозността

Въпреки че има много налични конфигурации за предупреждения, най-добре е да бъдете избирателни, когато конфигурирате сигнали, за да не се поддадете на умората от сигналите. Добро правило е да настроите сигнали за проблеми с сериозност 17 или по-висока и за съобщения за грешки 823, 824 и 825 — с други думи, тези проблеми, които могат да доведат до изключване на сървърите ви, сериозно повреждане на данни или загуба на данни.

5. Възползвайте се от всички функции за управление на аларми, които предлага вашият инструмент за наблюдение на производителността на SQL Server

Решенията за мониторинг на SQL Server предлагат широка гама от функции за управление. Отделете малко време, за да се запознаете с функциите на инструмента си и се уверете, че получавате най-добрата стойност за инвестицията си.

Някои функции, които да търсите, които ще ви помогнат да подобрите процеса на наблюдение на производителността, са:

Правила: Позволява ви да персонализирате кои аларми да се задействат и кога

Диагностика: Казва ви, че има проблем, след което предлага възможни поправки

Приоритизиране на проблема: Фокусира вниманието ви първо върху най-сериозните проблеми

Мобилни сигнали: Позволява ви да осъществявате достъп, да оценявате и да започнете да тригирате аларми от всяко място по всяко време

Намаляване на шума: Помага ви да избегнете умората от алармата, като получавате само онези известия, от които се нуждаете


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разделя низ, за ​​да мога да получа достъп до елемент x?

  2. Защо да използвате клаузата INCLUDE, когато създавате индекс?

  3. По-добре ли е да изпълнявате много sql команди с една връзка или да се свързвате отново всеки път?

  4. Какво има с (nolock) в SQL Server?

  5. Възстановете лесно база данни на SQL – ръководство стъпка по стъпка