Настольная книга 1С:Эксперта

 Издание 2/ Переработанное мной

«Настольная книга 1С:Эксперта по технологическим вопросам» Е.В.Филиппова 10mb (.djvu)

 (полезные выдержки и критика популярного издания)

«Настольная книга 1С:Эксперта по технологическим вопросам» посвящена теории и практике
решения проблем производительности и параллельности в информационных системах на
платформе «1С:Предприятие 8». В работе приводятся теоретические сведения, необходимые
для понимания основных механизмов, обеспечивающих функционирование платформы
«1С:Предприятие 8» и СУБД как многоуровневой многопользовательской системы.

 

Оглавление

Глава 1. Поднимемся на крыльцо, откроем дверь
Глава 2. Основной подход к решению проблем
2.1 . Мы работаем только с проблемами ………………………………………………………………………………………………………… 11
2.2 . Как измерять, как получать цифры …………………………………………………………………………………………………………… 16
2.3 . Как устроена система………………………………………………………………………………………………………………………………. 17
2.4 .
Бизнес-процесс решения проблем по ключевым операциям …………………………………………………………………… 20
Глава 3. Теория 
3.1 . Ключевые операции ………………………………………………………………………………………………………………………………… 25
3.2 .
Методика APDEX …………………………………………………………………………………………………………………………………….. 27
3.3 .
Критичные ошибки ………………………………………………………………………………………………………………………………….. 29
3.4 . Расчет доступности системы …………………………………………………………………………………………………………………… 30
3.5 . Регламентные работы …………………………………………………………………………………………………………………………….. 34
3.6 .
Транзакции. Уровни изоляции транзакций. Явные и неявные транзакции. Вложенные
транзакции. Откат транзакций………………………………………………………………………………………………………………….. 37
3.7 .
Блокировки данных СУБД. Уровни блокировок. Совместимость блокировок………………………………………………. 50
3.8 .
Сведения об управляемых и объектных блокировках ……………………………………………………………………………….. 54
3.9 . Ошибки блокировок: таймауты и взаимоблокировки ………………………………………………………………………………… 57
Общие вопросы ………………………………………………………………………………………………………………………………………………………….. 57
Таймаут………………………………………………………………………………………………………………………………………………………………………. 59
Взаимоблокировка (deadlock) ………………………………………………………………………………………………………………………………………. 61
3.10. Эскалация блокировок …………………………………………………………………………………………………………………………… 66
3.11 .
Сведения о параллельности операций с данными разных типов……………………………………………………………… 68
Общие сведения …………………………………………………………………………………………………………………………………………………………. 68
Узкие места ………………………………………………………………………………………………………………………………………………………………… 70
Реальные транзакции Запись + Запись ………………………………………………………………………………………………………………………… 73
Реальные транзакции Чтение + Запись…………………………………………………………………………………………………………………………………………………………………………………………………………………… 73
3.12. Сведения о размещении данных. Способ получения этих сведений ………………………………………………………… 77
3.13. Сведения об индексах базы. Способ получения этих сведений.
Кластерный и некластерные индексы……………………………………………………………………………………………………. 84
Важное дополнение по индексам для 8.3 без режима совместимости ………………………………………………………………………….. 92
4 Настольная книга 1С:Эксперта по технологическим вопросам
3.14. Планы запросов. Получение плана запроса в профайлере SQL. Операторы плана,
наиболее важные для нас ……………………………………………………………………………………………………………………… 94
Получение плана запроса в профайлере SQL……………………………………………………………………………………………………………… 94
Наиболее важные для нас операторы………………………………………………………………………………………………………………………… 101
3.15. Особенности чтения в объектной модели ……………………………………………………………………………………………. 106
3.16. Работа с SQL Server. Где хранятся временные таблицы. Где хранятся снимки Snapshot
для уровня изоляции Read Committed Snapshot ……………………………………………………………………………………. 108
3.17. Работа с SQL Server. Где размещать базы. Как переносить базы …………………………………………………………. 109
3.18. Работа с SQL Server. Различия между полной (FULL) и простой (SIMPLE) моделями
восстановления базы. Особенности сжатия журнала транзакций…………………………………………………………… 112
3.19. Работа с SQL Server. Настройка и использование бэкапов различных видов ……………………………………….. 118
Глава 4. Инструкции ………………………………………………………………………………………………..123
4.1 . Как настроить сбор информации о загрузке оборудования и как оценить эту загрузку …………………………….. 123
4.2 . Выяснение скорости диска …………………………………………………………………………………………………………………….. 133
4.3 .
Настройка автоматического перезапуска сервера «1С» ………………………………………………………………………….. 134
Перезапуск средствами платформы…………………………………………………………………………………………………………………………… 134
Перезапуск службы средствами операционной системы …………………………………………………………………………………………….. 135
4.4 . Регламентные операции SQL Server и настройка их автоматического выполнения ………………………………….. 136
Общие вопросы ………………………………………………………………………………………………………………………………………………………… 136
Обновление статистики SQL Server ……………………………………………………………………………………………………………………………. 137
Очистка процедурного кеша (кеша планов) ………………………………………………………………………………………………………………… 138
Дефрагментация индексов ………………………………………………………………………………………………………………………………………… 139
Реиндексация таблиц базы………………………………………………………………………………………………………………………………………… 140
Контроль выполнения регламентных заданий…………………………………………………………………………………………………………….. 141
4.5 . Как включить технологический журнал «1С» и как его можно разбирать ………………………………………………….. 142
4.6 .
Общий подход к анализу технологического журнала «1С» ……………………………………………………………………… 146
4.7 .
Замеры производительности …………………………………………………………………………………………………………………. 146
Замер производительности отладчиком 1С8 ……………………………………………………………………………………………………………… 146
Простейший код замера времени……………………………………………………………………………………………………………………………….. 147
Оценка производительности БСП
(инструкция по установке, описание работы) …………………………………………………………………………………………………………….. 148
4.8 .
Требования к сети. Как проверить сеть …………………………………………………………………………………………………. 153
Общие вопросы ………………………………………………………………………………………………………………………………………………………… 153
Ошибки сети ……………………………………………………………………………………………………………………………………………………………… 154
Недостаточная пропускная способность …………………………………………………………………………………………………………………….. 156
Маршрутизация…………………………………………………………………………………………………………………………………………………………. 157
Надстройки активного оборудования………………………………………………………………………………………………………………………….. 158
Надстройки серверов ландшафта «1С» ……………………………………………………………………………………………………………………… 158
Сетевые службы ……………………………………………………………………………………………………………………………………………………….. 158
4.9 .
Сбор статистики дампов (общий принцип)………………………………………………………………………………………………. 159
Автоматизированный сбор дампов …………………………………………………………………………………………………………………………….. 159
Сбор дампов вручную ……………………………………………………………………………………………………………………………………………….. 161
4.10. Работа с ЦКК. Общие принципы, стандартные возможности, первичная настройка ………………………………. 162
Общие вопросы ………………………………………………………………………………………………………………………………………………………… 162
Что надо сделать для начала работы…………………………………………………………………………………………………………………………. 163
4.11 . Работа с ЦКК. Настройка собственных контрольных процедур……………………………………………………………… 169
4.12 . Работа в профайлере. Как получить план запроса……………………………………………………………………………….. 172
4.13. Работа в профайлере. Как получить сумму duration ……………………………………………………………………………… 172
4.14 . Работа в профайлере. Как получить граф взаимоблокировки ………………………………………………………………. 175
5 Оглавление
4.15. Работа в профайлере. Как получить сведения об эскалации блокировок………………………………………………. 177
4.16. Работа с ЦУП. Общие принципы, стандартные возможности, общая последовательность
работы, мастер настройки, таблица прав ……………………………………………………………………………………………… 178
Общие вопросы ………………………………………………………………………………………………………………………………………………………… 178
Что надо сделать для начала работы…………………………………………………………………………………………………………………………. 179
Мастер подключения к базе………………………………………………………………………………………………………………………………………. 180
Права, необходимые для работы ЦУП ……………………………………………………………………………………………………………………….. 193
4.17. Работа с ЦУП. Получение плана запроса …………………………………………………………………………………………….. 196
4.18. Работа с ЦУП. Разбор взаимоблокировки ……………………………………………………………………………………………. 205
4.19. Работа с ЦУП. Регламентный мониторинг……………………………………………………………………………………………. 212
4.20. Работа в конфигураторе. Исправление запросов …………………………………………………………………………………. 215
Список правил…………………………………………………………………………………………………………………………………………………………… 215
Пояснение к правилу 3 («ДЛЯ ИЗМЕНЕНИЯ») …………………………………………………………………………………………………………… 217
Пояснение к правилу 4 (соответствие индексов и условий запроса) ………………………………………………………………………….. 217
Пояснение к правилу 8 (не использовать подзапросы в условиях) …………………………………………………………………………….. 221
Пояснение к правилу 9 (не использовать соединения с подзапросами, а использовать временные таблицы) …………….. 222
Пояснение к правилу 10 (не соединять виртуальные таблицы с реальными,
а также виртуальные с виртуальными) ……………………………………………………………………………………………………………………… 224
Пояснение к правилу 13 (в проблемных запросах
отказываться от ИЛИ)………………………………………………………………………………………………………………………………………………… 227
Пояснение к правилу 14 (избегать запросов к пустым таблицам
в режиме автоматического управления блокировками «1С») ……………………………………………………………………………………… 227
Пояснение к правилу 15 (не получать значение через точку от поля составного типа)…………………………………………………. 229
Пояснение к правилу 16 (понимать, как запрос может быть изменен платформой при работе механизма RLS) ……………. 231
4.21. Нагрузочные тесты………………………………………………………………………………………………………………………………. 232
Простейший………………………………………………………………………………………………………………………………………………………………. 232
Останов в отладчике ………………………………………………………………………………………………………………………………………………… 232
Останов в модальной форме ……………………………………………………………………………………………………………………………………. 232
Нагрузочное тестирование групповыми обработками………………………………………………………………………………………………….. 233
Работа с Тест-центром. Общие принципы и стандартные возможности. Простой тест с помощью Тест-центра………….. 233
Встраивание Тест-центра ………………………………………………………………………………………………………………………………………….. 235
Работа с Тест-центром. Шаблон полноформатного теста…………………………………………………………………………………………… 239
Работа с Тест-центром. Универсальный нагрузочный тест…………………………………………………………………………………………. 244
Работа со Стандартным нагрузочным тестом «1С». Общие
принципы и стандартные возможности ……………………………………………………………………………………………………………………… 246
Новые возможности 8.3 по функциональному и нагрузочному тестированию …………………………………………………………….. 247
Классификация нагрузочных тестирований ………………………………………………………………………………………………………………… 256
Расследование падений платформы, ошибок блокировок и причин неудовлетворительной
производительности, которые воспроизвелись при выполнении теста ………………………………………………………………………… 257
4.22. Бизнес-процесс общей диагностики ……………………………………………………………………………………………………… 257
4.23. Работа в конфигураторе. Редактирование параметра времени ожидания блокировки …………………………… 259
4.24 . Работа с ТЖ. Как посмотреть, какие управляемые блокировки были установлены………………………………… 260
4.25. Работа с ТЖ. Как расследовать конфликт на управляемых блокировках ……………………………………………… 261
4.26. Измерение динамики производительности по журналу регистрации……………………………………………………… 265
4.27 .
Про открытие модальных окон в транзакции ……………………………………………………………………………………….. 266
4.28. Ловушка для получения стека вызовов, когда отладка недоступна ………………………………………………………… 268
4.29. Как собрать отказоустойчивый кластер 8.3 из двух серверов…………………………………………………………………. 270
4.30 . Как оставить сервис лицензирования только на одном сервере кластера 8.3 .. .. .. .. .. .. … .. .. .. .. .. .. .. … .. .. .. .. .. .. .. .. 274
6 Настольная книга 1С:Эксперта по технологическим вопросам
4.31. Как собрать отказоустойчивый кластер 8.2 из двух серверов…………………………………………………………………. 275
Настройка отказоустойчивой схемы 8.2 с масштабированием и балансировкой нагрузки …………………………………………… 279
4.32. Работа с ЦКК. Как сделать код доступным для отладки ……………………………………………………………………….. 283
4.33 . Работа с ЦКК. Развертывание для целей контроля ошибок блокировок ………………………………………………… 285
Глава 5. Методики и дополнительная информация ………………………………………………..291
5.1 .
Обзор платных и бесплатных инструментов ………………………………………………………………………………………….. 291
5.2 .
Требования с диска ИТС, применяемые при проверке на 1С:Совместимо!, влияющие
на производительность ……………………………………………………………………………………………………………………….. 292
5.3 .
Уточнения, важные для общего понимания картины ………………………………………………………………………………. 295
5.4 .
Проектные и технические решения, приводящие к проблемам ……………………………………………………………… 296
5.5 .
Приемы конфигурирования, приводящие к проблемам ………………………………………………………………………….. 297
5.6 .
Ежедневный мониторинг ……………………………………………………………………………………………………………………….. 297
Глава 6. Дополнительные заметки ………………………………………………………………………….299
6.1 . Экономический смысл автоматизации учета и оптимизации производительности …………………………………… 299
6.2 . О режиме доступности 24х7 …………………………………………………………………………………………………………………… 301
6.3 . О методике расчета оборудования ………………………………………………………………………………………………………… 302
6.4 . О работах в различных СУБД ……………………………………………………………………………………………………………….. 303
Заключение. О гарантиях работоспособности системы через несколько лет ……….305
Кому что читать……………………………………………………………………………………………………….309
Список сокращений …………………………………………………………………………………………………311

 

 

Об авторе:

Филиппов Евгений Валерьевич

Имеет высшее техническое образование. В 2009 году первым провел успешное нагрузочное тестирование, в ходе которого в одной базе «1С:Предприятия» работало 1 000 пользователей, и экспериментально подтвердил работоспособность такой информационной системы. Работая в компаниях «Трейд Софт», а затем «1С:Первый БИТ», участвовал не менее чем в десяти проектах ЦКТП. В период подготовки второго издания руководил компанией «Центр технологической экспертизы Аксиома», специализировавшейся на проведении работ по нагрузочному тестированию и оптимизации производительности решений на платформе «1С:Предприятие». Ведет активную деятельность в направлении разработки механизмов и методик, которые снижают стоимость проведения таких работ и делают эти работы доступными для массового рынка. Проводит обучающие семинары и вебинары для сотрудников своей компании, партнеров и представителей клиентов.