Теория 00:27:24 Немного про анализ данных, про сведение данных Perfomance monitor и профайлера 00:29:10 Поиск в куче 00:29:26 Поиск в кластерном индексе: поиск, сканирование, сканирование диапазона. 00:31:52 Статистика
Сбор данных 00:23:44 Запуск рабочей нагрузки и сбора данных 00:25:46 Остановка сбора данных. Сохранение трассы профайлера. 00:26:14 "Собирать трассу и счетчики можно по сети с другого сервера"
Анализ длительного запроса 00:34:46 Анализ корреляции данных профайлера и Perfomance monitor 00:36:12 Нагружен процессор и большое количество чтений 00:37:18 Выполнили этот запрос в Management studio - выполнился быстро, мало чтений 00:38:06 Выполнили этот запрос опять в приложении - опять выполнился медленно, много чтений 00:38:47 Выяснение причин разных планов запроса. 00:40:25 Причина: Parameter sniffing 00:44:14 Причина: SET ARITHABORT 00:47:16 Выявлена нагрузка на процессор из за компиляции запросов 00:48:27 Анализ тяжелых запросов 00:50:10 Большое различие между _Actual number of Rows_ и _Estimated number of Rows_ - признак невалидной устаревшей статистики 00:55:52 Анализ различных показателей из Perfomance monitor. 00:58:10 О счетчиках ожиданий 00:59:12 Почему динамический SQL-запрос это плохо, а параметры хорошо.
Это лучшее, что я посмотрел на ютубе за последний год! Спасибо
Большое спасибо Денису! Приятно слушать специалиста.
Настройка Perfomance monitor
00:07:22 Sample interval (примерно 5 сек)
00:08:34 Processor
00:09:31 System / Processor Queue Length (желательно без длительного пика)
00:10:14 Memory / Avalible MBytes (желательно > 100-500)
00:10:58 Paging file (желательно = 0)
00:11:26 PhysicalDisk/
- Avg. Disk sec/Read (желательно < 100 мс)
- Avg. Disk sec/Write (желательно < 100 мс)
- Disk Reads/sec (наблюдаем за трендами)
- Disk Writes/sec (наблюдаем за трендами)
00:12:47 SQLServer:Buffer Manager / Page life expectancy (желательно > 5 мин или чем > тем лучше)
00:15:12 SQLServer:General Statistics / User connections
00:15:39 SQLServer:Memory Manager /
Memory Grants Pending (желательно = 0)
Target Server Memory (смотрим чтобы Target была > Total)
Total Server Memory
00:16:56 SQLServer:SQL Statistics /
- Batch requests/sec (наблюдаем за трендами)
- SQL Compilations/sec (соотносим с нагрузкой на процессор)
- SQL Re-compilations/sec (соотносим с нагрузкой на процессор)
Мощный тип ))
Теория
00:27:24 Немного про анализ данных, про сведение данных Perfomance monitor и профайлера
00:29:10 Поиск в куче
00:29:26 Поиск в кластерном индексе: поиск, сканирование, сканирование диапазона.
00:31:52 Статистика
Настройка профайлера
00:19:57 Настройка профайлера на основе шаблона Tuning: добавить столбцы Start time, End time, CPU, Reads, Row count, Writes.
Сбор данных
00:23:44 Запуск рабочей нагрузки и сбора данных
00:25:46 Остановка сбора данных. Сохранение трассы профайлера.
00:26:14 "Собирать трассу и счетчики можно по сети с другого сервера"
01:00:13 Итоги выступления
01:01:10 Рекомендуемые книги и сайты
Сведение данных Perfomance monitor и профайлера
00:33:35 Загрузка данных Perfomance monitor в профайлер
Анализ длительного запроса
00:34:46 Анализ корреляции данных профайлера и Perfomance monitor
00:36:12 Нагружен процессор и большое количество чтений
00:37:18 Выполнили этот запрос в Management studio - выполнился быстро, мало чтений
00:38:06 Выполнили этот запрос опять в приложении - опять выполнился медленно, много чтений
00:38:47 Выяснение причин разных планов запроса.
00:40:25 Причина: Parameter sniffing
00:44:14 Причина: SET ARITHABORT
00:47:16 Выявлена нагрузка на процессор из за компиляции запросов
00:48:27 Анализ тяжелых запросов
00:50:10 Большое различие между _Actual number of Rows_ и _Estimated number of Rows_ - признак невалидной устаревшей статистики
00:55:52 Анализ различных показателей из Perfomance monitor.
00:58:10 О счетчиках ожиданий
00:59:12 Почему динамический SQL-запрос это плохо, а параметры хорошо.
00:00:00 План выступления
00:02:24 Работа MS SQL: процессор, память, диск. Процессы
Две сотни лайков
сотня лайков