Многие системные администраторы и программисты сталкиваются с тем, что после перехода с «1С:Бухгалтерия 2.0» (на обычных формах) на версию 3.0 (на управляемых формах) производительность системы резко падает. Если старая версия «летала» на существующем оборудовании, то новая начинает работать крайне медленно даже при небольшом количестве пользователей. Разберем детально, почему так происходит и какие шаги нужно предпринять для ускорения работы 1С.
Первое, на что стоит обратить внимание — это тактовая частота процессора. В конфигурациях на управляемых формах, таких как «Бухгалтерия предприятия 3.0», огромная часть кода выполняется в один поток. Рассмотрим ситуацию: старые серверные процессоры (например, Xeon E5620) имеют низкую частоту на ядро (около 2.4 ГГц). Для платформы 1С 8.3 этого недостаточно. Выясним причину: даже если у вас 2 процессора по 8 ядер, 1С будет использовать только одно ядро для конкретной операции формирования отчета, и это ядро будет работать медленно.
Рекомендация по процессору: Для комфортной работы управляемых форм требуются процессоры с частотой от 3.0 ГГц и выше. В некоторых случаях выгоднее собрать сервер на «бытовом» процессоре с высокой частотой, чем использовать старые многоядерные Xeon с низкой частотой.
Второй критический фактор — дисковая подсистема. Традиционные механические диски (HDD), даже со скоростью 15 000 оборотов (15k SAS) в зеркальном рейде, не обеспечивают нужной скорости случайного чтения и записи для файловых баз 1С. Проанализируем нагрузку: 15-20 пользователей, работающих в разных базах, создают огромное количество мелких запросов к диску. Средняя длина очереди диска в таких условиях быстро растет.
Рекомендация по дискам: Единственным эффективным решением является переход на SSD (желательно уровня Enterprise). Замена HDD на SSD дает самый ощутимый прирост скорости в файловом режиме работы.
Рассмотрим вариант публикации баз через веб-сервер (Apache или IIS). Традиционный терминальный доступ (RDP) потребляет значительные ресурсы сервера на отрисовку рабочего стола и обслуживание сессии каждого пользователя. Если мы опубликуем базу через веб-сервер и будем использовать «Тонкий клиент», нагрузка на сервер перераспределится.
Разберем преимущества работы через веб-сервер:
Для реализации этого метода можно поднять веб-сервер Apache. Это бесплатно и достаточно эффективно для небольших групп пользователей (до 10-15 человек на одну базу). Если же баз много, рекомендуется разносить их по разным пулам приложений или даже разным инстансам веб-сервера, чтобы обновление или сбой в одной базе не блокировали работу остальных.
Посмотрим на настройки электропитания сервера. По умолчанию в Windows Server часто стоит режим «Сбалансированный». Для 1С это губительно. Процессор не успевает мгновенно выйти из энергосберегающего режима при поступлении короткого, но интенсивного запроса от 1С. Установите схему «Высокая производительность» (High Performance). Аналогичные настройки следует проверить в BIOS сервера (отключить C-States и Intel SpeedStep).
Если вы планируете использовать клиент-серверный вариант (SQL), обратите внимание на следующие моменты:
postgresql.conf. Параметры по умолчанию рассчитаны на минимальное потребление ресурсов. Нужно увеличить shared_buffers, настроить effective_cache_size и autovacuum.Проанализируем работу самой конфигурации. В «Бухгалтерии предприятия 3.0» по умолчанию включено множество регламентных заданий, которые могут запускаться одновременно во всех 20 базах. Это убивает производительность любого диска. Рекомендуется зайти в раздел Администрирование -> Обслуживание -> Регламентные и фоновые задания и отключить ненужные, такие как:
Также важно следить за антивирусом. Он может проверять каждый файл *.1CD при любом обращении к нему. Необходимо добавить в исключения антивируса:
*.1CD, *.1CL, *.lgp, *.elf.1cv8.exe, 1cv8c.exe, rphost.exe.Часто причиной медленной работы интерфейса является разросшийся или «битый» кэш. В терминальной среде кэш каждого пользователя хранится в его профиле (AppData). Убедитесь, что профили пользователей находятся на быстрых дисках. Если вы используете перемещаемые профили на медленной сетевой шаре, 1С будет работать крайне медленно. Очистка кэша иногда помогает решить проблему внезапных зависаний интерфейса. Для этого можно использовать скрипты очистки папок Local\1C\1cv8 и Roaming\1C\1cv8.
Применяя эти методы комплексно, можно добиться стабильной и быстрой работы даже тяжелых конфигураций «1С:Предприятие 8.3» без колоссальных затрат на покупку топового серверного оборудования.