Основе праћења перформанси и решавања проблема у СКЛ Серверу

У овом чланку ћемо погледати популарне алате, Т-СКЛ упите и скрипте за откривање и решавање различитих могућих проблема са перформансама СКЛ Сервера. Овај ће вам чланак помоћи да схватите када ваш СКЛ Сервер нема довољно ресурса (меморија, ЦПУ, ИОП дискова), пронађите закључавања и откривате споро упите. Погледајмо који су уграђени алати и бесплатне скрипте и помоћни програми треће стране за анализу стања Мицрософт СКЛ Сервера.

Садржај:

  • Дијагностичке алатке за СКЛ Сервер
  • Откривање и рјешавање проблема са перформансама СКЛ Сервера

Дијагностичке алатке за СКЛ Сервер

Ако сте исправно дијагностицирали проблем, половина посла је већ обављена. Размотрите које алате системски администратор најчешће користи за дијагнозу различитих проблема у СКЛ Серверу:

  • Т-скл - Најснажнији, једноставан и неопходан алат за решавање проблема и анализу перформанси СКЛ Сервера. Скоро сви други алати за рад са СКЛ сервером користе Т-СКЛ. Не можете учинити ништа са Т-СКЛ-ом.
  • СКЛ Сервер Манагемент Студио - Без ССМС-а готово је немогуће радити са СКЛ сервером. Помоћу ССМС-а можете погледати монитор активности, анализирати план упита, прегледати параметре сервера или базе података и многе друге ствари.
  • Дневници грешака СКЛ Сервер и Виндовс - ако нешто пође по злу, дневник грешака је прво место које систем администратор тражи. Дневник грешака СКЛ Сервер може се прегледати кроз ССМС. Дневници оперативног система Виндовс могу се прегледати кроз помоћни програм евентввр.мсц.
  • Виндовс Ресоурце Монитор - ресмон.еке је неопходан Виндовс алат за брзо оцењивање статуса ресурса сервера. Употреба РАМ-а и процесора може се гледати кроз управитеља задатака, али детаљна употреба мреже и тврдог диска може се видети само кроз ресмон и перфмон.
  • Монитор система Виндовс (Монитор перформанси) - Перфмон.еке је главно средство за надгледање Виндовс-а, садржи разне „бројила“, како системске метрике, тако и апликације, укључујући СКЛ Сервер. Типично се бројачи перфмона обрађују користећи друге системе за надгледање, на пример, Заббик, јер је у перфмону непријатно чување и преглед података током протеклог времена..
  • Апликације трећих страна - Постоји много плаћених и бесплатних апликација за надгледање СКЛ сервера. На пример, једна од бесплатних апликација је дбФорге Монитор од компаније Деварт. Апликација је инсталирана као додатак ССМС-у и омогућава вам да прикажете веома згодну контролну таблу за приказ тренутног стања вашег СКЛ сервера (информације о коришћењу меморије, ЦПУ-у, учитавању, закључавањима, процесима, информацијама о сигурносним копијама, "тешким СКЛ упитима", перформансама дисковног подсистема итд. .).
  • Скрипти Брентозар - Ово је популарно решење за дијагнозу поставки и здравља СКЛ Сервер-а. Брентозар има много скрипти за разне задатке, али за дијагностику нас занима „сп_блитз“. Можете га бесплатно преузети са званичне веб странице хттпс://ввв.брентозар.цом/блитз/. Покрените сп_Блитз.скл да бисте инсталирали потребне процедуре и извршили их. екец сп_блитз за дијагнозу Овај алат је бесплатан и одржава га заједница СКЛ Сервер. Сп_блитз ће идентификовати све популарне проблеме са вашим сервером и саветовати их како да се реше..
  • Т-СКЛ скрипти сетови - прикладно је имати при руци колекције различитих Т-СКЛ упита за дијагностику СКЛ сервера, јер нема увек времена за писање сопствених упита, боље је да се наоружате унапред. Следе везе до корисних Т-СКЛ / ПоверСхелл упита које често користим приликом дијагностицирања и подешавања МС СКЛ-а:
    • хттпс://гитхуб.цом/СКЛадмин/АвесомеСКЛСервер - скуп упита за надгледање ИО ЦПУ / РАМ / диска и других параметара.
    • хттпс://гитхуб.цом/дгавриков/датабасес_сцриптс/трее/мастер/СКЛ%20Сервер - много корисних скрипти и животних хакова
    • хттпс://гитхуб.цом/ктаранов/склсервер-кит - скрипте и корисне информације. Много је примера рада са СКЛ сервером путем ПоверСхелл-а

Откривање и рјешавање проблема са перформансама СКЛ Сервера

