Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/55: Рейтинг темы: голосов - 55, средняя оценка - 4.98
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382

Мониторинг MSSQL сервера (как отследить нагрузку)

14.04.2019, 18:57. Показов 11716. Ответов 10

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Есть серв, на 10ке, на нём стоит MS SQL с ssms. На серве 1 активная бд. (с базой работает 3 asp.net приложения).

Периодически серв проседает в производительности. Все запросы\хранимки отрабатывают с явной задержкой. Почему - не ясно.
Это не разовая задержка, это что-то что просаживает производительность и после чего вся последующая работа "замедлена". Спасает только перезагрузка серва.

Вопрос: как (какими инструментами, настройками, аналитиками и т.п.) отследить текущую производительность? Как понять корректность отработанных запросов (скорость "это норм" или "много" когда разница не совсем существенна)? (чтобы в дальнейшем на основе этой инфы искать дыры и их решение).

p.s. работы по глобальному with nolock проведены - местами стало легче, но "эта" (непонятная) проблема осталась.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.04.2019, 18:57
Ответы с готовыми решениями:

Как отследить статус сервера?
Как отследить статус сервера - онлайн/офлайн, в частности статус стримов (own3dtv, twitch). Прочёсываю интернет в поисках магической...

Распределить нагрузку веб-сервера с помощью Squid и Apache
Я пытаюсь создать систему балансировки нагрузки для веб-сервера с помощью Squid и Apache. как реализовать конфигурации для системы...

Мониторинг сервера
Подскажите как можно примитивно посмотреть такие данные сервера как: загрузка процессора, его температура, входящий/исходящий трафик через...

10
5942 / 4518 / 1094
Регистрация: 29.08.2013
Сообщений: 28,093
Записей в блоге: 3
14.04.2019, 20:22
Цитата Сообщение от DarkOrk Посмотреть сообщение
Периодически серв проседает в производительности.
насколько периодически?
что по событиям сервера и винды?

Цитата Сообщение от DarkOrk Посмотреть сообщение
работы по глобальному with nolock проведены
это вообще не очень правильно
0
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382
15.04.2019, 15:08  [ТС]
qwertehok, каждый день. То есть, после перезагрузки (если грузанул во второй половине дня) всё норм. Утром - всё норм. В обед - смерть. Грузанул в обед и всё по кругу.

В событиях чисто (нет ошибок и предупреждений о "полной попе"). Есть информационные, но я их почитал и там нефига интересного.
Не знаю на сколько вот это важно:

Кликните здесь для просмотра всего текста
Это после перезагрузке серва вываливается. Лажить начинает где-то через часа 3-4 так что это не связываю

A significant part of sql server process memory has been paged out. This may result in a performance degradation. Duration: 0 seconds. Working set (KB): 270416, committed (KB): 533116, memory utilization: 50%.


Есть идеи?

p.s. по with nolock почитаю. спс.
0
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382
16.04.2019, 15:26  [ТС]
Ну где же вы, великие DB DEVELOPERы?
0
5942 / 4518 / 1094
Регистрация: 29.08.2013
Сообщений: 28,093
Записей в блоге: 3
16.04.2019, 16:32
может никто не хочет писать пока вы не дадите больше инфы?

нагрузку на сервер - в простое и когда "умирает"
данные по памяти, винтам, процессору

неплохо было бы профайлером подключиться и смотреть что происходит в этот момент
помониторить запросы которые выполняются
0
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382
16.04.2019, 17:20  [ТС]
qwertehok, так к этому и тема. Я НЕ ЗНАЮ как это всё делать (вернее "что именно делать нужно").
Мне нужна помощь, в разборе мониторинга серва.

Память загружена на 3ть.
Проц вообще спит всегда (16 ядер, ему вообще скучно играться с нашим сервом и его задачами).
Диск (тут точно не знаю) - не видел пиковых нагрузок. В штатном режиме.
Сеть - на 10% от возможного.

По мониторингу из ssms самые больше паузы даёт Latch блокировки (ниже скрин. это "за 1 день").

Я почитал стати с msdn-а, почитал посты на хабре. Как бы ок. На первом есть варианты "куда смотреть", во втором "как решать", но и тот, и тот не даёт последовательный ответ.
Как бы, как запустить "расширенные события" или же настроить датчики мониторинга (в системном мониторинге) я понял, другой момент, я не понимаю какое значение будет говорить о том что "у нас тут полная попа" или же всё в пределах разумного исполняется.
Видел интересный вариант, на хабре, о том что план сервера строится на одних данных, по фарту, за время работы данные меняются, план становится не актуальным и серв "не правильно" работает (с точки зрения быстродействия), но, ещё раз, я новичок в этом вопросе и не понимаю "что хорошо,а что плохо" и где ЛУЧШЕ это смотреть.
Миниатюры
Мониторинг MSSQL сервера (как отследить нагрузку)  
0
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382
17.04.2019, 09:29  [ТС]
Здравствуйте.
Вот, удалось получить гаф статистику, с большой нагрузкой (как раз в эти моменты и "проседает").

