<b>Ускорение и оптимизация</b> <br />систем на 1С:Предприятие 8.3

Ускорение и оптимизация систем на 1С:Предприятие 8.3

Подготовка на 1С:Эксперт по технологическим вопросам

Коллеги, мы приняли решение вернуться к модели, которую использовали с 2010 года – проведение курсов в потоках.

Прием новых участников на данный курс приостановлен до открытия нового потока. Анонс будет опубликован в новостях сайта, по срокам пока ориентировать не готовы.

Что реально круто – обеспечить работу 1C на 100-200-500 рабочих мест .

С прямым кодом, быстрыми запросами, распределением нагрузки, преферансом и секретаршами…

В терминах 1С – это 1С:Экcперт по технологическим вопросам…

Самая высшая ступень в иерархии 1С для программиста / разработчика / внедренца.

Специалисты редкие – и дорогие.

Все остальные – в лучшем случае Специалисты / Специалисты-Консультанты.

В общем, оно того стоит…

И вот этому мы обучили уже около 4 200 человек…

Можно остаться читать форумы и надеяться на какую-нибудь прибавку к зарплате в 2019 году…

А можно взяться – и, наконец, изучить эти вещи уже за ближайший месяц-два

В конце концов – кто, кроме нас самих, отвечает за то, что с нами будет в следующем году?

Что мы предлагаем изучить (содержание курса)

Глава 1. APDEX

В процессе оптимизации необходимо регулярно отслеживать скорость работы системы, как системы в целом, так и отдельных операций.

Оптимизация без регулярных замеров – это работа вслепую.

  • рассмотрим способы автоматического замера времени различных операций
  • узнаем, как отслеживать и оценивать производительность системы
  • рассмотрим, как узнавать о проблемах со скоростью, не опрашивая пользователей
Видеоуроки:
  • Методика APDEX
  • Внедрение подсистемы в конфигурацию
  • Настройка ключевых операций
  • Замер времени на клиенте. Замер времени на сервере
  • Возможные ошибки при встраивании замера
  • Обработка «Оценка производительности»
  • Использование подсистемы в типовых конфигурациях
  • Недостатки подсистемы. Ошибки
  • Недостатки подсистемы. Исправление ошибок
  • Регистрация в сервисе. Установка. Настройка
  • Автоматический замер времени проведения документов
  • Замер произвольной операции
  • Регистрация текста запроса
  • Замер времени открытия формы
  • Просмотр данных APDEX
  • Динамика APDEX и отчеты сервиса
  • Отправка данных в сервис по почте
  • Недостатки сервиса APDEX
  • Автоматический расчет целевого времени от обратного
Глава 2. Настройка сервера СУБД

В данной главе мы рассмотрим настройку параметров сервера СУБД (на примере MS SQL Server) для повышения производительности системы.

Видеоуроки:
  • Перенос журнала транзакций на другой диск
  • Перенос базы TempDB на другой диск
  • Параметр «Max degree of parallelism»
  • Настройка авторасширения
  • Настройка Shared Memory
Глава 3. Регламентные операции

Выполнение регламентных операций является обязательным условием для быстрой работы системы.

В данной главе мы рассмотрим, какие регламентные задания необходимо выполнять на СУБД и на 1С, как и с какой периодичностью это нужно делать.

Кроме того, будет рассмотрен процесс настройки уведомлений о выполнении регламентных операций.

Видеоуроки:
  • Основные регламентные операции
  • Настройка регламентной операции обновления статистики
  • Настройка регламентной операции дефрагментации/реиндексации
  • Перенос плана обслуживания
  • Оповещения по e-mail
  • Возможные проблемы при настройке оповещений
  • Установка границы рассчитанных итогов в режиме 1С:Предприятие
  • Установка границы рассчитанных итогов с помощью встроенного языка
  • Пересчет итогов
  • Тестирование и исправление
Глава 4. Мониторинг загруженности оборудования

В процессе эксплуатации системы необходимо регулярно следить за тем, насколько сильно загружено оборудование.

В данной главе мы разберем, как можно отслеживать загруженность оборудования для ОС Windows и для Linux и как оценивать собранные данные.

Рассмотрим также, на что обращать внимание при анализе и как сделать сбор данных о загруженности оборудования автоматическим даже в случае перезагрузки сервера.