Најчешћи проблем са којим се администратор система суочава са СКЛ Сервером су притужбе корисника на перформансе упита и сам сервер: „успорава“, „упит траје дуго“, итд..

Прије свега, морате осигурати да сервер има довољно ресурса. Погледајмо како брзо анализирати употребу меморије, ЦПУ-а, дискова и закључавања у СКЛ Серверу..

Анализа употребе РАМ-а за СКЛ Сервер

Прво морате да утврдите колико је меморије доступно на СКЛ Серверу. Да бисте то учинили, покрените ССМС (СКЛ Сервер Манагемент Студио), идите на сервер и идите на својства сервера (РМБ по имену сервера у Објецт Бровсер).

Сам расположиви РАМ капацитет неће вам ништа рећи. Морате да упоредите овај број са меморијом која се користи у управитељу задатака и самом СКЛ Сервер мотору помоћу ДМВ-а.

У управитељу задатака на картици Детаљи пронађите склсервр.еке и погледајте колико РАМ-а користи овај процес.

  • Ако сервер, на пример, има 128 ГБ РАМ-а, а поступак склсервр.еке користи 60 ГБ, а СКЛ Сервер нема ограничења РАМ-а, тада имате довољно РАМ-а.
  • Ако СКЛ Сервер користи 80-90% постављеног или максималног РАМ-а, тада морате гледати ДМВ. Имајте на уму да склсервр.еке неће моћи да користи сву РАМ. Ако сервер има 128 ГБ, тада склсервр.еке може да користи само 80-90% (100-110 ГБ), јер је остатак меморије резервисан за оперативни систем.

Имајте на уму да процес СКЛ Сервер не шаље РАМ меморију назад у систем. На пример, ваш СКЛ Сервер обично користи 20 ГБ меморије, али са месечним извештајем повећава потрошњу на 100 ГБ, па чак и када је обрачун извештаја завршен и сервер ради у претходном режиму, процес СКЛ Сервер ће и даље користити 100 ГБ док се услуга не покрене..

Чак и ако сте сигурни да сервер има довољно РАМ-а, неће бити сувишно знати тачно потрошену количину РАМ-а..

Можете сазнати праву употребу РАМ-а Динамички прикази управљања. ДМВ-ови су административни гледаоци. Помоћу ДМВ-а можете дијагностицирати готово било који проблем на СКЛ Серверу.

Погледајмо сис.дм_ос_сис_мемори, ради лакшег коришћења захтева:

СЕЛЕЦТ тотал_пхисицал_мемори_кб / 1024 АС [Укупна физичка меморија], доступно_пхисицал_мемори_кб / 1024 АС [Доступна физичка меморија], тотал_паге_филе_кб / 1024 АС [Тотал Паге Филе (МБ)], аваилабле_паге_филе_кб / 1024 АС [Доступна страница са датотекама (МБ)], 100 - ( 100 * Цаст (доступно_пхисицал_мемори_кб КАО ДЕЦИМАЛ (18, 3)) / Цаст (тотал_пхисицал_мемори_кб АС ДЕЦИМАЛ (18, 3))) АС 'Постотак коришћен', систем_мемори_стате_десц АС [Статус меморије] ОД сис.дм_ос_сис_мемори; 

Узмите у обзир сваки излазни параметар:

  1. [Укупна физичка меморија] - количина РАМ-а доступна у оперативном систему. На неким серверима може показати мало више него што је стварно инсталирано.
  2. [Доступна физичка меморија] - количина РАМ-а доступна за СКЛ Сервер, искључујући већ заробљени СКЛ Сервер.
  3. [Укупна датотека датотеке (МБ)] - Количина „лимит ограничења“. Укључи ограничење = РАМ + све свап датотеке. То јест, ако на послужитељу имате 32 ГБ РАМ-а и 16 ГБ датотеке за страничне позиве, лимит ограничења износи 48 ГБ.
  4. [Доступна датотека датотеке (МБ)] - Величина датотеке странице за позивање.
  5. Кориштени проценат - проценат коришћене РАМ меморије Не постоји такав параметар у самом сис.дм_ос_сис_мемори, али се израчунава помоћу формуле аваилабле_пхисицал_мемори_кб / тотал_пхисицал_мемори_кб
  6. [Стање меморије] - РАМ статус. Поље систем_мемори_стате_десц садржи стање потрошње РАМ-а у облику текста. Вриједност овог поља сматра се на основу друга два: систем_лов_мемори_сигнал_стате и систем_хигх_мемори_сигнал_стате. Можете их одабрати директно ако вам је потребан Боолеан / битни формат података. За сва поља сис.дм_ос_сис_мемори погледајте документацију хттпс://доцс.мицрософт.цом/ен-ус/скл/релатионал-датабасес/систем-динамиц-манагемент-виевс/сис-дм-ос-сис-мемори-трансацт -скл? виев = скл-сервер-вер15

