Учебный курс «Microsoft SQL Server – мониторинг и оптимизация производительности»

Краткое содержание: основные концепции мониторинга производительности, нагрузочное тестирование SQL Server, оптимизация подключений, параметры производительности сервера, настройка TEMPDB, оптимизация индексов, дефрагментация, оптимизация запросов, настройка системы FILESTREAM

Общие данные:

Редко бывает так, чтобы на предприятии все были полностью довольны производительностью работы баз данных SQL Server. А если база относится к категории высоконагруженных, то вечный вопрос «Как заставить SQL Server работать быстрее?» будет мучить администратора постоянно.

Оптимизация производительности — вопрос комплексный, который требует действий со многими компонентами SQL Server. И если пройти по всем этапам оптимизации, грамотно отработав каждый из них, то производительность можно повысить очень существенно. Курс очень рекомендуем. Посмотреть информацию о том, как заказать обучение, можно здесь.

Продолжительность: 4 дня (32 учебных часа).

В курсе 11 модулей (на лабораторные работы, выполняемые под руководством преподавателя, отводится 50 % времени учебного курса).

Для кого предназначен: администраторы баз данных Microsoft SQL Server, специалисты, работающие с базами данных SQL Server

План курса:

  1. Введение в мониторинг и оптимизацию производительности. Performance baseline и поиск узких мест. Терминология и план оптимизации.
  2. Анализ архитектуры приложения. Разделение данных на оперативные и архивные. Типы баз данных: оперативные (OLTP), хранилища данных (Data Warehouse), шлюзовые (staging), многомерные аналитические (OLAP). Особенности оптимизации каждого типа баз данных.
  3. Анализ производительности сервера на уровне оборудования и операционной системы. Анализ загрузки процессора, памяти, дисковой системы, сети средствами Performance Monitor. Выбор оборудования под Microsoft SQL Server. Нагрузочное тестирование и бенчмарки.
  4. Оптимизация системы подключений к SQL Server. Сравнение интерфейсов подключения (OLE DB, ODBC, JDBC и т.п.). Настройка пулов подключений (connection pools) и приемы для снижения количества открываемых соединений. Асинхронное параллельное выполнение запросов в рамках одного подключения (Multiple Active Result Sets, MARS)
  5. Настройка параметров работы сервера. Настройки оперативной памяти, параметры max server memory и min server memory. Применение memory-optimized tables (таблиц, загруженных в оперативную память). Мониторинг и оптимизация кэша баз данных. Настройки процессора: NUMA, параметры распараллеливания запросов.
  6. Мониторинг работы TEMPDB и работы с временными объектами. Устранение проблем с TEMPDB. Оптимальная конфигурация TEMPDB.
  7. Оптимизация системы индексов. Оценка оптимальности системы индексов, применение DTA (Database Tuning Advisor). Типы индексов в Microsoft SQL Server: кластерные и некластерные индексы, индексы со включением столбцов (included indexes), индексы с хранением данных в столбцах (columnstore indexes), индексы по части данных (filtered indexes). Специальные виды индексов (XML, геопространственные и другие). Настройка и поддержание оптимальной системы индексов.
  8. Влияние фрагментации таблиц и индексов на производительность. Оценка фрагментации. Дефрагментация таблиц и индексов средствами планов обслуживания (Maintenance Plans). Предупреждение фрагментации: выбор ключей и настройка FILLFACTOR/PAD_INDEX.
  9. Влияние системы блокировок на производительность. Анализ ситуации с блокировками, статистика ожиданий (wait statistics). Возможности влияния на блокировки при помощи хинтов и уровней изоляции транзакций. Применение уровня изоляции моментальных снимков (SNAPSHOT ISOLATION LEVEL).
  10. Оптимизация запросов. Анализ планов выполнения запросов. Проверка актуальности статистики и пересчет статистики. Выбор запросов для оптимизации средствами профилировщика и Extended Events. Изменение планов выполнения запросов при помощи хинтов.
  11. Особенности работы с документными базами. Применение FILESTREAM, полнотекстовых индексов и режимов восстановления.