Видеоуроки:
  • Мониторинг производительности оборудования
  • Добавление счетчиков вручную
  • Добавление счетчиков шаблоном
  • Добавление счетчиков bat файлом
  • Настройка группы сборщиков данных
  • Настройка автозапуска после перезагрузки
  • Просмотр и анализ графиков загруженности оборудования
  • Пример анализа
  • Просмотр дисковой активности
  • Сравнение производительности разных дисков
  • Сравнение производительности 1С в разных условиях
  • Рекомендации по оборудованию
Глава 5. Расследование причин медленной работы

В данной главе мы узнаем, как понять, почему система работает медленно.

Разберем как платные, так и бесплатные инструменты анализа производительности.

Подробно рассмотрим настройку и использование данных инструментов и на примерах разберем, как проявляют себя различные типы проблем производительности.

После изучения данной главы Вы научитесь точно определять причины, которые приводят к замедлению.

Видеоуроки:
  • Принципы расследования проблем производительности
  • Включение отладки на сервере
  • Замер производительности
  • Подготовка к настройке ЦУП
  • Настройка прав для каталогов
  • Настройка разрешений для СУБД
  • Мастер настройки ЦУП
  • Шаги «Центральный сервер», «COM-Соединитель», «Кластер», «Информационная база»
  • Шаги «Типы показателей», «Показатели 1С:Предприятия», «Показатели ОС»
  • Шаг «Технологический журнал»
  • Шаг «Трассировки»
  • Шаг «Сервер COM-Соединитель»
  • Шаг «Сервер ЦУП (Трассировки)»
  • Сценарий «Мониторинг»
  • Сценарий «Просмотр»
  • Создание собственных сценариев
  • Сценарий «Регламентный мониторинг»
  • Оперативные показатели
  • Аналитические показатели
  • Сбор и анализ оперативных показателей
  • Проверка работоспособности ЦУП
  • Формирование логов при отключенном ЦУП
  • Сервис анализа неоптимальных запросов
  • Сбор и анализ данных с помощью сервиса
  • Сервис анализа ожиданий на блокировках
  • Сервис анализа событий технологического журнала
  • Подключение сервисов через тонкий клиент
  • Ошибка SHOWPLAN permission denied
Глава 6. Неоптимальные запросы

Неоптимальные запросы являются наиболее частой причиной медленной работы системы.

В данной главе мы узнаем основные причины медленной работы запроса, научимся читать и понимать планы запросов, будем учится определять, почему запрос работает медленно, и как это исправить.

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