Сви ови подаци су корисни ако желите тачно да одредите колико ваш СКЛ Сервер троши РАМ-а. То се најчешће користи ако постоји сумња да је за примерак додељено превише РАМ-а..

Ако морате да се уверите да сервер има довољно РАМ-а, можете само погледати поља систем_лов_мемори_сигнал_стате, систем_хигх_мемори_сигнал_стате и систем_мемори_стате_десц. Ако систем_лов_мемори_сигнал_стате = 1, сервер очито нема довољно РАМ-а.

Употреба ЦПУ-а у СКЛ Серверу

Оптерећење процесора је лакше одредити, јер се то може обавити у управитељу задатака. Да бисте сазнали тренутно оптерећење процесора, пронађите поступак склсервр.еке у управитељу задатака

Ако желите знати оптерећење за прошло време, можете користити упит:

Не заборавите да за неколико минута промените @ластНМин на потребан број.
ДЕЦЛАРЕ @тс БИГИНТ; ДЕЦЛАРЕ @ластНмин ТИНИИНТ; СЕТ @ластНмин = 30; СЕЛЕЦТ @тс = (СЕЛЕЦТ цпу_тицкс / (цпу_тицкс / мс_тицкс) ОД сис.дм_ос_сис_инфо); СЕЛЕЦТ ТОП (@ластНмин) Датеадд (мс, -1 * (@тс - [тиметамп]), Гетдате ()) АС [ЕвентТиме], склпроцессутилизатион АС [СКЛ Сервер Утилизатион], 100 - системидле - склпроцессурилизатион АС [Отхер Процесс ЦПУ_Утилизатион] , системидле АС [Систем Идле] ФРОМ (СЕЛЕЦТ рецорд.валуе ('(./ Рецорд / @ ид) [1]', 'инт') АС рецорд_ид, рецорд.валуе ('(./ Рецорд / СцхедулерМониторЕвент / СистемХеалтх / СистемИдле) ) [1] ',' инт ') АС [СистемИдле], рецорд.валуе (' (./ Рецорд / СцхедулерМониторЕвент / СистемХеалтх / ПроцессУтилизатион) [1] ',' инт ') АС [СКЛПроцессУтилизатион], [тиместамп] ФРОМ ( ИЗБОР [временска ознака], ЦОНВЕРТ (КСМЛ, запис) КА [запис] ОД сис.дм_ос_ринг_буфферс ГДЈЕ ринг_буффер_типе = Н'РИНГ_БУФФЕР_СЦХЕДУЛЕР_МОНИТОР 'И снимање ЛИКЕ' %% ') АС к) КАО НАРУЧИТЕ ПО запису_ид ДЕСЦ;

Као резултат, добијамо минутне статистике о употреби процесора.

Анализа оптерећења диска СКЛ Сервер

Погледајмо утовар дискова у оперативном систему. Да бисте то учинили, покрените ресмон.еке.

Треба нам картица Диск. У одељку Дисковна активност Приказане су датотеке којима се приступа и брзина њиховог читања / писања у тренутном тренутку. Филтрирајте овај одељак према Укупно (кликните на Укупно). На самом врху ће се налазити датотеке које тренутно највише користе погон. У случају СКЛ сервера, ово може бити корисно за одређивање која база података тренутно највише учитава диск..

Одељак за складиштење приказује све погоне у систему. У овом одељку су нам потребна два параметра - Активно време и Ред диска. Активно време у процентима приказује оптерећење диска, то јест, ако видите да је Ц: \ Ацтиве Тиме на диску једнако 90, то значи да се ресурс читања / писања диска тренутно користи на 90%. Ступац Ред чекања диска приказује ред приступа диску, а ако вриједност чекања није нула, диск је 100% учитан и не може поднијети оптерећење. Такође, ако је активно време близу 100, диск се користи готово на граници својих могућности у брзини.

Погледајте браве у СКЛ Серверу

Након што смо се уверили да сервер има довољно ресурса, можемо приступити прегледу закључавања.

Браве се могу прегледати кроз Монитор Монитор у ССМС-у, али ми ћемо користити Т-СКЛ, јер је ова опција згоднија и визуелнија. Ми испуњавамо захтев:

