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

Измервате ли производителността на SQL Server с тези показатели?

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

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

Предимства от мониторинга на производителността на SQL Server

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

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

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

Проследете тези показатели, за да подобрите производителността на вашия SQL сървър

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

1. Буферен кеш

Буферният кеш съхранява копия на наскоро използвани страници на база данни. SQL Server първо търси в кеша, но ако не намери това, което търси там, отива на диска. Четенето от диска е бавно, което може да повлияе негативно на производителността.

Съотношение на попадане в кеша

Съотношението на попадане в кеша показва колко често SQL Server осъществява достъп до страници от кеша. По-високите стойности показват, че страниците са били достъпни от паметта, а не от диска. Ако постоянно виждате ниско съотношение на попадане в кеша, проверете за тесно място в системната памет.

Продължителност на живота на страницата

Мониторингът на продължителността на живота на страницата показва колко дълго една страница остава в паметта, вместо да отиде на диск. Колкото по-дълга е продължителността на живота на страницата, толкова по-добро е съотношението на попадане в кеша.

Страници за контролни точки/сек

SQL Server настройва контролни точки, за да освободи място в кеша на буфера чрез периодично промиване на модифицирани страници от буфера на диска. Броят на изтритите страници зависи от настройките за конфигурация и използването на сървъра, така че е важно да зададете базова линия за сравнение. Ако забележите увеличение на изтриването на страници, може да имате проблем с I/O.

2. Индекси

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

Фрагментация

Фрагментацията на индекса възниква, когато записи се добавят и изтриват. С течение на времето тези промени причиняват проблеми с производителността, като оставят твърде много празно място на твърде много страници и добавят нови страници извън ред. Това може да забави сканирането и да използва прекомерна памет.

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

Коефициент на запълване и разделяне на страници

Настройката на фактора на запълване позволява на вашите индекси да знаят колко пълна трябва да бъде всяка страница. Ако една страница е твърде пълна, се получава разделяне на страници; ако една страница не е достатъчно пълна, губите ресурси.

Проследяването на разделянето на страници може да помогне да се определи кога е необходима корекция на коефициента на запълване. За най-добра производителност не задавайте стойност на коефициента на запълване в цялата система. Оценете отделните индекси и задайте коефициента на запълване на подходящо ниво за всеки.

3. T-SQL

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

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

4. Блокиране

Блокирането на SQL Server се причинява от множество клиенти и процеси, които изискват достъп до едни и същи ресурси по едно и също време. Ако ресурсът вече се използва, достъпът е заключен и ресурсът е недостъпен за последващи заявки. Това поставя процеса на изчакване, докато ресурсът бъде освободен и отново достъпен.

Заключване чака

Заявките обикновено не трябва да чакат за заключване, така че този показател трябва да остане около нула. Увеличаването на изчакванията за заключване показва проблем с времето за зареждане, така че ще трябва да проследите основната причина за проблема.

Блокирани процеси

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

5. Използване на ресурси

Проследяването на показателите за използване на ресурси е ефективен начин не само за определяне на проблеми с производителността, но и за подпомагане на планирането на капацитета.

Брои на редове

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

Вход/изход на файл на база данни

Чрез измерване на I/O метрики спрямо файлове на база данни, можете да проследите колко данни се записват и четат от всеки файл с данни. Ако забележите потенциален проблем, този показател може да ви помогне да стесните основната причина. Проследяването на вход/изход на файл на база данни също помага при планирането на инфраструктурата, защото може да ви помогне да предвидите бъдеща производителност на данни и съответно да коригирате ресурсите.

Размер на архивиране на регистрационния файл на транзакциите

Когато сървър се срине поради претоварване, SQL Server използва регистрационните записи на базата данни, съхранявани във виртуални регистрационни файлове (VLF), за възстановяване. Важно е да следите колко VLF има в регистъра на транзакциите, защото твърде много могат да забавят процесите на възстановяване при възстановяване след прекъсване.

Мониторингът на производителността на 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. Изследване на GUI на SQL Server 2016 Query Store

  2. Как да коригирам състоянието на чакащо възстановяване в базата данни на SQL Server?

  3. Как да получите списък с всички ограничения за проверка в базата данни на SQL Server - SQL Server / TSQL урок, част 85

  4. Има ли еквивалент на SELECT ... INTO OUTFILE в SQL Server Management Studio?

  5. Заявка за изброяване на всички съхранени процедури