Видеоуроки:
  • Хранение объектов метаданных и временных таблиц
  • Свойство «Индексировать»
  • Индексировать с дополнительным упорядочиванием
  • Создание индекса для первого измерения
  • Свойство «Ведущее»
  • Создание индексов через Management Studio
  • Просмотр плана запроса в SQL Profiler
  • Просмотр плана запроса в консоли запросов
  • Операторы Table Scan
  • Операторы Clustered Index Scan
  • Операторы Index Scan
  • Операторы Constant Scan
  • Операторы Index Seek
  • Операторы Clustered Index Seek
  • Оператор Sort
  • Оператор Compute Scalar
  • Операторы соединения Nested Loops
  • Операторы соединения Merge Join
  • Операторы соединения Hash Join
  • Логические и физические операторы
  • Логический оператор Semi Join
  • Отображение плана запроса
  • Порядок выполнения операторов
  • Стоимость операторов и плана запроса
  • Основные свойства операторов
  • Чтение графического плана запроса и текстового плана
  • Чтение плана запроса с разыменованием полей
  • Чтение плана с соединением нескольких таблиц
  • Чтение плана с составным типом
  • Чтение плана с TOP и Nested Loops
  • Предварительная оптимизация запроса
  • Признаки неоптимального плана Nested Loops
  • Признаки неоптимального плана Scan
  • Признаки неоптимального плана Seek… Where
  • Признаки неоптимального плана Hash Aggregate
  • Признаки неоптимального плана Key Lookup
  • Признаки неоптимального плана Table Spool
  • Порядок анализа плана запроса
  • Невыполнение регламентных операций
  • Соединение с подзапросами
  • Использование временных таблиц, индексация временных таблиц
  • Соединение с виртуальными таблицами
  • Подзапрос в условии соединения
  • Подзапросы в условиях и вложенные подзапросы
  • Несоответствие индексов и условий. Регистр накопления
  • Условия, не позволяющие использовать индекс. ИЛИ
  • Условия, не позволяющие использовать индекс. Вычисление
  • Условия, не позволяющие использовать индекс. НЕ В
  • Условия, не позволяющие использовать индекс. Функции
  • Условия, не позволяющие использовать индекс. Вхождение полей в разные списки
  • Условия, не позволяющие использовать индекс. Вхождение в список с большим числом элементов
  • Непокрывающие индексы
  • Покрывающий индекс с доп. упорядочиванием
  • Селективность
  • Определение недостающих индексов
  • Сортировка по полю, которое не входит в индекс
  • Выбрать первые и сортировка
  • Когда сортировка не влияет на производительность
  • Внутреннее устройство полей составного типа
  • Неявное образование полей составного типа
  • Обращение к реквизитам поля составного типа
  • Смешивание простых и ссылочных типов
  • Минимум и максимум от полей составного типа
  • Составной тип и RLS
  • Определяемые типы
  • Фильтрация виртуальных таблиц
  • Запрос в цикле. НайтиПо.
  • Запрос в цикле. Обращение к реквизитам
  • Запрос в цикле. Вывод ссылки на экран
  • Запрос в цикле. Коррелированные запросы
  • Запрос в цикле. Намеренное использование
  • Большой объем выборки данных
  • Обращение к полю через несколько точек
  • Получение ссылки от поля ссылочного типа
  • Объединить и Объединить все
  • Запросы с RLS
  • Универсальные запросы
  • Особенности работы с виртуальной таблицей остатков
  • Особенности работы с виртуальной таблицей среза
  • Особенности выполнения пакетных запросов
  • Особенности объектного чтения данных
  • Анализ больших запросов
  • Анализ запросов СКД
  • Методы запроса Выполнить
  • Методы запроса Выбрать
  • Методы запроса Выгрузить
  • Как выполнить запрос «как в первый раз»
  • Хранение временных таблиц
  • Сжатие базы TempDB
  • Кто сейчас выполняет долгий запрос
  • Что не влияет на производительность запроса
  • Рекомендации по написанию запросов
  • Анализ с помощью сервиса. Запросы без контекста
  • Анализ с помощью сервиса. Запросы с контекстом
  • Анализ с помощью ЦУП. Настройка и сбор данных. Анализ
  • Анализ с помощью SQL Profiler
  • Сохранение трассировки в таблицу
  • Шаблоны SQL Profiler
  • Сопоставление плана и текста запроса в SQL Profiler
  • Сохранение трассировки в файл
  • Ошибка Trace skipped records
  • Различные события SQL Profiler
  • Анализ запроса с помощью технологического журнала
  • Анализ неоптимального запроса. Примеры 1 – 5
Глава 7. Ожидания на блокировках

В многопользовательской системе часто возникают излишние ожидания на блокировках, что снижает параллельность работы пользователей.

В данной главе Вы узнаете, что такое блокировки, зачем они нужны и как работают.

Вы научитесь отличать избыточные блокировки от необходимых, узнаете основные причины избыточных блокировок и способы их устранения.

