Переход с файлового режима работы на клиент-серверный — это неизбежный этап развития любой организации, когда объем баз данных перешагивает порог в 3–4 Гб, а количество активных пользователей приближается к десяти. В такой ситуации стандартные механизмы работы 1С начинают «тупить», возникают проблемы с блокировками, а скорость формирования отчетов падает. Разберем подробно, как правильно организовать инфраструктуру, выбрать программное обеспечение и оптимизировать имеющееся железо.
В нашем распоряжении имеется сервер со следующими характеристиками: процессор Intel Xeon E3-1230 v6, 32 Гб оперативной памяти DDR4, два SSD по 240 Гб и два HDD по 2 Тб. Это вполне достойная конфигурация для коллектива из 9–12 человек. Однако важно правильно распределить дисковые ресурсы.
Рассмотрим рекомендации по дисковой подсистеме. В исходном сообщении предлагалось использовать зеркальный RAID (RAID 1) для SSD. Проанализируем это решение: зеркалирование защищает от выхода диска из строя, но может снижать скорость записи. Для баз 1С, особенно таких критичных как БГУ (Бухгалтерия государственного учреждения) или ЗУП (Зарплата и управление персоналом), надежность является приоритетом. Но если производительность в приоритете, можно рассмотреть вариант разнесения баз по разным физическим SSD без создания зеркала, организовав при этом систему ежечасного бэкапа на HDD-массив.
Важный нюанс при выборе SSD — параметр Endurance (TBW). Базы 1С в связке с SQL-сервером создают высокую нагрузку на запись. Потребительские SSD могут быстро исчерпать ресурс, поэтому для рабочих баз рекомендуется использовать диски серверного сегмента.
Проанализируем два основных пути реализации серверной части:
Одной из главных проблем при переходе на клиент-сервер является стоимость серверной лицензии 1С. В обсуждении упоминались суммы около 100 тысяч рублей. Однако для небольших организаций существует промежуточное решение — «1С:Предприятие 8.3. Сервер МИНИ на 5 подключений».
Хотя в организации 9 сотрудников, покупка лицензии «МИНИ» может стать выходом, если вынести в SQL только самые тяжелые и критичные базы, оставив остальные в файловом режиме. Если же необходимо перевести всех 9 пользователей в клиент-сервер, придется приобретать полноценную 64-разрядную лицензию на сервер. Это обеспечит стабильность и позволит использовать весь объем оперативной памяти (32 Гб) без ограничений, которые накладывает 32-разрядный сервер приложений (ограничение в 4 Гб на процесс rphost).
Если выбор пал на связку с PostgreSQL, как в успешном тесте автора темы, необходимо выполнить ряд обязательных регламентных операций, чтобы база не начала «тормозить» через месяц работы:
autovacuum должен быть настроен агрессивно, чтобы вовремя очищать эти данные и предотвращать раздувание базы.ЗУП может выполняться крайне долго. Рекомендуется настроить регламентное задание на обновление статистики.Рассмотрим вариант публикации баз через веб-сервер (Apache или IIS). Это дает несколько преимуществ:
Postgres SQL через веб-публикацию загружается в разы быстрее (первый раз — 60 секунд, повторно — до 10 секунд), чем файловая база по сети.При наличии 32 Гб ОЗУ крайне важно правильно ограничить потребление ресурсов. Рассмотрим примерную схему распределения:
shared_buffers и effective_cache_size).Если не ограничить SQL-сервер в настройках, он может занять всю доступную память, что приведет к вытеснению рабочих процессов 1С в файл подкачки (своп), и работа пользователей станет невозможной из-за жутких тормозов.
Выясним причину возможных сложностей с ключами. Если у вас используется старый USB-ключ, «воткнутый» в сервер, то при установке Linux могут потребоваться дополнительные драйверы haspd. Если же вы решите использовать виртуализацию (например, Proxmox или Hyper-V), проброс физического ключа внутрь виртуальной машины может потребовать тонкой настройки. Программные лицензии (пин-коды) лишены этой проблемы, но они чувствительны к изменению конфигурации сервера (имя, процессор, объем памяти).
Для организации с 9 пользователями и базами по 4.5 Гб оптимальным решением будет следующая связка:
Windows Server + PostgreSQL (от 1С) + Веб-сервер IIS + Тонкие клиенты.
Эта конфигурация позволит использовать имеющееся железо максимально эффективно, обеспечит высокую скорость работы (как показало тестирование автора темы) и предоставит привычную среду для администрирования. Обязательно вынесите временные файлы 1С и временные таблицы SQL на SSD, а архивы баз данных настройте на автоматическую выгрузку на HDD-зеркало.