Стартовая страница курса «Ускорение и оптимизация систем на 1С». Оптимизация 1с курсы 1с
Ускорение и оптимизация систем на 1С:Предприятие 8.3
Подготовка на 1С:Эксперт по технологическим вопросам
Открыть желтую книжку и написать пару кривых запросов может каждый …
Но это не делает его специалистом.
Как и трескотня на форумах и неспешное колупание базы своей компании…Что реально круто – обеспечить работу 1C на 100-200-500 рабочих мест.
Чтобы ничего не падалои никто не засыпал, пока проводится документ.
С прямым кодом, быстрыми запросами, распределением нагрузки, преферансом и секретаршами…
Если ты это умеешь – ты однозначно серьезный специалист.
В терминах 1С – это 1С:Экcперт по технологическим вопросам…
Самая высшая ступень в иерархии 1С для программиста / разработчика / внедренца.
Специалисты редкие – и дорогие.
Все остальные – в лучшем случае Специалисты / Специалисты-Консультанты.
В общем, оно того стоит…
На 22 марта 2016 годамы обучили этому уже около 2000 человек…
А теперь точка выбора:
Можно остаться читать форумы и надеяться на какую-нибудь прибавку к зарплате в 2018 году…
А можно взяться – и, наконец, изучить эти вещи уже за ближайший месяц-два…
В конце концов – кто, кроме нас самих, отвечает за то, что с нами будет в следующем году?
Что мы предлагаем изучить (содержание курса)
Глава 1. APDEX
В процессе оптимизации необходимо регулярно отслеживать скорость работы системы, как системы в целом, так и отдельных операций.
Оптимизация без регулярных замеров – это работа вслепую.
В данной главе:
- рассмотрим способы автоматического замера времени различных операций
- узнаем, как отслеживать и оценивать производительность системы
- рассмотрим, как узнавать о проблемах со скоростью, не опрашивая пользователей
Видеоуроки:
- Методика APDEX
- Внедрение подсистемы в конфигурацию
- Настройка ключевых операций
- Замер времени на клиенте. Замер времени на сервере
- Возможные ошибки при встраивании замера
- Обработка «Оценка производительности»
- Использование подсистемы в типовых конфигурациях
- Недостатки подсистемы. Ошибки
- Недостатки подсистемы. Исправление ошибок
- Регистрация в сервисе. Установка. Настройка
- Автоматический замер времени проведения документов
- Замер произвольной операции
- Регистрация текста запроса
- Замер времени открытия формы
- Просмотр данных APDEX
- Динамика APDEX и отчеты сервиса
- Отправка данных в сервис по почте
- Недостатки сервиса APDEX
- Автоматический расчет целевого времени от обратного
Глава 2. Настройка сервера СУБД
В данной главе мы рассмотрим настройку параметров сервера СУБД (на примере MS SQL Server) для повышения производительности системы.
Видеоуроки:
- Перенос журнала транзакций на другой диск
- Перенос базы TempDB на другой диск
- Параметр «Max degree of parallelism»
- Настройка авторасширения
- Настройка Shared Memory
Глава 3. Регламентные операции
Выполнение регламентных операций является обязательным условием для быстрой работы системы.
В данной главе мы рассмотрим, какие регламентные задания необходимо выполнять на СУБД и на 1С, как и с какой периодичностью это нужно делать.
Кроме того, будет рассмотрен процесс настройки уведомлений о выполнении регламентных операций.
Видеоуроки:
- Основные регламентные операции
- Настройка регламентной операции обновления статистики
- Настройка регламентной операции дефрагментации/реиндексации
- Перенос плана обслуживания
- Оповещения по e-mail
- Возможные проблемы при настройке оповещений
- Установка границы рассчитанных итогов в режиме 1С:Предприятие
- Установка границы рассчитанных итогов с помощью встроенного языка
- Пересчет итогов
- Тестирование и исправление
Глава 4. Мониторинг загруженности оборудования
В процессе эксплуатации системы необходимо регулярно следить за тем, насколько сильно загружено оборудование.
В данной главе мы разберем, как можно отслеживать загруженность оборудования для ОС Windows и для Linux и как оценивать собранные данные.
Рассмотрим также, на что обращать внимание при анализе и как сделать сбор данных о загруженности оборудования автоматическим даже в случае перезагрузки сервера.
Видеоуроки:
- Мониторинг производительности оборудования
- Добавление счетчиков вручную
- Добавление счетчиков шаблоном
- Добавление счетчиков bat файлом
- Настройка группы сборщиков данных
- Настройка автозапуска после перезагрузки
- Просмотр и анализ графиков загруженности оборудования
- Пример анализа
- Просмотр дисковой активности
- Сравнение производительности разных дисков
- Сравнение производительности 1С в разных условиях
- Рекомендации по оборудованию
Глава 5. Расследование причин медленной работы
В данной главе мы узнаем, как понять, почему система работает медленно.
Разберем как платные, так и бесплатные инструменты анализа производительности.
Подробно рассмотрим настройку и использование данных инструментов и на примерах разберем, как проявляют себя различные типы проблем производительности.
После изучения данной главы Вы научитесь точно определять причины, которые приводят к замедлению.
Видеоуроки:
- Принципы расследования проблем производительности
- Включение отладки на сервере
- Замер производительности
- Подготовка к настройке ЦУП
- Настройка прав для каталогов
- Настройка разрешений для СУБД
- Мастер настройки ЦУП
- Шаги «Центральный сервер», «COM-Соединитель», «Кластер», «Информационная база»
- Шаги «Типы показателей», «Показатели 1С:Предприятия», «Показатели ОС»
- Шаг «Технологический журнал»
- Шаг «Трассировки»
- Шаг «Сервер COM-Соединитель»
- Шаг «Сервер ЦУП (Трассировки)»
- Сценарий «Мониторинг»
- Сценарий «Просмотр»
- Создание собственных сценариев
- Сценарий «Регламентный мониторинг»
- Оперативные показатели
- Аналитические показатели
- Сбор и анализ оперативных показателей
- Проверка работоспособности ЦУП
- Формирование логов при отключенном ЦУП
- Сервис анализа неоптимальных запросов
- Сбор и анализ данных с помощью сервиса
- Сервис анализа ожиданий на блокировках
- Сервис анализа событий технологического журнала
- Подключение сервисов через тонкий клиент
- Ошибка SHOWPLAN permission denied
Глава 6. Неоптимальные запросы
Неоптимальные запросы являются наиболее частой причиной медленной работы системы.
В данной главе мы узнаем основные причины медленной работы запроса, научимся читать и понимать планы запросов, будем учится определять, почему запрос работает медленно, и как это исправить.
Также мы узнаем, как с помощью различных инструментов найти медленные запросы, отранжировать их по степени влияния на производительность и узнать, из какого места в конфигурации они вызываются.
Видеоуроки:
- Хранение объектов метаданных и временных таблиц
- Свойство «Индексировать»
- Индексировать с дополнительным упорядочиванием
- Создание индекса для первого измерения
- Свойство «Ведущее»
- Создание индексов через Management Studio
- Просмотр плана запроса в SQL Profiler
- Просмотр плана запроса в консоли запросов
- Операторы Table Scan
- Операторы Clustered Index Scan
- Операторы Index Scan
- Операторы Constant Scan
- Операторы Index Seek
- Операторы Clustered Index Seek
- Оператор Sort
- Оператор Compute Scalar
- Операторы соединения Nested Loops
- Операторы соединения Merge Join
- Операторы соединения Hash Join
- Логические и физические операторы
- Логический оператор Semi Join
- Отображение плана запроса
- Порядок выполнения операторов
- Стоимость операторов и плана запроса
- Основные свойства операторов
- Чтение графического плана запроса и текстового плана
- Чтение плана запроса с разыменованием полей
- Чтение плана с соединением нескольких таблиц
- Чтение плана с составным типом
- Чтение плана с TOP и Nested Loops
- Предварительная оптимизация запроса
- Признаки неоптимального плана Nested Loops
- Признаки неоптимального плана Scan
- Признаки неоптимального плана Seek… Where
- Признаки неоптимального плана Hash Aggregate
- Признаки неоптимального плана Key Lookup
- Признаки неоптимального плана Table Spool
- Порядок анализа плана запроса
- Невыполнение регламентных операций
- Соединение с подзапросами
- Использование временных таблиц, индексация временных таблиц
- Соединение с виртуальными таблицами
- Подзапрос в условии соединения
- Подзапросы в условиях и вложенные подзапросы
- Несоответствие индексов и условий. Регистр накопления
- Условия, не позволяющие использовать индекс. ИЛИ
- Условия, не позволяющие использовать индекс. Вычисление
- Условия, не позволяющие использовать индекс. НЕ В
- Условия, не позволяющие использовать индекс. Функции
- Условия, не позволяющие использовать индекс. Вхождение полей в разные списки
- Условия, не позволяющие использовать индекс. Вхождение в список с большим числом элементов
- Непокрывающие индексы
- Покрывающий индекс с доп. упорядочиванием
- Селективность
- Определение недостающих индексов
- Сортировка по полю, которое не входит в индекс
- Выбрать первые и сортировка
- Когда сортировка не влияет на производительность
- Внутреннее устройство полей составного типа
- Неявное образование полей составного типа
- Обращение к реквизитам поля составного типа
- Смешивание простых и ссылочных типов
- Минимум и максимум от полей составного типа
- Составной тип и RLS
- Фильтрация виртуальных таблиц
- Запрос в цикле. НайтиПо.
- Запрос в цикле. Обращение к реквизитам
- Запрос в цикле. Вывод ссылки на экран
- Запрос в цикле. Коррелированные запросы
- Запрос в цикле. Намеренное использование
- Большой объем выборки данных
- Обращение к полю через несколько точек
- Получение ссылки от поля ссылочного типа
- Объединить и Объединить все
- Запросы с RLS
- Универсальные запросы
- Особенности работы с виртуальной таблицей остатков
- Особенности работы с виртуальной таблицей среза
- Особенности выполнения пакетных запросов
- Особенности объектного чтения данных
- Анализ больших запросов
- Анализ запросов СКД
- Методы запроса Выполнить
- Методы запроса Выбрать
- Методы запроса Выгрузить
- Как выполнить запрос «как в первый раз»
- Хранение временных таблиц
- Сжатие базы TempDB
- Кто сейчас выполняет долгий запрос
- Что не влияет на производительность запроса
- Рекомендации по написанию запросов
- Анализ с помощью сервиса. Запросы без контекста
- Анализ с помощью сервиса. Запросы с контекстом
- Анализ с помощью ЦУП. Настройка и сбор данных. Анализ
- Анализ с помощью SQL Profiler
- Сохранение трассировки в таблицу
- Шаблоны SQL Profiler
- Сопоставление плана и текста запроса в SQL Profiler
- Сохранение трассировки в файл
- Ошибка Trace skipped records
- Различные события SQL Profiler
- Анализ запроса с помощью технологического журнала
- Анализ неоптимального запроса. Примеры 1 – 5
Глава 7. Ожидания на блокировках
В многопользовательской системе часто возникают излишние ожидания на блокировках, что снижает параллельность работы пользователей.
В данной главе Вы узнаете, что такое блокировки, зачем они нужны и как работают.
Вы научитесь отличать избыточные блокировки от необходимых, узнаете основные причины избыточных блокировок и способы их устранения.
Видеоуроки:
- Обработка исключений в транзакциях. Примеры 1 – 6
- Пессимистическая объектная блокировка
- Оптимистическая объектная блокировка
- Объектные блокировки и защита данных в СУБД
- Пример установки X блокировки
- Пример установки S блокировки
- Пример установки U блокировки
- Какие объекты блокируются
- Read uncommitted
- Read committed
- Read committed snapshot
- Repeatable read
- Serializable
- Режимы блокировок в 1С
- Управляемые блокировки
- Пример неявной управляемой блокировки
- Пример явной управляемой блокировки
- Автоматический режим блокировок
- Неоптимальная работа запроса. Пример
- Методические ошибки: Константы
- Методические ошибки: Последовательность
- Методические ошибки: Регистр накопления запись задним числом
- Методические ошибки: Регистр накопления разделение итогов
- Методические ошибки: Регистр бухгалтерии
- Механизм разделения итогов. Особенности использования
- Разделение итогов в автоматическом режиме
- Старая методика контроля остатков
- Новая методика контроля остатков
- БлокироватьДляИзменения и 8.2
- БлокироватьДляИзменения и 8.3
- Дополнение по свойству «БлокироватьДляИзменения»
- Новая методика и партионный учет
- Режим удаления «Не удалять автоматически»
- Режим удаления «Удалять автоматически»
- Режим удаления «Удалять автоматически при отмене проведения»
- Оптимизация при перепроведении
- Выгрузка изменений по плану обмена
- Изменение большого числа данных в транзакции
- Эскалация блокировок СУБД
- Событие Lock:Escalation
- Эскалация блокировок 1С
- ЦУП. Сбор данных для анализа
- ЦУП. Анализ блокировок. Примеры 1 и 2.
- ЦУП. Анализ блокировок. Проверка оптимизации
- ЦУП. Анализ блокировок СУБД. Воспроизведение
- ЦУП. Анализ блокировок СУБД. Расследование
- ЦУП. Анализ блокировок. Пример 3
- Сервис. Сбор и выгрузка данных
- Сервис. Анализ управляемых блокировок
- Сервис. Анализ блокировок СУБД
- Сервис. Анализ ожиданий. Примеры 1, 2
- Анализ блокировок с помощью консоли кластера
- Анализ блокировок с помощью монитора активности
- Анализ блокировок. Sys.dm_tran_locks
- Обработка отображения текущих блокировок MS SQL
- Выводы по выполнению анализа блокировок
Глава 8. Взаимоблокировки
В данной главе мы разберем основные типы взаимных блокировок, как и почему они появляются.
Рассмотрим на примерах, как их можно зафиксировать, проанализировать и устранить.
Видеоуроки:
- Повышение режима блокировки ресурса.Примеры 1 – 3
- Повышение режима блокировки ресурса. Решение
- Захват ресурсов в разном порядке. Воспроизведение
- Захват ресурсов в разном порядке. Решение
- БлокироватьДляИзменения
- Взаимоблокировка из-за запроса со сканированием
- Взаимоблокировка из-за распараллеливания
- Взаимоблокировка из-за эскалации
- Распределенная взаимоблокировка. Схема
- Распределенная взаимоблокировка. Пример
- Сервис анализа взаимоблокировок. Установка и настройка
- Сервис анализа взаимоблокировок. Воспроизведение и выгрузка
- Повышение режима блокировки ресурса. Пример 3
- ЦУП. Воспроизведение и сбор данных о взаимоблокировках
- ЦУП. Анализ взаимоблокировок
- Анализ взаимоблокировок на блокировках 1С
- Сервис. Ошибки при анализе
- Пример взаимоблокировки из-за разделителя
- Пример взаимоблокировки из-за сканирования
- Пример взаимоблокировки из-за разного порядка захвата ресурсов
Глава 9. Приемы ускорения различных операций
Иногда встречаются операции, которые нельзя ускорить оптимизацией запроса или устранением излишних блокировок.
В данной главе мы рассмотрим несколько таких операций и способы их ускорения, в том числе с помощью распараллеливания.
Видеоуроки:
- Алгоритм многопоточной обработки данных
- Анализ результатов обработки в несколько потоков
- Способы ускорения записи в регистры
- Ускорение записи в регистры
- Динамические списки. Опция «Динамическое считывание» включена
- Динамические списки. Опция «Динамическое считывание» отключена
- Динамическое считывание данных при неуказанной основной таблице
- Общие рекомендации по работе с динамическими списками
Глава 10. Нагрузочное тестирование и оборудование
В данной главе мы рассмотрим процесс подготовки и проведения нагрузочного тестирования.
Мы узнаем, как написать тест и провести тестирование с помощью конфигурации Тест–Центр и как можно работать с автоматизированным тестированием.
Также мы рассмотрим вопросы выбора оборудования на основе результатов теста.
Видеоуроки:
- Методика нагрузочного тестирования
- Объединение конфигурации с Тест-Центр
- Пример простого теста. Создание обработки
- Пример простого теста. Создание сценария
- Пример простого теста. Запуск сценария
- Встраивание замеров
- Отладка виртуальных пользователей
- Автоматизированное тестирование. Создание сценария вручную
- Автоматизированное тестирование. Упрощение сценария
- Запись действий пользователя
- Создание сценария по записанным действиям
- Выполнение записанного сценария
- Сценарий с двумя клиентами тестирования
Глава 11. Кластер серверов
В этой главе мы узнаем о том, как устроен кластер серверов 1С и как его настроить для повышения производительности и стабильности работы системы.
Рассматриваются настройки как для версии 8.3, так и для 8.2.
Видеоуроки:
- Кластер серверов
- Версия 8.2. Настройки кластера. Порт
- Версия 8.2. Настройки кластера. Защищенное соединение
- Версия 8.2. Настройки кластера. Интервал перезапуска
- Версия 8.2. Настройки кластера. Ограничение по памяти
- Версия 8.2. Настройки кластера. Выключенные процессы
- Версия 8.2. Рабочий сервер создание и настройка
- Версия 8.2. Создание рабочего процесса
- Версия 8.2. Распределение нагрузки по процессам
- Версия 8.2. Распределение нагрузки по серверам
- Версия 8.2. Перенос сервисов
- Версия 8.2. Отказоустойчивость rphost
- Версия 8.2. Отказоустойчивость rmngr
- Версия 8.2. Отказоустойчивость ragent
- Версия 8.2. Использовать как резервный
- Версия 8.2. Отказоустойчивость рабочего сервера. Схема
- Версия 8.2. Отказоустойчивость рабочего сервера. Пример
- Версия 8.2. Отказоустойчивость центрального сервера. Схема
- Версия 8.2. Отказоустойчивость рабочего сервера. Пример
- Версия 8.2. Резервирование кластеров. Схема
- Версия 8.2. Резервирование кластеров. Пример
- Версия 8.2. Резервирование кластеров. Особенности
- Версия 8.2. Рабочий сервер в роли резервного. Схема
- Версия 8.2. Рабочий сервер в роли резервного. Пример
- Версия 8.3. Настройки кластера
- Версия 8.3. Максимальный объем памяти рабочих процессов
- Версия 8.3. Безопасный расход памяти за один вызов
- Версия 8.3. Объем памяти, до которого сервер считается производительным
- Версия 8.3. Регулировка числа рабочих процессов
- Версия 8.3. Менеджер под каждый сервис
- Версия 8.3. Центральный сервер
- Версия 8.3. Требования назначения функциональности
- Версия 8.3. Обслуживание базы на отдельном сервере
- Версия 8.3. Фоновые задания на отдельном сервере
- Версия 8.3. Распределение клиентов по рабочим процессам
- Версия 8.3. Центральные серверы
- Версия 8.3. Центральные серверы и отказоустойчивость
- Версия 8.3. Центральные серверы и отказоустойчивость. Пример
- Версия 8.3. Уровень отказоустойчивости
- Версия 8.3. Отказоустойчивость. Ситуация 1
- Версия 8.3. Отказоустойчивость. Ситуация 1. Пример
- Версия 8.3. Отказоустойчивость. Ситуация 2
- Версия 8.3. Отказоустойчивость. Ситуация 2. Пример
- Версия 8.3. Отказоустойчивость. Ситуация 2. Пример 2
- Версия 8.3. Отказоустойчивость. Ситуация 3
- Версия 8.3. Расчет уровня отказоустойчивости
- Версия 8.3. Влияние отказоустойчивости на производительность
- Версия 8.3. Связь УО и требований назначения функциональности
- Версия 8.3. Минусы механизма отказоустойчивости
- Отличия в механизме лицензирования 8.2 и 8.3
- Рекомендации по общей архитектуре
Глава 12. Технологический журнал
Технологический журнал является основным источником информации при анализе проблем производительности и стабильности.
В данной главе мы узнаем, как можно тонко настраивать технологический журнал, какие данные он собирает.
Рассмотрим, как можно использовать технологический журнал для решения проблем производительности и какие ошибки чаще всего допускают при использовании технологического журнала.
Видеоуроки:
- Описание и назначение технологического журнала
- Включение ТЖ
- Ошибки при настройке ТЖ
- Структура логов
- Свойства событий
- Фильтрация по событиям
- Фильтрация по свойствам
- Условия фильтрации
- Комбинация фильтров
- Запись в разные каталоги
- Получение плана запроса
- Отличия ТЖ 8.2 и 8.3
- Обработка настройки ТЖ
- Влияние на производительность
- Сбор ТЖ на клиенте
- Анализ ожиданий на управляемых блокировках
- Анализ взаимоблокировки на блокировках 1С
Глава 13. Расследование проблем стабильности
Многие специалисты часто сталкиваются не только с проблемами производительности, но и проблемами стабильности работы.
В данной главе мы рассмотрим, как можно расследовать «падения» и «зависания» сервера 1С, а также утечки памяти и другие всевозможные ошибки.
Видеоуроки:
- Дампы
- Расследование падений
- Расследование падений с помощью 1С
- ЦКТП
- Расследование зависаний
- Утечки памяти
- Выявление утечек памяти
- Определение базы с утечками памяти
- Расследование утечек с помощью ТЖ
- Расследование утечек памяти. Дампы
- Рабочий процесс занял много памяти. Версия 8.2
- Проблемы стабильности
Глава 14. Резервное копирование
В данной главе мы узнаем, как сделать собственную стратегию резервного копирования.
Мы рассмотрим различные типы бэкапов, научимся восстанавливать базу на определенный момент времени, узнаем, как автоматизировать процесс создания резервных копий.
Видеоуроки:
- Резервное копирование
- Основные настройки резервного копирования
- Создание полного бэкапа интерактивно
- Восстановление из полного бэкапа
- Сжатие бэкапов
- Создание бэкапа с помощью скрипта
- Создание разностного бэкапа
- Восстановление из разностного бэкапа
- Создание второго разностного бэкапа
- Создание бэкапа лога
- Восстановление бэкапа лога
- Создание цепочки журналов транзакций
- Бэкап конечного фрагмента
- Стратегия резервного копирования
- Автоматизация создания бэкапов
Глава 15. Подготовка к аттес
xn----1-bedvffifm4g.xn--p1ai
Стартовая страница курса «Ускорение и оптимизация систем на 1С»
Несколько стартовых инструкций
Инструкции особенно актуальны для тех, кто не учился ранее на наших курсах. Потратьте несколько минут на изучение – это снимет большую часть вопросов:
https://курсы-по-1с.рф/inner/start-instruction/
Начало занятий
Обучение проходит в формате “без потоков” – при активации токена можно указать любую дату, с которой планируете начать обучение.
xn----1-bedvffifm4g.xn--p1ai
Оптимизация «1С:Предприятие 8» – Режим разделения итогов
Другие статьи по оптимизации 1С:
«Оптимизация 1С – Проблемы производительности»
«Как в 1С оптимизировать запрос – пример ускорения в 6 раз»
«Анализ запросов с помощью SQL Profiler»
Оптимизация 1С – Режим разделения итогов
Что Вы узнаете из этой статьи?- В статье рассматривается предназначение режима разделения итогов
- Разбирается поведение системы «1С:Предприятие 8» при параллельной работе большого количества пользователей
- Показываются минусы режима разделения итогов
- Выдаются рекомендации по корректному использованию разделения итогов регистра
Платформа «1С:Предприятие 8» содержит возможности и механизмы, о работе которых не все имеют полное представление, как и о способах их эффективного использования. Таковым является режим разделения итогов.
Механизм разделения итогов выполняет весьма важную и полезную функцию: его использование делает возможным осуществлять параллельную запись в регистры бухгалтерии и регистры накопления.
Покажем эффективность данного режима с помощью примера. Для этого рассмотрим ситуацию до и после включения режима разделения итогов.
До включения режима разделения итогов
Мы имеем в наличии два одинаковых документа с номерами 001 и 002:
Оба документа осуществляют движение по регистру накопления. Контроля остатков нет. Структура регистра накопления:
Два пользователя, работая в своих документах, начинают одновременное проведение. Возникает ситуация, при которой два документа одного типа пытаются сделать движения одновременно.
При этом на уровне СУБД возникает следующая картина:
Вот что происходит в системе:
- Документы пытаются внести запись в регистр накопления
- На уровне СУБД регистр накопления представлен двумя таблицами: таблицей движений и таблицей остатков (таблица итогов).
- В таблице движений возможна запись документами своих данных параллельно. Это обеспечивается различными значениями поля «Регистратор», и, соответственно, работа идет с различными строками таблицы.
- А вот в таблице остатков нет поля «Регистратор», данные в этой таблице хранятся в разрезе измерений самого регистра.
- Тут наблюдается ситуация, при которой двум документам необходимо изменить одну запись, но одну запись одновременно менять нельзя.
- Для того чтобы не потерять записываемые данные, какой-либо из документов должен ожидать своей очереди на запись, пока другой документ не запишет свои движения. И, после того как первый из документов внесет свои движения, второй сможет внести уже свои.
В результате мы наблюдаем потерю времени – второй пользователь вынужден ждать окончание проведения документа у первого. С одной стороны, все правильно и логично, с другой – страдает параллельность работы пользователей в системе.
Для разрешения возникшей проблемы и создан механизм разделения итогов.
Его использование предусмотрено только для регистров накопления и регистров бухгалтерии.
Включение режима разделения итогов
Включение данного режима выполняется достаточно просто:
Заметим, что режим разделения итогов включен по умолчанию для всех создаваемых регистров накопления и бухгалтерии. Помимо Конфигуратора в пользовательском режиме мы можем посмотреть, для каких регистров включено использование режима:
Что происходит после включения режима разделения итогов?
В таблице итогов регистра накопления/бухгалтерии появляется новый столбец «Разделитель». В самой СУБД он назван «Splitter».
При этом таблица движений остается неизменной, разделителем в ней выступает «Регистратор». Изменение мы видим в таблице итогов.
Это поле заполняется только в том случае, когда две (или более) транзакции пытаются изменить одну строку в таблице итогов. При возникновении такого случая поле «Разделитель» хранит разные значения для каждой из транзакций.
Такая реализация режима разделения итогов делает возможным выполнять параллельную запись всем транзакциям.
В нашем примере с двумя документами при включении режима наблюдается следующее:
Оба наших документа выполнили параллельную запись своих данных благодаря новому полю «Разделитель». В результате не возникают ожидания при блокировках и повышена параллельность работы пользователей.
Минусы режима разделения итогов
При включении данного режима увеличивается размер таблицы итогов регистра из-за того, что было добавлено новое поле, и появляется несколько строк по набору измерений взамен одной.
При получении остатков по регистру возникает потребность свертки данных, что приводит к затратам времени, пусть и незначительным.
В нашем случае с двумя документами для получения остатка товара «Стол» по складу «Основной» возникает необходимость сложения двух строк для получения итогового значения «7». При выключенном разделителе группировка строк (сложение) не требуется.
Когда следует использовать режим разделения итогов?
Для этого необходимо выполнить условия:
- По регистру нет контроля остатков – нет чтения данных в транзакции. В регистрах бухгалтерии контроль остатков, как правило, отсутствует. Но если контроль остатков присутствует, то мы не получим никакого выигрыша в производительности. К тому же, при контроле остатков нужно использовать свойство набора записей «БлокироватьДляИзменения», так как возникает вероятность взаимоблокировки.
- С регистром выполняется параллельная работа пользователей, причем активная.
При последовательной работе с регистром или работе с малым числом пользователей нет смысла включать режим разделения итогов: отсутствие конкурирующих транзакций не приводит к ожиданиям на блокировках, и, соответственно, не наблюдается эффекта от использования режима разделения итогов.
Бурмистров Андрей
PDF-версия статьи для участников группы ВКонтакте
Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Ссылка доступна для зарегистрированных пользователей)Ссылка доступна для зарегистрированных пользователей)Ссылка доступна для зарегистрированных пользователей)
Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.
20.09.2016Ольга Трикозxn----1-bedvffifm4g.xn--p1ai
Оптимизация 1С – Проблемы производительности
Оптимизация 1С – Проблемы производительности
Что Вы узнаете из этой статьи?- Ограничения платформы «1С:Предприятие 8»
- Общие рекомендации по решению проблем производительности
- Возможности масштабирования платформы 1С
Любая компания стремится к росту, развитию и расширению, вследствие чего увеличиваются требования к скорости работы информационной системы. База, которая ранее легко справлялась с нагрузкой, с течением времени может перестать соответствовать запросам компании.
Нередки случаи, когда скорость работы системы постепенно замедляется, или же в один из дней без видимых причин некоторые операции начинают работать очень медленно или нестабильно. И это не «глюки» платформы, это типичные проблемы производительности.
В таких ситуациях обычно начинается поиск «виноватого», к сожалению, через этот этап проходит большинство IT-отделов. Если, к примеру, еще вчера система работала нормально, то подозрение ложится на системных администраторов – «они опять что-то сделали с сервером». Этот вариант хоть и не исключен, но администраторы виноваты далеко не всегда.
Далее, как правило, вместо детального анализа причины замедления начинаются поиски «волшебной таблетки», которая решит все проблемы разом. Программисты просматривают форумы и перебирают бесконечное число вариантов настройки системы. Администраторы ищут решение в покупке более мощного сервера и т.д.
В итоге, потеряв уйму времени, лишь немногие приходят к правильному решению – начать постепенный анализ проблемы для выявления причины ее возникновения самостоятельно, либо нанять 1С:Эксперта.
Ограничения платформы 1С
Довольно распространено мнение, что «1С:Предприятие» – система исключительно для малого и среднего бизнеса, и она в принципе не способна справиться с системами на сотни и тысячи пользователей. Но это применимо только к 1С версиям 7.7 и 8.0, они довольно плохо масштабировались, их архитектура не предназначалась для больших систем, а возможность параллельной работы пользователей была сильно ограничена.
Но ситуация кардинально изменилась с приходом 8.1. В ней и в последующих версиях появились такие возможности как масштабирование, управляемый режим блокировкой данных, временные таблицы, изменилась структура таблиц на уровне СУБД для увеличения параллельности работы пользователей и многое другое.
На данный момент существуют 1С базы, в которых тысячи пользователей работают одновременно, причем в режиме 24/7.
Таким образом, сейчас на базе 1С возможно строить информационные системы практически любого масштаба. Платформа не имеет каких-либо ограничений, и масштабирование возможно до необходимого вам уровня.
Но теперь появилась другая проблема – люди не успевают за технологиями.
Ограничения при разработке
Разработчики конфигураций привыкли писать код «по старинке», не учитывая высокую нагрузку базы, большое количество параллельно работающих в ней пользователей. Решения не тестируются под нагрузкой, а разработка ведется на тестовых базах, далеких от рабочих и по составу, и по объему.
Складывается ошибочное убеждение, что код работает быстро, ведь никто не учитывает тот факт, что разработка ведется на базе, которая в десятки раз меньше рабочей.
Не стоит забывать и о том, что через несколько лет компания станет больше, и нагрузка на систему сильно возрастет. Безобидный запрос в цикле, наспех написанный «лишь бы успеть сдать проект в срок», в будущем может привести к серьезным проблемам со скоростью, блокировками и перегрузке дисковой подсистемы сервера СУБД, что отразится на работе всех баз.
К тому же разработчики конфигураций зачастую не используют (а иногда не знают, как использовать) новые механизмы платформы для повышения параллельности работы системы –управляемый режим блокировок и режим разделения итогов. Их правильное использование может существенно повысить пропускную способность практически любой конфигурации.
Практика показывает, что 90% проблем с производительностью – результат ошибок в коде конфигурации либо методологических ошибок, то есть виновато не железо, не СУБД и не платформа. Обычно все дело в прикладном коде. Это также относится и к коду типовых конфигураций, в которых нередки ошибки и неоптимальные участки.
Напрашивается вывод: если большинство проблем вызвано кодом 1С, то нужно исправить этот код. Необходимо только найти конкретное место в коде, которое приводит к замедлению, выяснить причину и устранить ее.
Бурмистров Андрей
PDF-версия статьи для участников группы ВКонтакте
Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Ссылка доступна для зарегистрированных пользователей)Ссылка доступна для зарегистрированных пользователей)Ссылка доступна для зарегистрированных пользователей)Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.
20.09.2016Ольга Трикозxn----1-bedvffifm4g.xn--p1ai
1С Эксперт по технологическим вопросам
С сегодняшнего дня начинаю подготовку к самой сложной из сертификации для технических специалистов в 1С — Эксперт по технологическим вопросам. Для себя решил пройти эту аттестацию, т.к хотелось бы узнать все особенности архитектуры 1С Предприятия 8 в клиент-серверном режиме работы, научиться добиваться максимальных результатов в производительности ИС, а также уметь анализировать все узкие места информационных баз на базе платформы 1С.
Для подготовки отлично подойдет книга «Настольная книга 1С Эксперта по технологическим вопросам».
Внимание! Наша компания не занимается сертификацией и подготовкой специалистов к данному экзамену. Это всего лишь личный опыт одного из наших программистов. Для подготовки к аттестации используйте официальные материалы фирмы 1С и многочисленные курсы.
В первом посте я опишу регламент сдачи экзамена 1С Эксперт, приведу некоторые примеры тестовых заданий, соберу основные ссылки для подготовки по данной тематике.
Многие говорят, что сертификаты и экзамены нужны только компаниям франчайзи для поднятия рейтинга и получения скидок на ПП — не соглашусь. По моей практике, знания, полученные при подготовке, реально помогают в решении повседневных задач. Например, взять сертификат 1С Специалист по платформе. После сдачи этой аттестации я стал гораздо меньше думать о мелких технических деталях, качество кода улучшилось, а время на написание сократилось. А в нашем деле, как и во многих других делах, время — деньги 🙂
Как сдается 1C Эксперт по технологическим вопросам
Аттестация специалистов на знание технических нюансов системы 1С 8.3 происходит в виде экзамена (первый день) и последующего тренинга (три дня).
В первый день проходит экзамен. Если Вы неудовлетворительно ответили на вопросы экзаменатора в первый день (получили минус), шанс получить заветный сертификат практически равен нулю — нужно было уделить больше времени подготовке. Однако обязательно останьтесь на последующий практический тренинг — на нём Вы получите неоценимый опыт. Если Вы на теоретической части получили «плюс минус», т.е. ответили не идеально, но в целом отвечали достаточно корректно, Вы можете доказать свою компетентность во время тренинга. Если же Вы блестяще подготовились и ответили на все вопросы экзаменатора, и получили «плюс» за теорию, Вы точно получите сертификат, однако Вам необходимо всё равно участвовать в семинаре.
На последующем, после экзамена, тренинге рассматриваются практические вопросы — как оптимизировать работу, поиск «узких мест», Вы увидите действие взаимоблокировок, научитесь находить не оптимально составленные запросы, поймете тонкости нагрузочных тестирований и многое другое. В целом, такие знания больше негде получить: либо самому достигать, набивая шишки на проекте, либо узнать от первоисточника (1С) за 3 коротких дня.
Если вдруг так получилось и Вы не сдали сертификацию «1С Эксперт по технологическим вопросам» с первого раза, то на пересдаче Вам уже не обязательно посещать тренинг.
Стоимость экзамена составляет 4500 рублей. Пример билета можно посмотреть тут.
Получите 267 видеоуроков по 1С бесплатно:
Скачать билеты 1С Эксперт
На экзамене каждому кандидату на звание эксперта выдаётся билет, в каждом из которых содержится 3 вопроса.
На этом ресурсе Вы можете скачать билеты, которые были найдены в интернете и собраны в один архив. Никто не гарантирует правильность их, однако это лучший вариант подготовки к экзамену:
Скачать билеты на экзамен 1С Эксперт
Что нужно знать, чтобы сдать 1С Эксперта?
Если коротко, то все необходимые знания можно разделить на четыре больших темы:
Рубрикатор материалов по 1С Эксперт
Теория:
Практика:
Примеры решения экзаменационных билетов:
Программа практического тренинга 1C Эксперт по технологическим вопросам
Первый день
Общие подходы и базовые методики решения технологических вопросов крупных внедрений на всех этапах жизненного цикла:
- на этапе подготовки проектирования и разработки;
- на этапе внедрения;
- на этапе рабочей эксплуатации.
Второй день
- «Центр управления производительностью»:
- мониторинг работоспособности и производительности;
- сбор информации о проблемах производительности при работе с данными, поиск «узких мест»;
- анализ проблем;
- типичные причины проблем производительности и масштабируемости;
- методы оптимизации;
- блокировки;
- взаимоблокировки.
Третий день
- повышение производительности и масштабируемости;
- решение технологических вопросов крупных внедрений;
- работа с кластерами;
- транзакции;
- методы организации хранения информации.
Материалы для подготовки к аттестации 1C Эксперт по технологическим вопросам
Книги:
Руководство администратора
Очень полезно для подготовки к эксперту ознакомиться с вопросами по технологическому журналу, организации кластеров и т.д.
Архитектура и работа с данными «1С: Предприятия 8.3».
организация данных при построении ИС на базе 1С
Профессиональная разработка в системе 1С Предприятие 8.2
Вопросы по организации данных, по оптимизации работы программы — это должен знать не то что эксперт, а специалист.
Ссылки:
http://kb.1c.ru/
Прежде всего хочется отметить официальный ресурс 1С — база знаний по технологическим вопросам при крупных внедрениях. Там собрана доступная информация от первоисточника — фирмы 1С.
http://chistov.spb.ru/forum/36
Ветка форума Павла Чистова о подготовке к сертификации 1С Эксперт по технологическим вопросам.
http://www.gilev.ru/1c/open.html
Кладезь полезной информации для экзамена от Вячеслава Гилёва.
http://partners.v8.1c.ru/forum/index.jsp
На партнерской конференции также можно найти большое количество полезной информации для подготовки.
Если Вас интересует и другая аттестация, Вам будет интересно:
Материалы опубликованы для ознакомления и не являются единственно правильными, это лишь точка зрения автора. Для подготовки к сертификации лучше всего посетить сертифицированные курсы в учебном центре фирмы 1С.Рекомендую ознакомиться с видео, где рассмотрены некоторые билеты для подготовки к экзамену 1С Эксперт по технологическим вопросам:
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
programmist1s.ru
Курсы обучения 1С Оптимизация в Челябинске
Учебные центры и фирмы проводящие курс обучения 1С Оптимизация в Челябинске: адреса и телефоны, отзывы слушателей, расписание, цены, вопрос-ответ, фото/видео презентации.
Компании где можно пройти курсы 1С Оптимизация в Челябинске
- Учебный центр “МИКОС”
- улица Энтузиастов, дом 28а, 1 этаж
- +7 (351) 222-00-22
- 4.7оценок: 3
- ВЦ "СофтСервис"
- ул. Труда, д. 91
- +7 (351) 771-88-11
- 4.6оценок: 14
- Учебный центр «VIP-Academy»
- улица Кирова, дом 19, офис 1005
- +7 (351) 727-00-05, +7 (908) 080-23-10, +7 (351) 233-73-10
- 4.0оценок: 2
- Автоматизация малого бизнеса
- проспект Победы, дом 160
- +7 (951) 245-42-24
- 0.0оценок: 0
- ОГАУ «Челябинский областной учебно-методический центр службы занятости населения»
- улица Грибоедова, дом 45
- +7 (351) 775-01-41
- 4.0оценок: 2
- НОУ ДПО Учебный Центр «РОКСИ»
- улица Курчатова, дом 19, офис 403
- +7 (351) 215-17-99
- 3.2оценок: 5
- Кадровый Центр - ТРУД
- проспект Ленина, дом 21В, БД Спиридонов, 3 этаж, оф. 304
- +7 (351) 737-01-59, +7 (351) 737-01-69
- 4.0оценок: 1
- ВИП-Академия (VIP-Academy)
- ул. Кирова 19, офис 1005
- 8 (351) 727-00-05
- 5.0оценок: 2
- Учебный центр Карьера
- ул. Красноармейская, д. 55
- +7 (351) 247-82-31
- 4.5оценок: 2
- Компания 1С:Франчайзи Сумма технологий
- Ферросплавная улица, дом 126А, офис 4108 («Дом контор на Горького», справа от здания налоговой Калининского района)
- +7 (351) 225-15-75
- 4.0оценок: 3
- Компания «Автоматизация бизнеса»
- улица Энгельса, дом 44г, 2-й этаж
- +7 (351) 235-38-68
- 3.0оценок: 2
- Учебный центр ЮУИУиЭ на Кожзаводской
- улица Кожзаводская, дом 1
- +7 (351) 731-01-10, +7 (351) 731-01-18
- 0.0оценок: 1
1c-kursy.ru
Проект Курсы-по-1С.рф. Разработка и оптимизация запросов в 1С: Предприятие 8.3 [PDF]
Автор не указан. — Дистанционный тренинг. — Москва: Проект Курсы-по-1С.рф, 2014. — 101 с.Профессиональные курсы по 1ССодержание:Введение Содержание курса Требования для прохождения курса Компоненты курса Рекомендуемая схема обучения Общая информация о хранении данных в «1С:Предприятие 8»Получение данных из базы Модели доступа к данным Объектная модель доступа к данным Преимущества и ограничения объектного доступа Табличная модель доступа к даннымТаблицы объектов метаданных Константы Планы обмена Справочники Документы Последовательности Журналы документов Перечисления Планы видов характеристик Планы счетов Планы видов расчета Регистры сведений Регистры накопления Регистры бухгалтерии Регистры расчета Бизнес-процессы Задачи Физические и виртуальные таблицы Физические таблицы Виртуальные таблицы Внешние источники данныхСинтаксис текста запроса Язык запросов Сравнение языка запросов с SQL Структура запроса Псевдонимы полей Комментарии в языке запросов Группировка результатов запроса Упорядочивание результатов запроса АвтоупорядочиваниеОтличие поля Представление от функции ПРЕДСТАВЛЕНИЕ()Ключевое слово ПЕРВЫЕКлючевое слово РАЗЛИЧНЫЕ Оператор ПОДОБНО Табличные части справочников и документов в запросах Функция ЗНАЧЕНИЕ() Типы данных в запросах Видеоурок. Особенность предложения ИЗ Видеоурок. Особенность СГРУППИРОВАТЬ ПО Ключевое слово РАЗРЕШЕННЫЕ Работа с итогами в тексте запросаПредназначение итогов Предложение ИТОГИ Итоги для иерархических справочников Получение итогов по нескольким полямИспользование нескольких таблиц в запросе: вложенные запросы, соединение, объединениеНазначение вложенных запросовИтоги во вложенных запросахВиды соединения таблицПроизводительность полного соединения при использовании СУБД PostgreSQLРазыменование полей в запросеОдновременное использование ОБЪЕДИНИТЬ ВСЕ и ОБЪЕДИНИТЬ в запросеКлючевое слово ПУСТАЯТАБЛИЦАОтличие соединения таблиц от объединенияРабота с запросами при помощи встроенного языкаТипы данных для работы с запросамиПередача параметров в запросСхематическое отображение вариантов обхода результата запросаИспользование временных таблиц и пакетных запросовНазначение временных таблицМенеджер временных таблиц Назначение пакета запросовСоздание пакета запросов при помощи конструктораИспользование виртуальных таблиц в запросеРеальные и виртуальные таблицыСтруктура регистра сведенийСтруктура регистра накопленияПолучение остатковУстройство виртуальной таблицы остатковУстройство виртуальной таблицы Обороты для остаточных регистровУстройство виртуальной таблицы Обороты для оборотных регистровПолучение остатков и оборотовУстройство виртуальной таблицы ОстаткиИОборотыСтруктура регистра бухгалтерииТаблица значений субконтоПараметры виртуальной таблицы остатковПолучение оборотов из регистра бухгалтерииПараметры виртуальной таблицы оборотовПолучение остатков и оборотовРегистры расчетов. Таблицы, доступные для регистров расчетаОсновная таблица регистра расчетаПерерасчеты Оптимизация запросовАктуальность задачи оптимизации запросовВключать в выходные поля только необходимые данныеВыбирать объектную или табличную методику получения данныхИндексирование таблицСоединение с подзапросамиСоединение с виртуальными таблицамиИспользование ИЛИ в условияхПолучение данных через точку от полей составного типаИспользование параметров виртуальных таблицНе использовать запрос в циклеНе использовать функции от параметров запроса Не использовать получение поля Ссылка через точку от ссылочных данныхНе применять избыточное агрегирование при использовании виртуальных таблицНе использовать вывод ссылочных полей в отчетИзбегать запросов к пустым таблицам в режиме автоматических блокировокЗапрос изменяется при использовании RLS (ограничение прав на уровне записей)Сложные случаи написания запросовСрез последних на каждую датуСрез последних при помощи запросаГенерация последовательности чисел и датНумерация строк в запросеОстатки в периоде, когда не было движенийКоличество дней наличия товара на складеВыбор значений из регистра сведений за период (описание задачи)Расчет накопительных скидокПолучить первую попавшуюся записьАналог оператора EXISTS из SQLПоследнее поступление по каждому товаруКейсы по запросамДинамика курсов валютДинамика курсов валют с количеством дней одинакового курсаРасчет премии сотрудникамВзаиморасчеты по направлениям деятельностиСписание по партиямСписок потенциальных покупателейПеречень давно не обращавшихся клиентовКонтроль оперативности обработки заказовРуководители компаний-должниковСклад карантинаОтчет по продажамОтчет по доходам и расходамwww.twirpx.com