11 апреля 2023

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

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


Причины замедления программ не всегда очевидны, поэтому мы предложим ряд действенных способов решений данной проблемы. В одних случаях достаточно изменить отдельные настройки, а в других необходим комплексный подход и даже апгрейд «железа». Но вложения окупят себя: в итоге оптимизации повысится скорость и продуктивность работы сотрудников, снизится нагрузка на ИТ-отдел.

Снижение производительности систем на базе 1С непосредственно сказывается на эффективности бизнес-процессов: возрастают затраты на поддержку IT-инфраструктуры, замедляется работа сотрудников. Представьте, когда такая простая операция, как проведение заказа клиента или резервирование товара на складе занимает 10-15 минут вместо положенных пяти минут, а это означает, что эффективная работа вашего менеджера снижается в 3 раза!

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

Основные причины низкой производительности программных продуктов 1С

  • Несоответствие аппаратного обеспечения объему базы и нагрузке системы. Другими словами, неправильно подобранное «железо», которое не справляется с объемом необходимым для обработки информации. На что тут следует обратить внимание: объем оперативной памяти, частота процессора, скорость жестких дисков.
  • Несвоевременное обновление платформы или конфигурации. Компания 1С регулярно выпускает новые релизы как платформ, так и конфигураций, где не только добавляется новый функционал, но и устраняются баги, которые мешают высокой производительности.
  • Некорректные настройки программного обеспечения. 1С и другие вендоры регулярно делятся best practices, где дают рекомендации по настройкам аппаратного обеспечения, чтобы продукты 1С работали удовлетворительно. Рекомендации можно найти, например, на сайте ИТС.
  • Длительные вызовы и запросы SQL и 1С могут значительно снизить производительность, такие ситуации стоит мониторить регулярно.
  • Установленное на сервере стороннее ПО, требующее потребления большого количества ресурсов (браузеры, видеоплееры, антивирусы, игры).
  • Регламентные и фоновые задания могут оказать значительное влияние на производительность, поэтому их рекомендуется вынести на отдельный сервер, запускать только ночью, снизить частоту запросов или отключить вовсе для автоматического запуска.
  • Отсутствие регламентной процедуры обслуживания базы приводит к накоплению кэша, лишних документов и т.д.

Аудит информационной базы 1С

Чтобы понять, что мешает системе «дышать» свободно, необходимо провести обследование всего аппаратного обеспечения. Это поможет найти узкие места и исключить «железо» как источник неудовлетворительной производительности.

Что обычно смотрят наши эксперты при поиске узких мест:

  • характеристики аппаратной части (память, процессор, SSD и т.п.);
  • рабочая и тестовая инфраструктура (количество пользователей̆ и операций, ключевые операции, наличие ПО и инструментов мониторинга);
  • настройки регламентных операций обслуживания серверов 1С и СУБД;
  • настройка сбора данных для технологического журнала и логов загрузки оборудования;
  • логи технологического журнала (самые долгие запросы, клиентские вызовы, ожидания на блокировках, самые нагруженные операции, события и ошибки кластера).

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



Рекомендации основаны на лучших практиках применения настроек 1С, Microsoft, PostgreSQL и т.д., а также на многолетнем опыте наших экспертов по технологическим вопросам. Данные технологического журнала помогают разобрать длительные запросы SQL, серверные вызовы, блокировки и взаимные блокировки.

Затем составляется план по оптимизации производительности, включающий устранение «узких мест», переустройство ИТ-инфраструктуры, подбор новых параметров программной и аппаратной части.

Методы ускорения и оптимизации 1С

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

Улучшение характеристик серверного оборудования и программного обеспечения (ПО)

Если после аудита будет выявлено, что серверное оборудование подобрано не оптимально, необходимо найти решение по исправлению этой ситуации. В рамках одного аудита подобрать аппаратное обеспечение невозможно, так как каждая система уникальна, имеет свою специфику, а, значит, и нагрузка на оборудование будет разной.

В данной ситуации можно положиться на опыт эксперта.

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

Основная область применения нагрузочного теста — выбор оптимальной конфигурации серверного оборудования и ПО для конкретного предприятия.

В процессе проведения теста автоматически увеличивается количество эмуляций одновременно производящих одно и то же действие пользователей. Эта операция повторяется до тех пор, пока один из аппаратных или программных компонентов системы не перестанет справляться с нагрузкой. В дальнейшем осуществляется замена или апгрейд наименее производительного компонента и тем самым достигается более высокая производительность.


свойства сервера 1С

Проработка ИТ-архитектуры для оптимального распределения нагрузки

Правильно построенная архитектура сетей не менее важна, чем характеристики самого «железа». Важно соблюсти соответствие между техническими характеристиками сервера, в первую очередь, процессора и оперативной памяти, и системными требованиями программы 1С. К тому же необходимо следить, чтобы на диске оставалось свободное место не менее 2 Гб, а скорость интернет-соединения была не ниже 100 мБ/сек.

Оптимизация регламентных и фоновых заданий

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

Рекомендуем проанализировать перечень заданий и отключить автоматические обновления тех из них, которые не являются необходимыми в работе, и настроить время их выполнения, чтобы минимизировать их влияние в пиковую нагрузку системы (например, снизить частоту обращений или проводить задания ночью).

Отключение неиспользуемых модулей программы

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

Оптимизация запросов в 1С

Корректировка запросов может ускорить работу программ 1С. Рекомендуем по возможности отказаться от логического «или», использования подзапросов при соединении, получения данных через точку без ключевого слова «выразить», соединения обычных и виртуальных таблиц, подзапросов и таблиц. 

Вместо этого можно создавать индексы в полях типов «соединение», «сортировка», «агрегация». Допустимо создавать фильтры в виртуальных таблицах с использованием параметров отбора.

Оптимизация SQL-запросов

В настройках SQL сервера рекомендуем выставить максимальный порог потребления памяти, иначе SQL может занять всю свободную память. Если сервер 1С установлен вместе с Microsoft SQL Server, они могут обмениваться данными через оперативную память, минуя сетевое соединение, при включении протокола Shared Memory.


Оптимизация SQL-запросов

Для непосредственной оптимизации SQL-запросов есть ряд полезных советов:

  • писать простые запросы;
  • оформлять повторяющиеся коды в пользовательскую процедуру;
  • минимизировать использование подзапросов;
  • следить за правильным порядком соединения таблиц;
  • использовать оператор IN только в критериях фильтрации в подзапросе;
  • использовать конкретные имена столбцов после оператора select вместо «звездочки»;
  • использовать в разделе WHERE максимально возможное количество ограничивающих условий;
  • при соединении таблиц использовать оператор EXIST.

Оптимизация использования индексов в 1С

Чрезмерное количество индексов или, наоборот, их нехватка негативно влияют на оперативность проведения выборки, добавление, изменение или удаление данных. Решение этой проблемы − удаление индексов или их блокировка с сохранением возможности активизации по мере необходимости.

Оптимизировать обмены между программными продуктами и ускорить интеграции могут брокеры сообщений или шины данных

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

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

Например, такую задачу может выполнить программный продукт 1С:Шина. С его помощью скорость формирования управленческой и регламентированной отчетности возрастает минимум на 15-20%, как показывает опыт внедрения продукта в компаниях с большим количеством информационных баз и систем.


Вместо вывода предлагаем вам проанализировать, сколько денег теряет ваша компания из-за медленной работы IT-инфраструктуры и сколько может стоить полный простой системы в сутки в случае ее полного отказа. И здесь речь не только про выставление счетов, учет денежных средств или вовремя сданной отчетности, но и о психологическом состоянии сотрудников, что может сказаться как на их эффективности, так и на лояльности к компании в целом.


Обратитесь к нам сегодня!
Мы подберём решение специально для вашего бизнеса

Отзывы клиентов

«Компания Первый БИТ проявился себя как компетентный разработчик программных решений и надёжный партнёр по автоматизации финансовых процессов и управленческого учёта. Мы довольны функционалом и качеством программы "БИТ.ФИНАНС. Управленческий учёт" и надеемся на дальнейшее плодотворное сотрудничество».
Ю.А. Гущина
финансовый директор
Выражаем благодарность специалистам Ernst & Young и Первого Бита за ответственный подход к решению масштабных задач, поиск решения для любой задачи, соблюдение сроков и договорённостей.
Михаил Юрьевич Логанов
генеральный директор
«Операционный департамент получил удобный механизм для внесения в систему данных о товарах и формирования заказов поставщику, в системе вносятся плановые данные по ОТВ, отслеживаются все складские движения товаров, рассчитывается рентабельность продаж с учётом разнесённых дополнительных затрат, реализована интеграция со сторонними системами».
Всеволод Бурмистров
Руководитель группы контроля бизнес-процессов Shopping Live