ПОСТАВИТЕ НОЦОН НА МОГУЋИ ИЗБОР СПИД-а, БЛОКИРАН, ЗАМЈЕНИ (ЗАМЈЕНА (Т.ТЕКСТ, ЦХАР (10), "), ЦХАР (13),") КАО СЕРИЈА У # Т ИЗ сис.сиспроцес Р ЦРОСС АППЛИ сис.дм_екец_скл_тект (Р. СКЛ_ХАНДЛЕ) ПОГЛЕДАЈТЕ СА БЛОКЕРИМА (СПИД, БЛОЦКЕД, НИВО, СЕРИЈА) КАО (ОДАБИР СПИД, БЛОЦКЕД, ЦАСТ (РЕПЛИЦАТЕ ('0', 4-ЛЕН (ЦАСТ (СПИД АС ВАРЦХАР))) + ЦАСТ (СПИД АС ВАРЦХАР) АС ВАРЦХАР (1000)) КАО НИВО, СЕРИЈА ОД #ТР ГДЈЕ (БЛОКИРАН = 0 ИЛИ БЛОКИРАН = СПИД) И ПОСТОЈИ (ОДАБИР * ОД #Т Р2 ГДЈЕ Р2.БЛОЦКЕД = Р.СПИД И Р2.БЛОЦКЕД Р2.СПИД) УНИОН СВИ ОДАБИР Р.СПИД, Р.БЛОЦКЕД, ЦАСТ (БЛОЦКЕРС.ЛЕВЕЛ + ДЕСНО (ЦАСТ ((1000 + Р.СПИД) КАО ВАРЦХАР (100)), 4) АС ВАРЦХАР (1000) АС НЕВЕЛ, Р.БАТЦХ ОФ #Т АС Р ИННЕР ПРИДРУЖИТЕ БЛОКЕРЕ НА Р. БЛОЦКЕД = БЛОЦКЕРС.СПИД Где је Р. БЛОЦКЕД> 0 АНД Р. БЛОЦКЕД Р.СПИД) ОДАБИР Н "+ РЕПЛИЦАТЕ (Н '|', ЛЕН (НЕВЕЛ) / 4 - 1) + ЦАСЕ ВХЕН ( ЛЕН (НИВО) / 4 - 1) = 0 ТХЕН 'ХЕАД -' ЕЛСЕ '| ------' ЕНД + ЦАСТ (СПИД АС НВАРЦХАР (10)) + Н "+ СЕРИЈА КАО БЛОЦКИНГ_ТРЕЕ ОФ БЛОЦКЕРС НАРУЧИ НИВО АСЦ ГО ДРОП ТАБЕЛА #Т ГО 

Овај упит враћа листу брава у облику стабла. Ово је практично у раду, јер обично, ако се деси једна брава, изазива друге. Слично томе, у Монитору активности или на излазу сп_вхо2 можете видети поље „Блокирано помоћу“.

Ако захтев ништа не врати, нема закључавања.

Ако је захтев вратио неке податке, тада морате анализирати ланац.

ХЕАД значи да је овај захтев разлог за све друге браве испод стабла. 64 је идентификатор процеса (СПИД). Након тога се пише тело захтева, што је проузроковало блокаду. Ако имате довољно ресурса сервера, онда је највероватније ствар у самом захтеву и у узајамној привлачности неких објеката. Да бисте били прецизнији, морате анализирати конкретан захтев који је изазвао закључавање.

СКЛ Сервер политике

Чак и када вам све добро успе и нема притужби, у ствари се могу појавити касније. СКЛ Сервер има смернице за то..

Политика у СКЛ Серверу је, грубо речено, проверавање правила у складу са датом вредношћу. На пример, коришћењем смерница можете бити сигурни да је Аутоматско скртање искључено у свим базама података на серверу. Размотрите пример увоза и спровођења политике

У ССМС-у повежите се са сервером на којем желите да извршавате смернице (Управљање -> Одељак за управљање полисама).

Увезите датотеку Аутоматска скрчења.кмл базе података. Кликните на Оцените

Постоје двије базе података на примјеру ноде1, тест1 и тест2. Аутоматско повезивање је омогућено на тест2. Да видимо детаље.

Правила су одредила укључени параметар АутоСхринк, у опису правила се обично пишу објашњења. У овом случају даје се објашњење зашто је аутоматско смањивање боље..

Политике се могу извршити било по распореду или на захтев (једнократно). Резултати спровођења политике могу се наћи у евиденцији политика..

Када инсталирате СКЛ Сервер, требате одабрати само кориштене ДБМС компоненте и одредити поставке у складу с хардверском конфигурацијом вашег сервера. Увек проверите да ли сервер има довољно ресурса и да нема закључавања на серверу

Најмоћнији дијагностички алат СКЛ Сервера су Т-СКЛ и ДМВ. Такође се препоручује да направите нон-стоп надгледање СКЛ Сервера и његове инфраструктуре да бисте открили све могуће проблеме..