ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ

Поделиться
12.05.2016
ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ - фото 1

Нередко пользователи 1С сталкиваются с проблемой медленного проведения документов или формирования отчетов, конфликтом блокировок при проведении документов, в случае увеличения нагрузки это может привести к полной невозможности работы с программой.

Скорость обработки данных и запросов в 1С : Предприятие зависит от многих факторов: технических данных сервера, настройки операционной системы и сервера баз данных с которым работает программный комплекс «1С: Предприятие».

В качестве сервера баз данных в промышленных системах для 1С чаще всего используется MSSQL сервер.

 

MS SQL Server в работе с 1С : Предприятие обеспечивает:

надежное хранение всех данных;

все операции по извлечению, внесению, удалению и модификации данных в 1С : Предприятие.

Схема работы приложений 1С : Предприятие представлена на рисунке:

ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ - фото 2Как решается проблема “в лоб”. Вкладываются деньги в модернизацию серверов(сервера приложений и сервера баз данных), на которых работает 1С. Это помогает на какое-то время, но с ростом объема обрабатываемых данных аппаратных ресурсов снова не хватает.

Как же минимизировать простои информационной системы на базе 1С и соблюсти SLA(соглашение об уровне сервиса) по обеспечению доступности и надежности работы системы на базе 1С?

Хорошие результаты приносит работа по тонкой настройке сервера баз данных и оптимизация программного кода 1С.

 

Какие методы применяются компанией РИДОС для выявления проблем производительности:

централизованный и автоматизированный сбор статистики, относящейся к работе оборудования;

определение узких мест существующей конфигурации и неиспользуемых в настоящее время ресурсов;

перераспределение существующих ресурсов с целью оптимальной утилизации имеющихся ресурсов;

постоянный анализ статистики для отслеживания характера изменений, чтобы не отстать от развития компании.

централизованный и автоматизированный сбор статистики, относящейся к работе ОС, SQL Server и 1С : Предприятие;

определение и оптимизация сеансов и отчетов, вносящих наибольший вклад в общую нагрузку на систему;

тонкая настройка системы под изменяющиеся требования компании.

 

Примеры оптимизации и переопредиления применяемые в решении «РиДОС: Оптимизация скорости работы 1С : Предприятие»

Ниже приведены ряд примеров из практики специалистов РИДОС по оптимизации работы систем на базе 1С Предприятие.

Отметим, что конкретное решение по включению той или иной настройки применяется только после анализа специалистами нагрузки на программно-аппаратный комплекс и не может применяться в общем случае.

 

1. Анализ статистики времени ожидания задачами SQL Server

Время ожидания – это время до выполнения задачи, которое SQL Server был вынужден ждать от системы, вместо того, чтобы выполнять свою работу, т.е. это по своей сути время простоя.

Было:

ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ - фото 3

Почти 90% времени тратилось на простои, связанные с разделением выполнения запросов по нескольким ядрам процессора и объединением распараллеленных потоков в один, что помимо прочего создавало большую нагрузку на процессор и оказалось в целом неэффективно для данного характера нагрузки.

 

Распараллеливание нагрузки:

ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ - фото 4

Примененное решение:

Отключение распараллеливания нагрузки по нескольким ядрам процессора

По результатам анализа перенастроили SQL Server, запретив ему распараллеливать запросы

 

Стало:

ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ - фото 5
 

Показатели времени ожидания без распараллеливания нагрузки

82% времени ожидания относится к внутренним процессам SQL Server (обведены зеленым), которые и должны простаивать как можно больше (именно поэтому LAZYWRITER и называется LAZY).

При этом задачи связанные с полезной работой SQL Server (обведены синим) тратят на простои суммарно примерно 15% от общего времени ожидания.

 

«Побочный» эффект анализа времени ожидания в SQL Server дал еще один положительный результат, изменилась нагрузка на ЦПУ после перенастройки:

ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ - фото 6
 

2. Анализ и изменение долго выполняющихся запросов.

Алгоритм нахождения долго выполняющихся запросов:

трассировка запросов средствами SQL Server;

сопоставление долго выполняющихся запросов с сеансами и отчетами 1С : Предприятие.

Пути оптимизации долго выполняющихся запросов:

изменение запросов внутри 1С : Предприятие

создание составных индексов средствами SQL Server и 1С : Предприятие

 

2.1 Пример оптимизации отчета 1С средствами MSSQL

ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ - фото 7

Запрос выполнялся 235,5 секунд.

ОПТИМИЗАЦИЯ СКОРОСТИ РАБОТЫ 1С : ПРЕДПРИЯТИЕ - фото 8

После переписывания кода 1С и оптимизации запроса запрос стал выполняться за 77 секунд, т.е. примерно в 3 раза быстрее.

 

2.2 Следующий шаг оптимизации данного запроса

— изменение логики и создание дополнительных индексов привел к результату в 36-40 секунд времени выполнения, т.е. быстрее в 6-6,5 раз по сравнению с первоначальным вариантом.

Ждем ваших обращений! И, конечно же, будем рады ответить на ваши вопросы! Их вы можете задать, воспользовавшись формой ниже, или по телефону:   +7 499 110-35-26

ОСТАЛИСЬ ВОПРОСЫ? СВЯЖИТЕСЬ С НАМИ

Пример: +7 (499) 110-35-26

Please leave this field empty.
или позвоните нам +7 (499) 110-35-26