На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей).
Системные требования для курса:
Минимальный список ПО для выполнения практических задач. Если Вы не планируете выполнять практические задачи, наличие данного ПО не обязательно:
В базе Test1CProf должен быть заблокирован запуск регламентных заданий
Рекомендуются права для создания тестовой базы в клиент-серверном варианте, перезапуска служб на тестовой машине, входа в тестовый кластер 1С, оснастки PG Admin, Management studio
Дополнительное ПО и оборудование для практических задач (рекомендуется, но не обязательно):
Можно использовать подсистему Linux для Windows
Можно установить Linux на бесплатную среду виртуализации Oracle Virtual Box
В Linux должны быть утилиты/пакеты: atop, sysstat, mc
Допустима установка Postgres как на Linux, так и на Windows
1. Вводная часть
- Какие знания и навыки дает данный курс.
- Что дает сертификат 1С:Эксперт его обладателю.
- Карьера специалистов, получивших сертификат 1С:Эксперт.
- Навыки 1С:Эксперта для проектирования, разработки, сопровождения и ускорения крупных систем 1С.
- Внедрения в КОРП-сегменте, большие базы, высокая нагрузка: почему здесь никак без 1С:Эксперта.
- Архитектор программного обеспечения: зачем ему знания 1С:Эксперта.
- Полезные материалы для подготовки к экзамену и просто повышения своего уровня.
2. Производительность глазами ИТ-менеджера (Руководитель проектов, Директор ИТ):
- Легко сказать, непросто сделать: полноценный тюнинг или просто набор рекомендаций?
- Настройки.
- Вертикальное масштабирование: подбор оборудования, очевидные моменты при апгрейде.
- Горизонтальное масштабирование: кластеризация, сплит базы.
3. Обзор средств и методик мониторинга и расследования проблем производительности и стабильности.
4. Как объективно оценить, насколько быстро работает система:
- Что такое индекс производительности (Apdex).
- Типовые средства БСП для вычисления индекса производительности.
- Как быстро составить список ключевых операций и целевое время.
- Apdex и SLA для ежедневного мониторинга.
- Apdex для проекта по нагрузочному тестированию.
- Apdex для проекта по оптимизации: методика ЦКТП для ускорения 1С.
- Обратный Apdex, DeltaApdex.
- Как по Apdex понять, насколько можно увеличить скорость работы.
- Примеры с реальных проектов.
5. Когда уже тормозит:
- С чего начать расследование.
- Когда целесообразно ускорение единичной операции.
- Штатный замер производительности: когда применим и подводные камни.
- Когда замера недостаточно: скорость скрытых действий платформы 1С.
- Когда замера недостаточно: время на взаимодействие «клиент-сервер».
- Оптимизация клиент-серверного взаимодействия.
- Когда необходим поиск и устранение узких мест всей системы.
- Ускорение целой системы: инструменты, подходы, подводные камни.
- Различие в методиках ускорения отдельных операций и целой системы, типичные ошибки новичков.
- Как из отдельных кусков собрать общую картину – что происходит с системой.
6. Производительность оборудования:
- Счетчики производительности железа на Windows и их расшифровка.
- Интерактивная задача: настройка анализа загрузки железа на Windows.
- Мониторинг железа на Linux.
- Счетчики производительности MS SQL Server и их расшифровка.
- Как узнать, кто нагружает CPU, диски и неэффективно использует память на сервере «1С:Предприятие».
- Утечки памяти и прожорливые вызовы сервера: как различить и как расследовать.
- Как узнать, кто нагружает CPU, диски и неэффективно использует память на сервере СУБД.
- Счетчики виртуальной машины на примере VMWare.
- Особенности эксплуатации виртуальных машин на примере VMWare.
- Чек-листы по настройке продуктивного контура для максимальной производительности.
7. Средства диагностики 1С и СУБД:
- Технологический журнал (ТЖ).
- Практическая задача по настройке ТЖ и расследованию проблемы с помощью ТЖ.
- Динамические представления для MS SQL и Postgres.
- Трассировка Extended Events.
- Нормализация запросов из трассировки или ТЖ.
- Как из трассировки или DMV найти запрос в коде конфигурации 1С.
- Практическая задача по настройке трассировки и расследованию проблемы с помощью трассировки.
- Как настроить логи Postgres для сбора информации о выполняющихся запросах.
- В каких случаях ТЖ и трассировка влияют на производительность.
- 1С:Центр управления производительностью.
8. Проектируем, чтобы работало быстро: индексы базы данных:
- Что такое индекс базы данных.
- Когда индексы ускоряют выполнение запросов и почему.
- Какие индексы бывают и какие поддерживает платформа 1С.
- Чем хорош кластерный индекс.
- Преимущества покрывающего индекса.
- Когда индексы бесполезны.
- Рекомендации по индексированию, почему оптимизатор запросов может принять решение, отличное от вашего.
- Интерактивная задача по использованию индексов.
- Как узнать, каких индексов не хватает.
- Как узнать, какие индексы лишние.
- Особенности индексов, создаваемых платформой. Подводные камни.
9. Анализируем работу запроса: план запроса:
- Зачем нужен план запроса.
- Какие бывают планы запроса.
- Как получить план запроса в MS SQL Server и Postgres.
- Основные операторы плана запроса: сравнение для MS SQL Server и Postgres.
- Признаки неоптимальных планов: разбор нескольких планов с реальных проектов.
- Влияние статистики СУБД на качество плана запроса.
- Параллелизм в MS SQL Server и Postgres: влияние на производительность и подводные камни.
10. Сопровождаем, чтобы работало быстро: обслуживание индексов и статистики для MS SQL Server и Postgres:
- Как MS SQL Server и Postgres автоматически обновляют статистику, и когда ее нужно обновлять дополнительно.
- Практическая задача: настройка плана обслуживания индексов и статистики для небольших баз на примере MS SQL Server.
- Обслуживание больших баз и баз 24/7 на примере MS SQL Server.
- Обслуживание баз Postgres.
11. Пишем запросы, которые работают быстро:
- Рекомендации по написанию запросов.
- Типичные причины неоптимальной работы запросов.
- Приемы оптимизации запросов.
- Особенности разработки запросов для крупных (высоконагруженных) систем 1С.
12. Транзакции с точки зрения 1С и СУБД:
- Что такое транзакция.
- Как начать транзакцию в 1С явно.
- Примеры, когда платформа неявно начинает транзакцию.
- Неявные транзакции для СУБД на примере MS SQL Server.
- Что подразумевается под утверждением «1С не поддерживает вложенные транзакции».
- Свойства транзакции и их расшифровка.
- Защита от грязного чтения в СУБД-«блокировочнике» и СУБД-«версионнике».
- Каким образом реализован механизм MVCC в MS SQL Server, Postgres и Oracle.
- Для чего нужны уровни изоляции транзакций и транзакционные блокировки.
- Уровни изоляции в разных версиях платформы 1С.
- Как узнать, что действие выполняется в транзакции.
13. Лог транзакций MS SQL Server и WAL для Postgres, бэкапы и отказоустойчивость СУБД:
- Для чего нужен лог транзакций MS SQL Server и WAL для Postgres.
- Модель восстановления базы MS SQL Server.
- Настройки для WAL Postgres, влияющие на производительность и надежность.
- Особенности резервного копирования (backup) для разных моделей восстановления базы MS SQL Server.
- Особенности резервного копирования (backup) для Postgres.
- Обзор механизмов отказоустойчивости для MS SQL Server и Postgres.
14. Разрабатываем так, чтобы обеспечить высокую параллельность: транзакционные блокировки:
- Когда блокировка оправдана, а когда считается избыточной.
- Что такое автоматический и управляемый режим блокировок.
- Как быстро перевести конфигурацию на управляемые блокировки.
- Отличие таймаута на блокировке и дедлока.
- Совместимость управляемых блокировок 1С.
- Совместимость блокировок MS SQL Server.
- Блокировки в Postgres.
- Все способы, как узнать, кто кого заблокировал и найти причину.
- Практическая задача: конфликты на управляемых блокировках 1С – как воспроизвести и как расследовать.
- Практическая задача: конфликты на блокировках СУБД – как воспроизвести и как расследовать.
- Практическая задача: подходы к разработке, приводящие к конфликтам блокировок, и как разрабатывать правильно.
- Практическая задача: расследование таймаута и дедлока с помощью 1С:Центр управления производительностью (ЦУП).
- Интерактивная задача: разбор причин конфликтов блокировок с реальной системы 1С.
15. Другие виды блокировок:
- Объектные блокировки.
- Латчи (PAGELATCH, PAGEIOLATCH).
16. Как повысить надежность работы кластера 1С:
- Возможности кластера 1С для распределения нагрузки.
- Возможности кластера 1С для защиты от чрезмерного потребления памяти процессами кластера.
- Возможности кластера 1С для защиты от чрезмерного потребления памяти и CPU серверным вызовом.
- Система мониторинга кластера 1С.
- Сеансы и соединения для тонкого и толстого клиента.
- Счетчики потребления ресурсов в кластере 1С.
- Ограничения потребления ресурсов в кластере 1С.
17. Лицензии 1С:
- Типичные проблемы с аппаратными ключами 1С и способы их решения.
- Особенности эксплуатации программных лицензий 1С.
18. Проверяем в «песочнице», а не в продуктиве: нагрузочное тестирование:
- Для чего нужно нагрузочное тестирование, чем оно отличается от функционального.
- Нагрузочное тестирование как часть приемо-сдаточных испытаний.
- Нагрузочное тестирование для выявления нестабильно воспроизводимых проблем.
- Нагрузочное тестирование для сайзинга (подбора) оборудования.
- Стресс-тестирование.
- Что такое реалистичный нагрузочный тест.
- Обзор возможностей конфигурации «1С:Тест-центр».
- Пример простого нагрузочного теста.
- Особенности подготовки, разработки и запуска больших нагрузочных тестов (до нескольких тысяч пользователей).
- Как найти оборудование для тестирования, лицензии для системного ПО и платформы «1С:Предприятие».
У данного курса на данный момент нет отзывов