Ускорение и Оптимизация 1С, Базовый курс
курсы-по-1С.рф - Сергей Кузьмин, Андрей Бурмистров
APDEX, замеры, настройки SQL, регламентные операции, запросы, временные и виртуальные таблицы, блокировки, дедлоки, индексирование, ожидания, эскалации…
Разберем все это и многое другое, что должен знать и уметь каждый 1С‑ник, чтобы все работало быстро и стабильно.
Чему Вы научитесь на курсе:
Занятие № 1
С чего начать оптимизацию
Темы занятия:
Этапы оптимизации
С чего начинать оптимизацию
Основная ошибка при оптимизации
Занятие № 2
Описание методики оценки производительности APDEX
Темы занятия:
Описание и этапы методики APDEX
Ключевые операции и целевое время
Формула расчета APDEX
Занятие № 3
Внедрение механизма замеров
Темы занятия:
Включение замеров в типовой конфигурации
Объединение с подсистемой замеров из БСП
Настройка подсистемы замеров
Обзор компонентов подсистемы замеров времени
Занятие № 4
Замер времени проведения
Темы занятия:
Возможности и ограничения замеров
Замер времени проведения документа
Возможные ошибки при замере на клиенте
Занятие № 5
Замер времени отчета СКД
Темы занятия:
Варианты замера времени отчета на СКД
Замер непосредственного выполнения отчета СКД без формы
Замер непосредственного выполнения отчета СКД с формой
Замер фонового выполнения отчета СКД с формой
Занятие № 6
Замер времени открытия формы
Темы занятия:
Последовательность событий при открытии формы
Как правильно замерить открытие
Особенности замеров при программном открытии формы
Занятие № 7
Анализ замеров
Темы занятия:
Создаем и заполняем профили ключевых операций
Чем поможет отчет Оценка производительности?
Занятие № 8
Проверка и установка основных параметров MS SQL
Темы занятия:
Базовая настройка
Разделение рабочей и тестовой среды
Проверка обновлений СУБД
Параметр «Максимальный объем памяти»
Параметры параллельного выполнения запроса
Настройка мгновенной инициализации файлов
Обзор и настройка параметра «Автоувеличение»
Как правильно настроить Shared Memory
Настройка блокировки страниц в памяти
Установка флагов запуска MS SQL
Занятие № 9
Настройка регламентных операций MS SQL
Темы занятия:
Регламентные операции СУБД
Обновление статистики базы данных
Зачем проводить дефрагментацию и реиндексацию
Настройка плана обслуживания
Занятие № 10
Настройка хранения файлов базы данных
Темы занятия:
Размещение файлов базы данных на диске
Размещение файлов TempDB на диске
Создание нескольких файлов TempDB
Антирекомендации по настройке хранения
Занятие № 11
Настройка режима Turbo Boost
Темы занятия:
В этом занятии мы рассмотрим параметр Turbo Boost.
Занятие № 12
Регламентные операции 1С
Темы занятия:
Cдвиг границы рассчитанных итогов
Пересчет итогов и его ускорение
Отключение лишнего для ускорения конфигурации
Занятие № 13
Локализация проблемы
Темы занятия:
Схема: возможные узкие места производительности
Код или окружение? Определяем узкое место
Расследуем, проявляется ли проблема только при параллельной работе
Занятие № 14
Работа с замером производительности в конфигураторе
Темы занятия:
Как включить отладку на сервере
Как выполнить анализ замера производительности в Конфигураторе
Занятие № 15
Настройка инструмента Монитор
Темы занятия:
Основные проблемы производительности кода
Описание инструмента Монитор
Скачивание и установка Монитора
Активация Монитора
Настройка мониторинга баз
Занятие № 16
Сбор данных о запросах, блокировках и взаимоблокировках
Темы занятия:
Мониторинг запросов
Настройка мониторинга ожиданий на блокировках и взаимоблокировок
Тестирование работоспособности
Занятие № 17
Подзапросы
Темы занятия:
Оценка необходимости оптимизации
Соединение с подзапросами / виртуальными таблицами
Подзапрос в условии соединения
Подзапросы в условиях и вложенные подзапросы
Занятие № 18
Временные таблицы
Темы занятия:
Использование временных таблиц
Индексация временных таблиц
Быстрый способ создания временной таблицы из подзапроса
Занятие № 19
Пример анализа запроса
Темы занятия:
Анализ запроса в сервисе с контекстом
Анализ запроса в сервисе без контекста
Занятие № 20
Введение в индексы и ускорение индексирования
Темы занятия:
Поиск без индекса в запросе
Пример создания индекса
Пример ускорения реструктуризации (создания индекса)
Несоответствие индексов и условий
Особенности индексации регистров
Индексы в разделенной базе
Поиск без индекса методом Прочитать
Занятие № 21
Условие ИЛИ и производительность
Темы занятия:
Условие ИЛИ для полей одной таблицы
Условие ИЛИ для полей разных таблиц
Занятие № 22
Условия, замедляющие запрос
Темы занятия:
Вычисления и функции дат в условии запроса
Условие ВЫБОР КОГДА
Поиск по части слова (условие ПОДОБНО, НАЧИНАЕТСЯ С)
Сложные условия
Занятие № 23
Грамотное использование условия с НЕ, списков и сортировки
Темы занятия:
Условие НЕ В и его аналог
Условие на вхождение полей в разные списки
Вхождение в список с большим числом элементов
Влияние сортировки на производительность
Занятие № 24
Работа с составным типом данных
Темы занятия:
Разыменование полей составного типа
Оптимизация через регистр данных документов
Условие с разыменованием полей
Условие Поле В (&МассивИзРазныхТипов)
Ограничение на реквизиты поля составного типа в СКД
Смешивание простых и ссылочных типов
Определяемые типы и общие рекомендации
Занятие № 25
Поиск по Ctrl+F и работа с динамическими списками
Темы занятия:
Анализ медленного запроса с CTRL+F
Ускорение поиска в динамических списках по Ctrl+F
Рекомендации по работе с динамическим списком
Занятие № 26
Виртуальные таблицы
Темы занятия:
Фильтрация виртуальных таблиц
Ускорение срезов регистров сведений
Занятие № 27
Другие причины замедления запросов
Темы занятия:
Запросы в цикле
Большой объем выборки данных
Запросы с RLS и возможные обходы
Сложные условия и запросы
Занятие № 28
Внешние причины замедления запросов
Темы занятия:
Ожидание на блокировке
Ожидание оборудования
Занятие № 29
Особенности выполнения и анализа запросов
Темы занятия:
Особенности выполнения пакетных запросов
Что не влияет на производительность запроса?
Методика анализа больших запросов
Занятие № 30
Сводная информация по запросам
Темы занятия:
Алгоритм анализа и список причин медленных запросов
Оптимизация в обход проблемы
Как узнать, кто выполняет долгий запрос
Рекомендации по написанию запросов
Занятие № 31
Основные сведения о блокировках
Темы занятия:
О проблеме ожиданий на блокировках
Основные сведения о блокировках
Схема работы блокировок в 1С и СУБД
Блокировки при записи
Блокировки при чтении и таблица блокировок
Когда блокировки не ставятся
Занятие № 32
Ожидания на блокировках
Темы занятия:
Совместимость блокировок
Условия возникновения ожиданий на блокировках
Где возникают ожидания на блокировках
Избыточные ожидания на блокировках
Понятие таймаута блокировки и его настройка
Занятие № 33
Ожидание из-за блокировки вначале транзакции
Темы занятия:
Разберем, почему установка блокировки в начале транзакции может приводить к замедлению
Занятие № 34
Ожидания на объектных данных и константах
Темы занятия:
Параллельность констант
Ожидания на объектных данных
Занятие № 35
Ожидание на любых объектах из-за запроса в 8.2
Темы занятия:
Схема ожидания из-за запроса
Пример ожидания из-за запроса
Анализ ожиданий из-за запроса
Устранение ожиданий из-за запроса
Принцип работы версионирования в MS SQL
Включение версионирования на 8.2
Занятие № 36
Ожидания на регистрах при удалении набора записей
Темы занятия:
Рассмотрим возможные проблемы параллельности работы при удалении набора записей
Занятие № 37
Ожидания на регистрах накопления и бухгалтерии
Темы занятия:
Параллельность регистра накопления
Анализ ожиданий на регистре накопления
Механизм разделения итогов
Включение разделения итогов
Особенности разделения итогов
Разделение итогов и контроль остатков до записи
Разделение итогов и контроль остатков после записи
Свойство БлокироватьДляИзменения
Ожидания на регистре бухгалтерии
Занятие № 38
Ожидания на регистрах сведений и расчета
Темы занятия:
Параллельность и ожидания на регистре сведений
Параллельность на регистре расчета
Ожидание на регистре расчета из-за платформенного запроса в 8.2
Занятие № 39
Ожидания на последовательности
Темы занятия:
Когда возникают ожидания на последовательности
Что делать с ожиданиями на последовательности
Занятие № 40
Ожидания из-за эскалации
Темы занятия:
Изменение большого числа данных в транзакции
Схема эскалации блокировок СУБД
Анализ и устранение ожиданий из-за эскалации СУБД
Эскалация блокировок 1С
Занятие № 41
Ожидания при обменах на таблицах регистрации изменений
Темы занятия:
Схема ожидания при обменах
Пример ожиданий при обменах
Анализ и устранение ожиданий при обменах
Занятие № 42
Сводная информация по блокировкам
Темы занятия:
Таблица параллельности объектов и причин блокировки
Оптимизация в обход проблемы
Алгоритм анализа ожиданий на блокировках
Занятие № 43
Описание и диагностика взаимоблокировок
Темы занятия:
Описание взаимоблокировки
Быстрая диагностика взаимоблокировок
Занятие № 44
Взаимоблокировка из-за повышения уровня блокировки
Темы занятия:
Схема взаимоблокировки из-за повышения уровня блокировки ресурса
Пример и анализ взаимоблокировки из-за повышения уровня блокировки ресурса 1С
Решение взаимоблокировки из-за повышения уровня блокировки ресурса
Занятие № 45
Взаимоблокировка из-за разного порядка захвата ресурсов
Темы занятия:
Схема взаимоблокировки разного порядка захвата ресурсов
Анализ взаимоблокировок из-за разного порядка
Устранение взаимоблокировок из-за разного порядка
Пример и анализ взаимоблокировки из-за запроса со сканированием в 8.2
Занятие № 46
Сводная информация по взаимоблокировкам
Темы занятия:
Алгоритм анализа взаимоблокировок
Таблица причин взаимоблокировок
Скачать с ОМ
курсы-по-1С.рф - Сергей Кузьмин, Андрей Бурмистров
APDEX, замеры, настройки SQL, регламентные операции, запросы, временные и виртуальные таблицы, блокировки, дедлоки, индексирование, ожидания, эскалации…
Разберем все это и многое другое, что должен знать и уметь каждый 1С‑ник, чтобы все работало быстро и стабильно.
Чему Вы научитесь на курсе:
- Оценивать состояние системы в любой момент времени, например, чтобы видеть, как обновления влияют на скорость работы 1С, или не накапливать проблемы в системе и решать их сразу по мере возникновения.
- Пользоваться инструментами анализа производительности, чтобы находить проблемные места в коде и тратить минимум времени на задачи, связанные с производительностью 1С.
- Настраивать параметры базы MS SQL оптимальным образом. Один раз и навсегда, чтобы позже не приходилось обращаться к сис. администраторам, когда появляются неожиданные замедления.
- Оптимизировать запросы, устранять ожидание на блокировках, решать проблемы со взаимоблокировками, чтобы у пользователей все работало стабильно и они не отвлекали вас от работы.
Занятие № 1
С чего начать оптимизацию
Темы занятия:
Этапы оптимизации
С чего начинать оптимизацию
Основная ошибка при оптимизации
Занятие № 2
Описание методики оценки производительности APDEX
Темы занятия:
Описание и этапы методики APDEX
Ключевые операции и целевое время
Формула расчета APDEX
Занятие № 3
Внедрение механизма замеров
Темы занятия:
Включение замеров в типовой конфигурации
Объединение с подсистемой замеров из БСП
Настройка подсистемы замеров
Обзор компонентов подсистемы замеров времени
Занятие № 4
Замер времени проведения
Темы занятия:
Возможности и ограничения замеров
Замер времени проведения документа
Возможные ошибки при замере на клиенте
Занятие № 5
Замер времени отчета СКД
Темы занятия:
Варианты замера времени отчета на СКД
Замер непосредственного выполнения отчета СКД без формы
Замер непосредственного выполнения отчета СКД с формой
Замер фонового выполнения отчета СКД с формой
Занятие № 6
Замер времени открытия формы
Темы занятия:
Последовательность событий при открытии формы
Как правильно замерить открытие
Особенности замеров при программном открытии формы
Занятие № 7
Анализ замеров
Темы занятия:
Создаем и заполняем профили ключевых операций
Чем поможет отчет Оценка производительности?
Занятие № 8
Проверка и установка основных параметров MS SQL
Темы занятия:
Базовая настройка
Разделение рабочей и тестовой среды
Проверка обновлений СУБД
Параметр «Максимальный объем памяти»
Параметры параллельного выполнения запроса
Настройка мгновенной инициализации файлов
Обзор и настройка параметра «Автоувеличение»
Как правильно настроить Shared Memory
Настройка блокировки страниц в памяти
Установка флагов запуска MS SQL
Занятие № 9
Настройка регламентных операций MS SQL
Темы занятия:
Регламентные операции СУБД
Обновление статистики базы данных
Зачем проводить дефрагментацию и реиндексацию
Настройка плана обслуживания
Занятие № 10
Настройка хранения файлов базы данных
Темы занятия:
Размещение файлов базы данных на диске
Размещение файлов TempDB на диске
Создание нескольких файлов TempDB
Антирекомендации по настройке хранения
Занятие № 11
Настройка режима Turbo Boost
Темы занятия:
В этом занятии мы рассмотрим параметр Turbo Boost.
Занятие № 12
Регламентные операции 1С
Темы занятия:
Cдвиг границы рассчитанных итогов
Пересчет итогов и его ускорение
Отключение лишнего для ускорения конфигурации
Занятие № 13
Локализация проблемы
Темы занятия:
Схема: возможные узкие места производительности
Код или окружение? Определяем узкое место
Расследуем, проявляется ли проблема только при параллельной работе
Занятие № 14
Работа с замером производительности в конфигураторе
Темы занятия:
Как включить отладку на сервере
Как выполнить анализ замера производительности в Конфигураторе
Занятие № 15
Настройка инструмента Монитор
Темы занятия:
Основные проблемы производительности кода
Описание инструмента Монитор
Скачивание и установка Монитора
Активация Монитора
Настройка мониторинга баз
Занятие № 16
Сбор данных о запросах, блокировках и взаимоблокировках
Темы занятия:
Мониторинг запросов
Настройка мониторинга ожиданий на блокировках и взаимоблокировок
Тестирование работоспособности
Занятие № 17
Подзапросы
Темы занятия:
Оценка необходимости оптимизации
Соединение с подзапросами / виртуальными таблицами
Подзапрос в условии соединения
Подзапросы в условиях и вложенные подзапросы
Занятие № 18
Временные таблицы
Темы занятия:
Использование временных таблиц
Индексация временных таблиц
Быстрый способ создания временной таблицы из подзапроса
Занятие № 19
Пример анализа запроса
Темы занятия:
Анализ запроса в сервисе с контекстом
Анализ запроса в сервисе без контекста
Занятие № 20
Введение в индексы и ускорение индексирования
Темы занятия:
Поиск без индекса в запросе
Пример создания индекса
Пример ускорения реструктуризации (создания индекса)
Несоответствие индексов и условий
Особенности индексации регистров
Индексы в разделенной базе
Поиск без индекса методом Прочитать
Занятие № 21
Условие ИЛИ и производительность
Темы занятия:
Условие ИЛИ для полей одной таблицы
Условие ИЛИ для полей разных таблиц
Занятие № 22
Условия, замедляющие запрос
Темы занятия:
Вычисления и функции дат в условии запроса
Условие ВЫБОР КОГДА
Поиск по части слова (условие ПОДОБНО, НАЧИНАЕТСЯ С)
Сложные условия
Занятие № 23
Грамотное использование условия с НЕ, списков и сортировки
Темы занятия:
Условие НЕ В и его аналог
Условие на вхождение полей в разные списки
Вхождение в список с большим числом элементов
Влияние сортировки на производительность
Занятие № 24
Работа с составным типом данных
Темы занятия:
Разыменование полей составного типа
Оптимизация через регистр данных документов
Условие с разыменованием полей
Условие Поле В (&МассивИзРазныхТипов)
Ограничение на реквизиты поля составного типа в СКД
Смешивание простых и ссылочных типов
Определяемые типы и общие рекомендации
Занятие № 25
Поиск по Ctrl+F и работа с динамическими списками
Темы занятия:
Анализ медленного запроса с CTRL+F
Ускорение поиска в динамических списках по Ctrl+F
Рекомендации по работе с динамическим списком
Занятие № 26
Виртуальные таблицы
Темы занятия:
Фильтрация виртуальных таблиц
Ускорение срезов регистров сведений
Занятие № 27
Другие причины замедления запросов
Темы занятия:
Запросы в цикле
Большой объем выборки данных
Запросы с RLS и возможные обходы
Сложные условия и запросы
Занятие № 28
Внешние причины замедления запросов
Темы занятия:
Ожидание на блокировке
Ожидание оборудования
Занятие № 29
Особенности выполнения и анализа запросов
Темы занятия:
Особенности выполнения пакетных запросов
Что не влияет на производительность запроса?
Методика анализа больших запросов
Занятие № 30
Сводная информация по запросам
Темы занятия:
Алгоритм анализа и список причин медленных запросов
Оптимизация в обход проблемы
Как узнать, кто выполняет долгий запрос
Рекомендации по написанию запросов
Занятие № 31
Основные сведения о блокировках
Темы занятия:
О проблеме ожиданий на блокировках
Основные сведения о блокировках
Схема работы блокировок в 1С и СУБД
Блокировки при записи
Блокировки при чтении и таблица блокировок
Когда блокировки не ставятся
Занятие № 32
Ожидания на блокировках
Темы занятия:
Совместимость блокировок
Условия возникновения ожиданий на блокировках
Где возникают ожидания на блокировках
Избыточные ожидания на блокировках
Понятие таймаута блокировки и его настройка
Занятие № 33
Ожидание из-за блокировки вначале транзакции
Темы занятия:
Разберем, почему установка блокировки в начале транзакции может приводить к замедлению
Занятие № 34
Ожидания на объектных данных и константах
Темы занятия:
Параллельность констант
Ожидания на объектных данных
Занятие № 35
Ожидание на любых объектах из-за запроса в 8.2
Темы занятия:
Схема ожидания из-за запроса
Пример ожидания из-за запроса
Анализ ожиданий из-за запроса
Устранение ожиданий из-за запроса
Принцип работы версионирования в MS SQL
Включение версионирования на 8.2
Занятие № 36
Ожидания на регистрах при удалении набора записей
Темы занятия:
Рассмотрим возможные проблемы параллельности работы при удалении набора записей
Занятие № 37
Ожидания на регистрах накопления и бухгалтерии
Темы занятия:
Параллельность регистра накопления
Анализ ожиданий на регистре накопления
Механизм разделения итогов
Включение разделения итогов
Особенности разделения итогов
Разделение итогов и контроль остатков до записи
Разделение итогов и контроль остатков после записи
Свойство БлокироватьДляИзменения
Ожидания на регистре бухгалтерии
Занятие № 38
Ожидания на регистрах сведений и расчета
Темы занятия:
Параллельность и ожидания на регистре сведений
Параллельность на регистре расчета
Ожидание на регистре расчета из-за платформенного запроса в 8.2
Занятие № 39
Ожидания на последовательности
Темы занятия:
Когда возникают ожидания на последовательности
Что делать с ожиданиями на последовательности
Занятие № 40
Ожидания из-за эскалации
Темы занятия:
Изменение большого числа данных в транзакции
Схема эскалации блокировок СУБД
Анализ и устранение ожиданий из-за эскалации СУБД
Эскалация блокировок 1С
Занятие № 41
Ожидания при обменах на таблицах регистрации изменений
Темы занятия:
Схема ожидания при обменах
Пример ожиданий при обменах
Анализ и устранение ожиданий при обменах
Занятие № 42
Сводная информация по блокировкам
Темы занятия:
Таблица параллельности объектов и причин блокировки
Оптимизация в обход проблемы
Алгоритм анализа ожиданий на блокировках
Занятие № 43
Описание и диагностика взаимоблокировок
Темы занятия:
Описание взаимоблокировки
Быстрая диагностика взаимоблокировок
Занятие № 44
Взаимоблокировка из-за повышения уровня блокировки
Темы занятия:
Схема взаимоблокировки из-за повышения уровня блокировки ресурса
Пример и анализ взаимоблокировки из-за повышения уровня блокировки ресурса 1С
Решение взаимоблокировки из-за повышения уровня блокировки ресурса
Занятие № 45
Взаимоблокировка из-за разного порядка захвата ресурсов
Темы занятия:
Схема взаимоблокировки разного порядка захвата ресурсов
Анализ взаимоблокировок из-за разного порядка
Устранение взаимоблокировок из-за разного порядка
Пример и анализ взаимоблокировки из-за запроса со сканированием в 8.2
Занятие № 46
Сводная информация по взаимоблокировкам
Темы занятия:
Алгоритм анализа взаимоблокировок
Таблица причин взаимоблокировок
Скачать с ОМ
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.