Почему 1С не использует все ресурсы процессора и как ускорить работу файловой базы?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет Торговля и дистрибуция
← На главную

Рассмотрим распространенную проблему, с которой сталкиваются владельцы небольших баз 1С: при выполнении тяжелых операций или расчетов нагрузка на центральный процессор выглядит странно — например, ровно 50% на двухъядерном процессоре. Разберем, почему это происходит и как выжать максимум из имеющегося оборудования.

Понимание архитектуры: почему процессор загружен лишь частично

Первое, что мы выясним — это принцип работы платформы 1С:Предприятие. Большинство операций, выполняемых в файловом варианте базы (в файле 1Cv8.1CD), являются однопоточными. Это означает, что для вычисления одного конкретного тяжелого запроса или проведения документа 1С использует только одно ядро процессора.

Если у вас установлен двухъядерный процессор (например, Intel G4400), то диспетчер задач покажет ровно 50% нагрузки, так как одно ядро занято на 100%, а второе простаивает. Если бы у вас было 4 ядра, загрузка составила бы 25%. Таким образом, покупка процессора с большим количеством ядер для файловой базы практически бесполезна для ускорения одного сеанса. Для 1С важна не многопоточность, а производительность на одно ядро (тактовая частота и архитектура процессора).

Ограничения файловой версии и блокировки

Разберем, почему возникают «тормоза» при одновременной работе нескольких пользователей. В файловой базе при записи данных или тяжелых расчетах происходит блокировка таблиц (а иногда и всего файла базы данных). Это создает очередь: кассы и другие рабочие места вынуждены «ждать», пока завершится операция одного пользователя. Это «узкое горлышко» не лечится заменой железа на более мощное — это ограничение самой архитектуры.

Как ускорить работу 1С: основные этапы оптимизации

Чтобы кардинально изменить ситуацию, проанализируем следующие варианты действий:

  1. Оптимизация существующей файловой базы. Регулярно выполняйте Тестирование и исправление (ТИИ), чтобы уменьшить размер файла и индексную структуру. Однако помните, что это лишь временная мера.
  2. Переход на клиент-серверный вариант (SQL). Это наиболее эффективное решение для сети из нескольких пользователей. Переход на SQL позволяет избежать табличных блокировок — база будет блокировать только конкретные записи, что позволит пользователям работать параллельно без ожидания.
  3. Выбор СУБД. Совсем необязательно покупать дорогостоящий MS SQL Server. 1С прекрасно работает с бесплатной СУБД PostgreSQL. Для небольших организаций существует бюджетный вариант лицензирования — Сервер МИНИ на 5 подключений.
  4. Требования к «железу» при переходе на SQL. Обязательно учитывайте, что для работы PostgreSQL потребуется больше оперативной памяти. ОЗУ желательно увеличить как минимум до 16-32 Гб, так как сервер будет активно кэшировать данные.

Важное предупреждение: почему HDD — это плохая идея

При переходе на SQL-версию многие совершают критическую ошибку, перенося базу на обычные жесткие диски (HDD) ради их объема или «долговечности». Разберем, почему это недопустимо: серверы баз данных совершают тысячи мелких операций ввода-вывода (IOPS) в секунду. Обычный HDD физически не способен справиться с такой нагрузкой, что приведет к замедлению работы системы в разы. Использование SSD — строго обязательно, а для защиты от износа лучше использовать серверные модели SSD с высоким ресурсом записи (TBW).

Работа через веб-сервер и удаленный доступ

Если вы опасаетесь, что после перехода на SQL-сервер перестанет работать удаленный доступ для бухгалтера через веб-сервер (IIS или Apache), спешим вас успокоить: веб-сервер штатно работает с клиент-серверными базами. После публикации базы на веб-сервере просто меняется тип подключения в настройках, а для пользователей (включая удаленных) процесс работы остается абсолютно прозрачным и привычным.

Подводя итог, проанализируем текущую конфигурацию: если база стала тяжелой из-за маркировки товаров и обновлений, оптимальным путем станет развертывание 1С:Сервер МИНИ в связке с PostgreSQL на SSD-накопителе. Это решит проблему блокировок и позволит базе полноценно масштабироваться в рамках серверной архитектуры.

← На главную