На курсе вы получите систематизированные знания по следующим вопросам:
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. Вводная часть
- Какие знания и навыки дает данный курс
- Почему важно уметь самому проектировать, сопровождать и ускорять крупные системы 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С:Предприятие