Видеоуроки:
  • Обработка исключений в транзакциях. Примеры 1 – 6
  • Пессимистическая объектная блокировка
  • Оптимистическая объектная блокировка
  • Объектные блокировки и защита данных в СУБД
  • Пример установки X блокировки
  • Пример установки S блокировки
  • Пример установки U блокировки
  • Какие объекты блокируются
  • Read uncommitted
  • Read committed
  • Read committed snapshot
  • Repeatable read
  • Serializable
  • Режимы блокировок в 1С
  • Управляемые блокировки
  • Пример неявной управляемой блокировки
  • Пример явной управляемой блокировки
  • Автоматический режим блокировок
  • Неоптимальная работа запроса. Пример
  • Методические ошибки: Константы
  • Методические ошибки: Последовательность
  • Методические ошибки: Регистр накопления запись задним числом
  • Методические ошибки: Регистр накопления разделение итогов
  • Методические ошибки: Регистр бухгалтерии
  • Механизм разделения итогов. Особенности использования
  • Разделение итогов в автоматическом режиме
  • Старая методика контроля остатков
  • Новая методика контроля остатков
  • БлокироватьДляИзменения и 8.2
  • БлокироватьДляИзменения и 8.3
  • Дополнение по свойству «БлокироватьДляИзменения»
  • Новая методика и партионный учет
  • Режим удаления «Не удалять автоматически»
  • Режим удаления «Удалять автоматически»
  • Режим удаления «Удалять автоматически при отмене проведения»
  • Оптимизация при перепроведении
  • Выгрузка изменений по плану обмена
  • Изменение большого числа данных в транзакции
  • Эскалация блокировок СУБД
  • Событие Lock:Escalation
  • Эскалация блокировок 1С
  • ЦУП. Сбор данных для анализа
  • ЦУП. Анализ блокировок. Примеры 1 и 2.
  • ЦУП. Анализ блокировок. Проверка оптимизации
  • ЦУП. Анализ блокировок СУБД. Воспроизведение
  • ЦУП. Анализ блокировок СУБД. Расследование
  • ЦУП. Анализ блокировок. Пример 3
  • Сервис. Сбор и выгрузка данных
  • Сервис. Анализ управляемых блокировок
  • Сервис. Анализ блокировок СУБД
  • Сервис. Анализ ожиданий. Примеры 1, 2
  • Анализ блокировок с помощью консоли кластера
  • Анализ блокировок с помощью монитора активности
  • Анализ блокировок. Sys.dm_tran_locks
  • Обработка отображения текущих блокировок MS SQL
  • Выводы по выполнению анализа блокировок
Глава 8. Взаимоблокировки

В данной главе мы разберем основные типы взаимных блокировок, как и почему они появляются.

Рассмотрим на примерах, как их можно зафиксировать, проанализировать и устранить.

Видеоуроки:
  • Повышение режима блокировки ресурса. Примеры 1 – 3
  • Повышение режима блокировки ресурса. Решение
  • Захват ресурсов в разном порядке. Воспроизведение
  • Захват ресурсов в разном порядке. Решение
  • БлокироватьДляИзменения
  • Взаимоблокировка из-за запроса со сканированием
  • Взаимоблокировка из-за распараллеливания
  • Взаимоблокировка из-за эскалации
  • Распределенная взаимоблокировка. Схема
  • Распределенная взаимоблокировка. Пример
  • Сервис анализа взаимоблокировок. Установка и настройка
  • Сервис анализа взаимоблокировок. Воспроизведение и выгрузка
  • Повышение режима блокировки ресурса. Пример 3
  • ЦУП. Воспроизведение и сбор данных о взаимоблокировках
  • ЦУП. Анализ взаимоблокировок
  • Анализ взаимоблокировок на блокировках 1С
  • Сервис. Ошибки при анализе
  • Пример взаимоблокировки из-за разделителя
  • Пример взаимоблокировки из-за сканирования
  • Пример взаимоблокировки из-за разного порядка захвата ресурсов
Глава 9. Приемы ускорения различных операций

Иногда встречаются операции, которые нельзя ускорить оптимизацией запроса или устранением излишних блокировок.

В данной главе мы рассмотрим несколько таких операций и способы их ускорения, в том числе с помощью распараллеливания.

Видеоуроки:
  • Алгоритм многопоточной обработки данных
  • Анализ результатов обработки в несколько потоков
  • Способы ускорения записи в регистры
  • Ускорение записи в регистры
  • Динамические списки. Опция «Динамическое считывание» включена
  • Динамические списки. Опция «Динамическое считывание» отключена
  • Динамическое считывание данных при неуказанной основной таблице
  • Общие рекомендации по работе с динамическими списками
Глава 10. Нагрузочное тестирование и оборудование

В данной главе мы рассмотрим процесс подготовки и проведения нагрузочного тестирования.

Мы узнаем, как написать тест и провести тестирование с помощью конфигурации Тест–Центр и как можно работать с автоматизированным тестированием.

Также мы рассмотрим вопросы выбора оборудования на основе результатов теста.

