Оптимизация работы системы 1С с помощью внутренних и внешних инструментов

1.

Оптимизация работы
системы 1С с помощью
внутренних и внешних
инструментов
Ускорение и оптимизация 1С

2.

Меня хорошо видно
& слышно?

3.

Защита проекта
Тема: Оптимизация работы системы 1С с
помощью внутренних и внешних
инструментов
Бахметьев Сергей
Работаю в сфере программирования 1С с 2013 года
Начальник отдела разработки
Документооборот, Бухгалтерия и ЗУП
Интеграция с внешними базами данных

4.

План защиты
Цель и задачи проекта
Какие технологии использовались
Что получилось
Выводы
Вопросы и рекомендации

5.

Цель и задачи проекта
Цель проекта: Закрепить полученные знания на курсе
1.
Настройка серверов и баз 1С для ускорения работы
2.
Описание работы внешних инструментов изученных на курсе
3.
Пример применения инструментов и анализ полученного результата
4.
Разберем рабочий пример на базе конфигурации документооборота

6.

Какие технологии использовались
1.
Консоль запросов, консоль заданий, замер производительности
2.
1С Монитор – простой в настройке и удобен в использование.
Необходимо добавить службу на сервер 1С
3.
Сервисы Гилева – так же легко настраиваемые, но не требует
установки дополнительных служб
4.
SQL Profiler – показывает основные данные по выполнению
запроса, а так же можно посмотреть схематично как выглядит
запрос на стороне SQL

7.

Настройка рабочих процессов на сервере 1С
Максимальное количество пользователей 200
Количество ядер в процессоре 8
Рассчитываем количество соединений на процесс
По формуле: 200 / 8 = 25

8.

Настройка базы 1С Бухгалтерия
Отключил оценку производительности
Отключил полнотекстовый поиск
Так же отключил не нужные регламентные
задания или увеличил интервал работы
Провел тестирование и исправление
информационной базы

9.

Системный монитор (performance monitor)
Сделал замеры производительности с помощью системного монитора на сервере 1С и
SQL
Замеры были сделаны в пиковое время нагрузки (закрытие отчетности)
SQL
1C

10.

1C Монитор
Установил конфигурацию
1С Монитор, с помощью которой
Отслеживаю долгие запросы
выполняющиеся дольше 5 секунд

11.

Сервисы Гилёва
Зарегистрировался на сайте http://www.gilev.ru/
Установил конфигурацию Query TJ Client, которая отправляет данные по запросам

12.

SQL Profiler
Научился пользоваться
SQL profiler и применяю для
оптимизации запросов.
Схематично визуализирует
запрос, что помогает
определить узкие места.
Показывает все необходимые
данные выполненного запроса:
время выполнения, количество
чтений и т.п.

13.

Пример применения SQL Profiler
При выводе печатной формы в конфигурации документооборота, запрос несколько раз
брал одни и те же данные из таблицы задачи.
После помещения всех данных из таблицы задачи во временную таблицу, увеличилась
скорость выполнения и снизилось количество чтений данных

14.

Оптимизация записи пользователя в БД
В конфигурации 1С документооборот 8 КОРП,
редакция 2.1, при добавлении нового
пользователя, элемент
записывался 7-10 минут. В течении данного
времени, администратор добавляющий
пользователей в базу, не мог производить ни
каких действий. Форма просто висела все это
время.

15.

Оптимизация записи пользователя в БД
Произвел замер производительности

16.

Оптимизация записи пользователя в БД
Нашел узкое место
и провел анализ выполнения
кода.

17.

Оптимизация записи пользователя в БД
При записи нового пользователя, запускается алгоритм обновления и расчёта прав
На каждый вид документа справочника ВнутренниеДокументы, идет запрос данных в
справочник ДескрипторыДоступаОбъектов
Т.е. Внутри цикла выполняет еще один цикл и внутри него выполняет запрос.
И так 5500 раз

18.

Оптимизация записи пользователя в БД
Было принято решение выполнять запись в фоновом задание
Для этого добавил на форму кнопку Сохранить в фоне

19.

Оптимизация записи пользователя в БД
Теперь это проблема планировщика заданий

20.

Выводы
1.
Повторил пройденный материал
2.
Решил проблему записи пользователя в БД

21.

Вопросы и рекомендации
+
если есть вопросы

если вопросов нет

22.

Спасибо за внимание!
English     Русский Правила