Книга посвящена теории и практике решения проблем производительности и параллельности в информационных системах на платформе «1С:Предприятие 8». В работе приводятся теоретические сведения, необходимые для понимания основных механизмов, обеспечивающих функционирование платформы «1С:Предприятие 8» и СУБД как многоуровневой многопользовательской системы. Кроме этого, дается алгоритм основного бизнес-процесса расследования проблем и приводятся практические приемы решения конкретных прикладных задач: описывается развертывание, настройка и использование инструментов для воспроизведения и расследования, а также возможные способы исправления, применяемые, когда причины проблем найдены.
При работе над изданием был учтен опыт подготовки сотрудников на аттестацию «1С:Эксперт по технологическим вопросам»: в книге собраны необходимые для подготовки к аттестации материалы и методики.
Также в книгу вошли методики, наработанные автором за длительный срок решения практических проблем производительности и параллельности. В значительной степени это методики профилактики, регулярного контроля и ранней диагностики.
Во втором издании скорректированы неточности в теоретической части и в инструкциях, а также добавлены новые материалы.
Книга предназначена для «1С:Экспертов по технологическим вопросам», для сотрудников ИТ-служб заказчика (ИТ-директоров, системных администраторов, методистов, администраторов СУБД), а также для сотрудников фирм-1С:Франчайзи: внедренцев, разработчиков, руководителей проектов.
2.1. Мы работаем только с проблемами
2.2. Как измерять, как получать цифры
2.3. Как устроена система
2.4. Бизнес-процесс решения проблем по ключевым операциям
3.1. Ключевые операции
3.2. Методика APDEX
3.3. Критичные ошибки
3.4. Расчет доступности системы
3.5. Регламентные работы транзакции. Откат транзакций
3.7. Блокировки данных СУБД. Уровни блокировок. Совместимость блокировок
3.8. Сведения об управляемых и объектных блокировках
3.9. Ошибки блокировок: таймауты и взаимоблокировки
Общие вопросы
Таймаут
Взаимоблокировка (deadlock)
3.10. Эскалация блокировок
3.11. Сведения о параллельности операций с данными разных типов
Общие сведения
Узкие места
Реальные транзакции Запись + Запись
Реальные транзакции Чтение + Запись
3.12. Сведения о размещении данных. Способ получения этих сведений
3.13. Сведения об индексах базы. Способ получения этих сведений.Кластерный и некластерные индексы
Важное дополнение по индексам для 8.3 без режима совместимости
3.14. Планы запросов. Получение плана запроса в профайлере SQL. Операторы плана,наиболее важные для нас
Получение плана запроса в профайлере SQL
Наиболее важные для нас операторы
3.15. Особенности чтения в объектной модели
3.16. Работа с SQL Server. Где хранятся временные таблицы. Где хранятся снимки Snapshot для уровня изоляции Read Committed Snapshot
3.17. Работа с SQL Server. Где размещать базы. Как переносить базы
3.18. Работа с SQL Server. Различия между полной (FULL) и простой (SIMPLE) моделями восстановления базы. Особенности сжатия журнала транзакций
3.19. Работа с SQL Server. Настройка и использование бэкапов различных видов
4.1. Как настроить сбор информации о загрузке оборудования и как оценить эту загрузку
4.2. Выяснение скорости диска
4.3. Настройка автоматического перезапуска сервера «1С»
Перезапуск средствами платформы
Перезапуск службы средствами операционной системы
4.4. Регламентные операции SQL Server и настройка их автоматического выполнения
Общие вопросы
Обновление статистики SQL Server
Очистка процедурного кеша (кеша планов)
Дефрагментация индексов
Реиндексация таблиц базы
Контроль выполнения регламентных заданий
4.5. Как включить технологический журнал «1С» и как его можно разбирать
4.6. Общий подход к анализу технологического журнала «1С»
4.7. Замеры производительности
Замер производительности отладчиком 1С8
Простейший код замера времени
Оценка производительности БСП (инструкция по установке, описание работы)
4.8. Требования к сети. Как проверить сеть
Общие вопросы
Ошибки сети
Недостаточная пропускная способность
Маршрутизация
Надстройки активного оборудования
Надстройки серверов ландшафта «1С»
Сетевые службы
4.9. Сбор статистики дампов (общий принцип)
Автоматизированный сбор дампов
Сбор дампов вручную
4.10. Работа с ЦКК. Общие принципы, стандартные возможности, первичная настройка
Общие вопросы
Что надо сделать для начала работы
4.11. Работа с ЦКК. Настройка собственных контрольных процедур
4.12. Работа в профайлере. Как получить план запроса
4.13. Работа в профайлере. Как получить сумму duration
4.14. Работа в профайлере. Как получить граф взаимоблокировки
4.15. Работа в профайлере. Как получить сведения об эскалации блокировок
4.16. Работа с ЦУП. Общие принципы, стандартные возможности, общая последовательность работы, мастер настройки, таблица прав
Общие вопросы
Что надо сделать для начала работы
Мастер подключения к базе
Права, необходимые для работы ЦУП
4.17. Работа с ЦУП. Получение плана запроса
4.18. Работа с ЦУП. Разбор взаимоблокировки
4.19. Работа с ЦУП. Регламентный мониторинг
4.20. Работа в конфигураторе. Исправление запросов
Список правил
Пояснение к правилу 3 («ДЛЯ ИЗМЕНЕНИЯ»)
Пояснение к правилу 4 (соответствие индексов и условий запроса)
Пояснение к правилу 8 (не использовать подзапросы в условиях)
Пояснение к правилу 9 (не использовать соединения с подзапросами, а использовать временные таблицы)
Пояснение к правилу 10 (не соединять виртуальные таблицы с реальными,а также виртуальные с виртуальными)
Пояснение к правилу 13 (в проблемных запросах отказываться от ИЛИ)
Пояснение к правилу 14 (избегать запросов к пустым таблицам
в режиме автоматического управления блокировками «1С»)
Пояснение к правилу 15 (не получать значение через точку от поля составного типа)
Пояснение к правилу 16 (понимать, как запрос может быть изменен платформой при работе механизма RLS)
4.21. Нагрузочные тесты
Простейший
Останов в отладчике
Останов в модальной форме
Нагрузочное тестирование групповыми обработками
Работа с Тест-центром. Общие принципы и стандартные возможности. Простой тест с помощью Тест-центра
Встраивание Тест-центра
Работа с Тест-центром. Шаблон полноформатного теста
Работа с Тест-центром. Универсальный нагрузочный тест
Работа со Стандартным нагрузочным тестом «1С». Общие
принципы и стандартные возможности
Новые возможности 8.3 по функциональному и нагрузочному тестированию
Классификация нагрузочных тестирований
Расследование падений платформы, ошибок блокировок и причин неудовлетворительной
производительности, которые воспроизвелись при выполнении теста
4.22. Бизнес-процесс общей диагностики
4.23. Работа в конфигураторе. Редактирование параметра времени ожидания блокировки
4.24. Работа с ТЖ. Как посмотреть, какие управляемые блокировки были установлены
4.25. Работа с ТЖ. Как расследовать конфликт на управляемых блокировках
4.26. Измерение динамики производительности по журналу регистрации
4.27. Про открытие модальных окон в транзакции
4.28. Ловушка для получения стека вызовов, когда отладка недоступна
4.29. Как собрать отказоустойчивый кластер 8.3 из двух серверов
4.30. Как оставить сервис лицензирования только на одном сервере кластера 8.3
4.31. Как собрать отказоустойчивый кластер 8.2 из двух серверов
Настройка отказоустойчивой схемы 8.2 с масштабированием и балансировкой нагрузки
4.32. Работа с ЦКК. Как сделать код доступным для отладки
4.33. Работа с ЦКК. Развертывание для целей контроля ошибок блокировок
5.1. Обзор платных и бесплатных инструментов
5.2. Требования с диска ИТС, применяемые при проверке на 1С:Совместимо!, влияющие на производительность
5.3. Уточнения, важные для общего понимания картины
5.4. Проектные и технические решения, приводящие к проблемам
5.5. Приемы конфигурирования, приводящие к проблемам
5.6. Ежедневный мониторинг
6.1. Экономический смысл автоматизации учета и оптимизации производительности
6.2. О режиме доступности 24х7
6.3. О методике расчета оборудования
6.4. О работах в различных СУБД
Внимание! Ссылка откроется в соседней вкладке.