Видеоуроки:
  • Методика нагрузочного тестирования
  • Объединение конфигурации с Тест-Центр
  • Пример простого теста. Создание обработки
  • Пример простого теста. Создание сценария
  • Пример простого теста. Запуск сценария
  • Встраивание замеров
  • Отладка виртуальных пользователей
  • Автоматизированное тестирование. Создание сценария вручную
  • Автоматизированное тестирование. Упрощение сценария
  • Запись действий пользователя
  • Создание сценария по записанным действиям
  • Выполнение записанного сценария
  • Сценарий с двумя клиентами тестирования
Глава 11. Кластер серверов

В этой главе мы узнаем о том, как устроен кластер серверов 1С и как его настроить для повышения производительности и стабильности работы системы.

Рассматриваются настройки как для версии 8.3, так и для 8.2.

Видеоуроки:
  • Кластер серверов
  • Версия 8.2. Настройки кластера. Порт
  • Версия 8.2. Настройки кластера. Защищенное соединение
  • Версия 8.2. Настройки кластера. Интервал перезапуска
  • Версия 8.2. Настройки кластера. Ограничение по памяти
  • Версия 8.2. Настройки кластера. Выключенные процессы
  • Версия 8.2. Рабочий сервер создание и настройка
  • Версия 8.2. Создание рабочего процесса
  • Версия 8.2. Распределение нагрузки по процессам
  • Версия 8.2. Распределение нагрузки по серверам
  • Версия 8.2. Перенос сервисов
  • Версия 8.2. Отказоустойчивость rphost
  • Версия 8.2. Отказоустойчивость rmngr
  • Версия 8.2. Отказоустойчивость ragent
  • Версия 8.2. Использовать как резервный
  • Версия 8.2. Отказоустойчивость рабочего сервера. Схема
  • Версия 8.2. Отказоустойчивость рабочего сервера. Пример
  • Версия 8.2. Отказоустойчивость центрального сервера. Схема
  • Версия 8.2. Отказоустойчивость рабочего сервера. Пример
  • Версия 8.2. Резервирование кластеров. Схема
  • Версия 8.2. Резервирование кластеров. Пример
  • Версия 8.2. Резервирование кластеров. Особенности
  • Версия 8.2. Рабочий сервер в роли резервного. Схема
  • Версия 8.2. Рабочий сервер в роли резервного. Пример
  • Версия 8.3. Настройки кластера
  • Версия 8.3. Максимальный объем памяти рабочих процессов
  • Версия 8.3. Безопасный расход памяти за один вызов
  • Версия 8.3. Объем памяти, до которого сервер считается производительным
  • Версия 8.3. Регулировка числа рабочих процессов
  • Версия 8.3. Менеджер под каждый сервис
  • Версия 8.3. Центральный сервер
  • Версия 8.3. Требования назначения функциональности
  • Версия 8.3. Обслуживание базы на отдельном сервере
  • Версия 8.3. Фоновые задания на отдельном сервере
  • Версия 8.3. Распределение клиентов по рабочим процессам
  • Версия 8.3. Центральные серверы
  • Версия 8.3. Центральные серверы и отказоустойчивость
  • Версия 8.3. Центральные серверы и отказоустойчивость. Пример
  • Версия 8.3. Уровень отказоустойчивости
  • Версия 8.3. Отказоустойчивость. Ситуация 1
  • Версия 8.3. Отказоустойчивость. Ситуация 1. Пример
  • Версия 8.3. Отказоустойчивость. Ситуация 2
  • Версия 8.3. Отказоустойчивость. Ситуация 2. Пример
  • Версия 8.3. Отказоустойчивость. Ситуация 2. Пример 2
  • Версия 8.3. Отказоустойчивость. Ситуация 3
  • Версия 8.3. Расчет уровня отказоустойчивости
  • Версия 8.3. Влияние отказоустойчивости на производительность
  • Версия 8.3. Связь УО и требований назначения функциональности
  • Версия 8.3. Минусы механизма отказоустойчивости
  • Отличия в механизме лицензирования 8.2 и 8.3
  • Рекомендации по общей архитектуре
Глава 12. Технологический журнал

Технологический журнал является основным источником информации при анализе проблем производительности и стабильности.

В данной главе мы узнаем, как можно тонко настраивать технологический журнал, какие данные он собирает.

Рассмотрим, как можно использовать технологический журнал для решения проблем производительности и какие ошибки чаще всего допускают при использовании технологического журнала.

