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