На курсе Вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей).
Системные требования для курса:
Не менее 25 Гб свободного места для возможности развернуть тестовую базу
8 Гб ОЗУ
CPU Core i5 (4 ядра) или выше
Требуемое ПО:
ОС Windows 7 и выше, либо Windows Sever 2008 R2 и выше
Клиент-серверная версия 1С:Предприятие 8.3 (32х или 64х, сервер+клиентская часть)
MS SQL Server 2012 или выше, версия Developer Edition или выше. Должны быть установлены Management Studio и Profiler.
MS Excel
NotePad++
Развернута и подключена в клиент-серверном варианте база Test1CProf (актуальную ссылку на dt-файл базы уточнить у организаторов). Объем тестовой базы в развернутом виде – 18 Гб
В базе Test1CProf должен быть заблокирован запуск регламентных заданий
Должны быть права для создания базы в клиент-серверном варианте, перезапуска служб: логин/пароль администратора кластера, пароль для sa, пароль для запуска службы сервера 1С:Предприятие и MS SQL
Дополнительное ПО и оборудование (рекомендуется):
Два монитора – для просмотра тренинга и выполнения практических задач
Установленный "1С:Центр управления производительностью"
Установленный Linux Ubuntu актуальной версии (Можно установить Linux на бесплатную среду виртуализации Oracle Virtual Box)
Установленный Git Bash или Cygwin
На курсе вы получите систематизированные знания по следующим вопросам:
1. Вводная часть
- Какие знания и навыки дает данный курс
- Почему важно уметь самому проектировать, сопровождать и ускорять крупные системы 1С, а не надеятся на других
- Что дает сертификат 1С:Эксперт его обладателю
- Полезные материалы для подготовки к экзамену и просто повышения своего уровня
2. Как объективно оценить, насколько быстро работает система
- Что такое индекс производительности (Apdex)
- Типовые средства БСП для вычисления индекса производительности
- Экспорт Apdex в другие системы
- Как быстро составить список ключевых операций и целевое время
- Как Apdex помогает при оптимизации производительности
Пример с реального проекта
3. Общие подходы к анализу производительности
- С чего начать
- Какие методики в каком случае применимы
- Ускорение единичной операции (документ, отчет)
- Штатный замер производительности: подводные камни, когда замера достаточно, а когда нет
- Ускорение целой системы: инструменты, подходы, подводные камни
- Различие в методиках ускорения отдельных операций и целой системы, типичные ошибки новичков
- Как из отдельных кусков собрать общую картину - что происходит с системой
4. Производительность оборудования
- Счетчики производительности железа на Windows и их расшифровка
- Интерактивная задача: настройка и использование инструментов анализа загрузки железа на Windows
- Интерактивная задача: использование команд Linux для оценки загрузки железа
- Счетчики производительности MS SQL Server и их расшифровка
- Интерактивная задача: настройка и использование инструментов для анализа загрузки MS SQL
- Как узнать, кто нагружает CPU, диски и неэффективно использует память на сервере СУБД
- Как узнать, кто нагружает CPU, диски и неэффективно использует память на сервере 1С:Предприятие
- Счетчики виртуальной машины на примере VMWare
- Особенности эксплутации виртуальных машин на примере VMWare
- В каких случаях апгрейд оборудования целесообразен
- Влияение настроек энергосбережения на производительность
- Экзотические случаи повышенной загрузки оборудования с реальных систем
- Пример расследования проблем производительности с реальной системы
5. Индексы для повышения производительности
- Что такое индекс базы данных
- Когда индексы ускоряют выполнение запросов и почему
- Какие индексы бывают и какие поддерживает платформа 1С
- Чем хорош кластерный индекс
- Преимущества покрывающего индекса
- Когда индексы бесполезны
- Рекомендации по индексированию и почему оптимизатор запросов может принять решение, отличное от вашего
- Интерактивная задача по использованию индексов
- Как узнать каких индексов не хватает
- Как узнать, какие индексы лишние
- Особенности индексов, создаваемых платформой. Подводные камни.
- Почему фрагментация индексов снижает производительность и как ее устранить
6. Как получить информацию о запросах, которые выполняет 1С
- Технологический журнал
- Трассировка
- Системы мониторинга на примере "1С:Центр управления производительностью"
- Что такое план запроса и как его получить с помощью трассировки, ТЖ и ЦУП
7. Технологический журнал 1С
- Как настроить технологический журнал 1С (ТЖ)
- Полезные настройки технологического журнала (ТЖ)
- Как анализировать логи ТЖ: приемы и методики
- Регулярные выражения для анализа логов или почему вы начнете отвыкать от систем мониторинга
- Нормализация запросов из ТЖ
- Разбор нескольких скриптов для анализа ТЖ (исключительные ситуации, серверные вызовы, долгие запросы)
- Как ТЖ влияет на производительность, особенности сбора и анализа ТЖ на больших системах
- Примеры расследования проблем с реальных проектов: анализируем ТЖ быстро и бесплатно
8. Трассировка запросов и DMV для анализа запросов
- Как получить трассировку в MS SQL Server
- Как анализировать трассировку
- Методики анализа трассировки
- Как найти в коде 1С запрос из трассировки
- Нормализация запросов из трассировки
- Примеры использования DMV для получения информации о запросах
- Как настроить логи Postgres для сбора информации о выполняющихся запросах
- Влияние трассировки на производительность
- Примеры расследования проблем с реальных проектов с помощью трассировки
- Интерактивная задача: настройка трассировки для MS SQL Server
- Интерактивная задача: настройка логов Postrges для сбора информации о запросах
9. План запроса
- Зачем нужен план запроса
- Какие бывают планы запроса
- Как получить план запроса в MS SQL Server и Postgres
- Основные операторы плана запроса на примере MS SQL Server
- Признаки неоптимальных планов
- Влияние статистики СУБД на качество плана запроса
- Обновление статистики СУБД для MS SQL Server и Postgres
- Параллелизм в MS SQL Server и Postgres: влияние на производительность и подводные камни
- Интерактивная задача: разбор планов запроса с реальных крупных (высоконагруженных) систем 1С
10. Как писать запросы, которые работают быстро
- Типичные причины неоптимальной работы запросов
- Приемы оптимизации запросов
- Особенности оптимизации запросов для крупных (высоконагруженных) систем 1С
- Разбор скрипта для анализа ТЖ для поиска запросов, больше всего нагружающих систему
- Обзор возможностей "1С: Центр управления производительностью" (ЦУП) для анализа запросов
11. Практическая задача (сквозной пример):
- анализ загруженности оборудования и MS SQL Server
- поиск несколькими способами и оптимизация запроса, больше всего нагружающего систему
12. Интерактивная задача: анализ неоптимального запроса
13. Транзакции в 1С
- Что такое транзакция
- Как начать транзакцию в 1С явно
- Примеры, когда платформа неявно начинает транзакцию
- Что подразумевается под утверждением "1С не поддерживает вложенные транзакции"
- Свойства транзакции и их расшифровка
- Защита от грязного чтения в СУБД - "блокировочнике" и СУБД - "версионнике"
- Каким образом реализован механизм MVCC в MS SQL Server, Postgres и Oracle
- Для чего нужны уровни изоляции и блокировки
- Уровни изоляции в разных версиях платформы 1С
- Как узнать, что действие выполняется в транзакции
14. Лог транзакций MS SQL и WAL для Postgres, бекапы и отказоустойчивость СУБД
- Для чего нужен лог транзакций MS SQL и WAL для Postgres
- Модель восстановления базы MS SQL Server
- Настройки для WAL Postgres, влияющие на производительность и надежность
- Особенности резервного копирования (backup) для разных моделей восстановления базы MS SQL Server
- Особенности резервного копирования (backup) для Postgres
15. Транзакционные блокировки
- Когда блокировка оправдана, а когда считается избыточной
- Отличие таймаута на блокировке и дедлока
- Что такое автоматический и управляемый режим блокировок
- Почему не нужен "Автоматический и управляемый" режим блокировок или как быстро перевести конфигурацию на управляемые блокировки
- Совместимость блокировок MS SQL Server и управляемых блокировок 1С
- Конфликты на управляемых блокировках 1С: как воспроизвести и как расследовать
- Конфликты на блокировках MS SQL Server: как воспроизвести и как расследовать
- Блокировки в Postgres
- Все способы, как узнать, кто кого заблокировал и найти причину
- Интерактивная задача: типичные ошибки при разработке, приводящие к конфликтам блокировок и как их избежать
- Обзор возможностей "1С: Центр управления производительностью" (ЦУП) для анализа конфликтов блокировок
- Практическая задача: расследование таймаута и дедлока с помощью "1С: Центр управления производительностью" (ЦУП)
- Интерактивная задача: разбор причин конфликтов блокировок с реальной системы 1С
16. Другие виды блокировок
- Объектные блокировки
- Латчи (PAGELATCH, PAGEIOLATCH)
17. Как повысить надежность работы кластера 1С
- Возможности кластера 1С для распределения нагрузки
- Возможности кластера 1С для защиты от чрезмерного потребления памяти процессом кластера
- Возможности кластера 1С для защиты от чрезмерного потребления памяти и CPU серверным вызовом
- Система мониторинга кластера 1С
- Сеансы и соединения для тонкого и толстого клиента
18. Лицензии 1С
- Типичные проблемы с аппаратными ключами 1С и способы их решения
- Особенности эксплуатации программных лицензий 1С
19. Нагрузочное тестирование
- Для чего нужно нагрузочное тестирование и чем оно отличается от функционального
- Что такое реалистичный нагрузочный тест
- Обзор возможностей конфигурации "1С: Тест центр"
- Пример простого нагрузочного теста
- Особенности подготовки, разработки и запуска больших нагрузочных тестов (до нескольких тысяч пользователей)
- Как найти оборудование для тестирования, лицензии для системного ПО и платформы 1С:Предприятие
Эксперт по высоконагруженным системам. Ведущий эксперт на проектах по запуску 1С на 5 и 10 тыс. пользователей в единой базе. Принимает экзамен "1С: Эксперт"
У данного курса на данный момент нет отзывов