Видеоуроки:
  • Описание и назначение технологического журнала
  • Включение ТЖ
  • Ошибки при настройке ТЖ
  • Структура логов
  • Свойства событий
  • Фильтрация по событиям
  • Фильтрация по свойствам
  • Условия фильтрации
  • Комбинация фильтров
  • Запись в разные каталоги
  • Получение плана запроса
  • Отличия ТЖ 8.2 и 8.3
  • Обработка настройки ТЖ
  • Влияние на производительность
  • Сбор ТЖ на клиенте
  • Анализ ожиданий на управляемых блокировках
  • Анализ взаимоблокировки на блокировках 1С
Глава 13. Расследование проблем стабильности

Многие специалисты часто сталкиваются не только с проблемами производительности, но и проблемами стабильности работы.

В данной главе мы рассмотрим, как можно расследовать «падения» и «зависания» сервера 1С, а также утечки памяти и другие всевозможные ошибки.

Видеоуроки:
  • Дампы
  • Расследование падений
  • Расследование падений с помощью 1С
  • ЦКТП
  • Расследование зависаний
  • Утечки памяти
  • Выявление утечек памяти
  • Определение базы с утечками памяти
  • Расследование утечек с помощью ТЖ
  • Расследование утечек памяти. Дампы
  • Рабочий процесс занял много памяти. Версия 8.2
  • Проблемы стабильности
Глава 14. Резервное копирование

В данной главе мы узнаем, как сделать собственную стратегию резервного копирования.

Мы рассмотрим различные типы бэкапов, научимся восстанавливать базу на определенный момент времени, узнаем, как автоматизировать процесс создания резервных копий.

Видеоуроки:
  • Резервное копирование
  • Основные настройки резервного копирования
  • Создание полного бэкапа интерактивно
  • Восстановление из полного бэкапа
  • Сжатие бэкапов
  • Создание бэкапа с помощью скрипта
  • Создание разностного бэкапа
  • Восстановление из разностного бэкапа
  • Создание второго разностного бэкапа
  • Создание бэкапа лога
  • Восстановление бэкапа лога
  • Создание цепочки журналов транзакций
  • Бэкап конечного фрагмента
  • Стратегия резервного копирования
  • Автоматизация создания бэкапов
Глава 15. Подготовка к аттестации 1С:Эксперт

В данной главе мы узнаем о том, как проходит экзамен, на что нужно обратить внимание при подготовке и какие источники информации рекомендуется прочитать перед экзаменом.

Также мы рассмотрим примеры задач которые решаются на тренинге 1С:Эксперт.

Видеоуроки:
  • Неоптимальные запросы при проведении
  • Ожидания на блокировках. Сценарий
  • Ожидания на блокировках. Воспроизведение
  • Ожидания на блокировках. Анализ
  • Ожидания на блокировках. Проверка оптимизации
  • Взаимоблокировки. Сценарий
  • Взаимоблокировки. Воспроизведение
  • Взаимоблокировки. Анализ и оптимизация
  • Взаимоблокировки. Проверка оптимизации
  • Дополнительные вопросы и литература для подготовки к экзамену
Глава 16. Полезная информация по оптимизации

В данной главе описаны различные скрипты MS SQL Server, которые в некоторых случаях могут быть очень полезны при расследовании проблем производительности.

Полезные скрипты и динамические представления

Глава 17. Работа с PostgreSQL

В данной главе рассматриваются основы работы и настройки СУБД PostgreSQL.

В частности, разберем средства диагностики и получения планов запросов, способы резервного копирования, а также другие нюансы работы с PostgreSQL.

Видеоуроки:
  • Установка PostgreSQL на Windows
  • Создание базы из 1С
  • Использование pgbadger
  • Как получить план запроса на PostgreSQL
  • Копия через выгрузку в SQL
  • Восстановление из копии через psql
  • Настройка для архивирования
  • Подготовка к созданию базовой копии
  • Создание базовой копии
  • Восстановление из копии
Глава 18. Работа с Linux

В этой главе рассматриваются основы работы с Linux, основные команды и работа с регулярными выражениями.

Кроме того, данная глава включает в себя примеры анализа логов с помощью различных команд.

📎📎📎📎📎📎📎📎📎📎