Как эту информацию интерпретировать и как посоветуют действовать? (плз, развёрнутые комменты, как для новичков)
Миниатюры
Мониторинг MSSQL сервера (как отследить нагрузку)  
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
17.04.2019, 10:01
DarkOrk, имеет место быть недостаток памяти.
В перфомансе мониторе смотрите для SQL Server значения счетчиков Target Server Memory и Total Server Memory. Они должны быть равны или незначительно отличаться.

Так же есть ожидания на блокировках. На каких и почему нужно выяснять дополнительно.
Необходимая информация есть в sys.dm_os_waiting_tasks и sys.dm_exec_requests.
Или установите sp_whoisactive

Само-собой бессмысленно что-либо анализировать вне моментов просадок.

Можете еще посмотреть подробную кумулятивную статистику ожиданий запросом вот отсюда - https://www.sqlskills.com/blog... -it-hurts/
0
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382
17.04.2019, 10:56  [ТС]
invm, этот скрин (по которому вы отписались) был получен при отключении параллелизма.
При отключенном параллелизме бы такие показатели. Стабильно появились блокировки и память периодически загружала (этот скрин как раз в такой момент поймал).

При включённом - проблемы с памятью не проявлялись (совсем). К слову, даже в тот момент когда был этот показатель, диспетчер не показывал всплесков по загруженности озу (30-40% стабильно).
Скрипт (по ссылки что вы дали) я видел. При работающем параллелизме, где-то 50 на 50 забирает на себя CXPACKET и LATCH_EX. (как решение, нашёл вариант отключить параллельность, но это не вариант (почему видно на скрине выше ) ).

ЦП стабильно работает, без перегрузок.
Диск тоже, по моему, качает. Очередь не создаёт.

Цитата Сообщение от invm Посмотреть сообщение
Само-собой бессмысленно что-либо анализировать вне моментов просадок.
Я это понимаю, но не знаю как сделать скрины\логи во время работы, не так что бы "показалось (на экране) и пропало", а что бы я это показать мог?! ...т.к. моих знаний, сейчас, не хватает чтобы самому это проанализировать, а как вы сами пишете "вне момента просадок" нефига не решить.

Кстати, о профайлере.
Может подскажите какие ивенты там настроить и на что смотреть (т.к. там действительно много всего и что именно мне надо, мне не ясно).

Ниже скрин по мониторингу при включённом параллелизме.
Как понять откуда берутся локи (на каких конкретно ресурсах и при каких запросах)?
Миниатюры
Мониторинг MSSQL сервера (как отследить нагрузку)  
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
17.04.2019, 11:25
Цитата Сообщение от DarkOrk Посмотреть сообщение
При работающем параллелизме, где-то 50 на 50 забирает на себя CXPACKET и LATCH_EX.
CXPACKET - нормальное явление при параллелизме и его можно игнорировать. Плюс наличие параллелизма, в большинстве случаев, свидельствует о кривости запросов.
Много ожиданий LATCH_EX говорит о проблемах с "писателями". Каких именно и надо выяснять.

Я не зря упоминал о sp_whoisactive. Этим средством можно анализировать ситуацию в момент "просадок" - выявлять запросы в состоянии suspended и смотреть на ожидании какого ресурса они висят.

Если версия позволяет, включите Query Store. См. в документации как этим средством выявлять деградировавшие запросы.
0
5942 / 4518 / 1094
Регистрация: 29.08.2013
Сообщений: 28,093
Записей в блоге: 3
17.04.2019, 11:57
Цитата Сообщение от DarkOrk Посмотреть сообщение
проблемы с памятью не проявлялись (совсем)
Цитата Сообщение от DarkOrk Посмотреть сообщение
ЦП стабильно работает, без перегрузок.
Диск тоже, по моему, качает. Очередь не создаёт.
значит проблем нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.04.2019, 11:57
Помогаю со студенческими работами здесь

Мониторинг игрового сервера
Здравствуйте, друзья. Столкнулся вот с какой проблемой. Хочу сделать мониторинг сервера. Нашел в интернете похожую функцию и немного ее...

Мониторинг сети сервера
Доброго времени суток. Перерыв кучу статей, перепробовав кучу программ) не нашел ничего толкового. Имеется сервер на Виндовс сервер 2008...

Мониторинг сервера Лотус
Народ, может кто знает чем (какой софтиной, если есть конечно) произвести мониторинг сервера Лотус 6 скажем за день на предмет: -...

Мониторинг принт сервера
Может кто-нибудь подсказать, каким мониторингом пользуется или пользовался на print server на windows 2008 r2? Интересует статистика печати.

Мониторинг сервера (удаленно)
Задача: вывести информацию о сервере (характеристики, состояние, место на жестком диске и тд) какие есть самый простые и оптимальные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru