Содержание статьи
Причины замедления программ не всегда очевидны, поэтому мы предложим ряд действенных способов решений данной проблемы. В одних случаях достаточно изменить отдельные настройки, а в других необходим комплексный подход и даже апгрейд «железа». Но вложения окупят себя: в итоге оптимизации повысится скорость и продуктивность работы сотрудников, снизится нагрузка на ИТ-отдел.
Снижение производительности систем на базе 1С непосредственно сказывается на эффективности бизнес-процессов: возрастают затраты на поддержку IT-инфраструктуры, замедляется работа сотрудников. Представьте, когда такая простая операция, как проведение заказа клиента или резервирование товара на складе занимает
Бывают и совсем экстремальные ситуации, когда нужно ждать формирования отчетов по несколько часов или каждый раз перезапускать сеанс, чтобы провести документы. Долго загружается база, отчеты формируются по несколько минут, система зависает и помогает только перезагрузка компьютера — все эти факторы в разы замедляют продуктивность сотрудников.
Основные причины низкой производительности программных продуктов 1С
Аудит информационной базы 1С
Чтобы понять, что мешает системе «дышать» свободно, необходимо провести обследование всего аппаратного обеспечения. Это поможет найти узкие места и исключить «железо» как источник неудовлетворительной производительности.
Что обычно смотрят наши эксперты при поиске узких мест:
- характеристики аппаратной части (память, процессор, SSD и т.п.);
- рабочая и тестовая инфраструктура (количество пользователей̆ и операций, ключевые операции, наличие ПО и инструментов мониторинга);
- настройки регламентных операций обслуживания серверов 1С и СУБД;
- настройка сбора данных для технологического журнала и логов загрузки оборудования;
- логи технологического журнала (самые долгие запросы, клиентские вызовы, ожидания на блокировках, самые нагруженные операции, события и ошибки кластера).
По итогам выполненного мониторинга и анализа составляется техническая записка, содержащая описание текущей̆ информационной̆ среды и набор рекомендаций, которые необходимо выполнить для повышения показателей̆ производительности или устранения выявленных проблем. В таком отчете содержится подробная информация о проблемах оборудования, настройках СУБД, сервера 1С, кода конфигурации или ее архитектуры.
Рекомендации основаны на лучших практиках применения настроек 1С, Microsoft, PostgreSQL и т.д., а также на многолетнем опыте наших экспертов по технологическим вопросам. Данные технологического журнала помогают разобрать длительные запросы SQL, серверные вызовы, блокировки и взаимные блокировки.
Затем составляется план по оптимизации производительности, включающий устранение «узких мест», переустройство ИТ-инфраструктуры, подбор новых параметров программной и аппаратной части.
Методы ускорения и оптимизации 1С
Когда причины низкой производительности выявлены, можно воспользоваться одним или несколькими способами повышения показателей и возвращения системы в рабочее русло.
Улучшение характеристик серверного оборудования и программного обеспечения (ПО)
Если после аудита будет выявлено, что серверное оборудование подобрано не оптимально, необходимо найти решение по исправлению этой ситуации. В рамках одного аудита подобрать аппаратное обеспечение невозможно, так как каждая система уникальна, имеет свою специфику, а, значит, и нагрузка на оборудование будет разной.
В данной ситуации можно положиться на опыт эксперта.
Нагрузочный тест предназначен для оценки производительности всей совокупности серверного оборудования и ПО с точки зрения типовых задач. Многопользовательское нагрузочное тестирование помогает получить оценку производительности, произвести анализ возникающих проблем и в итоге оптимизировать работу платформы.
В процессе проведения теста автоматически увеличивается количество эмуляций одновременно производящих одно и то же действие пользователей. Эта операция повторяется до тех пор, пока один из аппаратных или программных компонентов системы не перестанет справляться с нагрузкой. В дальнейшем осуществляется замена или апгрейд наименее производительного компонента и тем самым достигается более высокая производительность.
Проработка ИТ-архитектуры для оптимального распределения нагрузки
Правильно построенная архитектура сетей не менее важна, чем характеристики самого «железа». Важно соблюсти соответствие между техническими характеристиками сервера, в первую очередь, процессора и оперативной памяти, и системными требованиями программы 1С. К тому же необходимо следить, чтобы на диске оставалось свободное место не менее 2 Гб, а скорость интернет-соединения была не ниже 100 мБ/сек.
Оптимизация регламентных и фоновых заданий
Среди фоновых служб, выполняемых по умолчанию на регулярной основе — обновление курса валют, классификаторов банков, новостной ленты, проверка наличия новых электронных документов и прочее. На каждый из процессов выделяется программный и аппаратный ресурс.
Рекомендуем проанализировать перечень заданий и отключить автоматические обновления тех из них, которые не являются необходимыми в работе, и настроить время их выполнения, чтобы минимизировать их влияние в пиковую нагрузку системы (например, снизить частоту обращений или проводить задания ночью).
Отключение неиспользуемых модулей программы
Не все из встроенных модулей, расширяющих основной функционал системы, реально применимы в работе конкретной организации, но ресурсы они, как и фоновые процессы, отнимают. Неиспользуемые модули можно отключить по тому же принципу, что и процессы. Эта операция обратима.
Оптимизация запросов в 1С
Корректировка запросов может ускорить работу программ 1С. Рекомендуем по возможности отказаться от логического «или», использования подзапросов при соединении, получения данных через точку без ключевого слова «выразить», соединения обычных и виртуальных таблиц, подзапросов и таблиц.
Вместо этого можно создавать индексы в полях типов «соединение», «сортировка», «агрегация». Допустимо создавать фильтры в виртуальных таблицах с использованием параметров отбора.
Оптимизация SQL-запросов
В настройках SQL сервера рекомендуем выставить максимальный порог потребления памяти, иначе SQL может занять всю свободную память. Если сервер 1С установлен вместе с Microsoft SQL Server, они могут обмениваться данными через оперативную память, минуя сетевое соединение, при включении протокола Shared Memory.
Для непосредственной оптимизации SQL-запросов есть ряд полезных советов:
- писать простые запросы;
- оформлять повторяющиеся коды в пользовательскую процедуру;
- минимизировать использование подзапросов;
- следить за правильным порядком соединения таблиц;
- использовать оператор IN только в критериях фильтрации в подзапросе;
- использовать конкретные имена столбцов после оператора select вместо «звездочки»;
- использовать в разделе WHERE максимально возможное количество ограничивающих условий;
- при соединении таблиц использовать оператор EXIST.
Оптимизация использования индексов в 1С
Чрезмерное количество индексов или, наоборот, их нехватка негативно влияют на оперативность проведения выборки, добавление, изменение или удаление данных. Решение этой проблемы − удаление индексов или их блокировка с сохранением возможности активизации по мере необходимости.
Вместо вывода предлагаем вам проанализировать, сколько денег теряет ваша компания из-за медленной работы IT-инфраструктуры и сколько может стоить полный простой системы в сутки в случае ее полного отказа. И здесь речь не только про выставление счетов, учет денежных средств или вовремя сданной отчетности, но и о психологическом состоянии сотрудников, что может сказаться как на их эффективности, так и на лояльности к компании в целом.