Администрирование · 12 мин
Клиент-серверный вариант 1С: как устроен и когда его выбирать
Что такое клиент-серверный вариант работы 1С, как он устроен, чем отличается от файлового режима и как выбрать и настроить подходящий вариант для компании.
Клиент-серверный вариант — это режим работы 1С, при котором база данных хранится не в виде одного файла на диске, а на сервере баз данных (СУБД), а доступ к ней организован через сервер приложений 1С. Пользователи подключаются к системе через клиентские приложения — тонкий клиент, толстый клиент или веб-клиент — и работают с данными одновременно, не блокируя друг друга на уровне всей базы.
Архитектура строится из трёх звеньев: клиентское приложение, кластер серверов 1С:Предприятие и сама СУБД (Microsoft SQL Server, PostgreSQL, Oracle Database или IBM DB2). Клиент не обращается к данным напрямую: все запросы проходят через сервер 1С, который формирует SQL-запросы, управляет транзакциями и блокировками. Такой подход снимает ограничения файлового режима и обеспечивает надёжную многопользовательскую работу.
Понимание разницы между файловым и клиент-серверным вариантом важно на этапе выбора инфраструктуры: ошибка в выборе приводит либо к падению производительности при росте числа пользователей, либо к избыточным затратам на серверное оборудование и лицензии там, где хватило бы простого файлового режима.
Как устроена клиент-серверная архитектура 1С
В клиент-серверном режиме работают три компонента. Первый — клиентское приложение на компьютере пользователя: оно отвечает за интерфейс, ввод данных и часть прикладной логики. Второй — кластер серверов 1С:Предприятие, который исполняет серверный код конфигурации, управляет сеансами, лицензиями и обращениями к базе. Третий — СУБД, где физически хранятся таблицы данных.
Кластер серверов может состоять из одного или нескольких рабочих серверов. При наличии нескольких серверов нагрузка распределяется между ними, а отказ одного узла не останавливает работу всей системы — сеансы переносятся на оставшиеся серверы. Это ключевое преимущество для организаций, где простой учётной системы критичен.
Конфигурация в клиент-серверном режиме исполняется иначе, чем в файловом: часть кода выполняется на клиенте, часть — на сервере. Поэтому разработчики заранее разделяют модули на клиентские и серверные, а передача данных между ними происходит через серверные вызовы. Это влияет и на требования к конфигурации: решения, рассчитанные только на файловый режим, в клиент-серверном варианте могут работать некорректно или медленно.
Чем клиент-серверный вариант отличается от файлового
В файловом режиме вся база — это один файл 1Cv8.1CD, к которому пользователи обращаются по сети или локально. Платформа сама выполняет роль СУБД, что просто в развёртывании, но накладывает ограничения: при одновременной работе нескольких пользователей возникают блокировки на уровне таблиц, растёт риск повреждения файла при сбоях сети, а производительность заметно падает с ростом объёма данных.
Клиент-серверный вариант снимает эти ограничения. СУБД обеспечивает блокировки на уровне записей, надёжные транзакции, журналирование и штатные механизмы резервного копирования. Однако за это приходится платить сложностью администрирования: требуется отдельный сервер (или несколько), лицензия на сервер 1С, лицензия на СУБД и квалификация для обслуживания всей связки.
| Параметр | Файловый вариант | Клиент-серверный вариант |
|---|---|---|
| Хранение данных | Один файл 1Cv8.1CD | База данных в СУБД |
| Одновременные пользователи | Оптимально до 5–10 | Десятки и сотни |
| Блокировки | На уровне таблиц | На уровне записей |
| Отказоустойчивость | Низкая, риск повреждения файла | Резервирование, кластер серверов |
| Требования к инфраструктуре | Минимальные | Сервер, лицензии, администрирование |
| Резервное копирование | Копирование файла при остановке работы | Штатные средства СУБД без остановки |
Сравнение вариантов
Подходит небольшим компаниям до 5–10 пользователей с умеренным объёмом данных. Ограничение: блокировки таблиц и риск повреждения файла при сбоях.
Нужен при большом числе пользователей, больших объёмах и требованиях к отказоустойчивости. Ограничение: стоимость лицензий и необходимость администрирования.
Альтернатива для тех, кому нужен клиент-серверный режим без своих серверов. Ограничение: зависимость от интернет-канала и условий провайдера.
Когда клиент-серверный вариант действительно необходим
Однозначного порога в документации нет, но на практике переход на клиент-серверный вариант оправдан в нескольких ситуациях. Первая — число одновременно работающих пользователей превышает 5–10: в файловом режиме начинаются взаимные блокировки, документы проводятся медленно, пользователи жалуются на «зависания». Вторая — большой объём базы: при размере файла в несколько гигабайт файловый режим работает нестабильно, а регламентные операции занимают часы.
Третья ситуация — требования к безопасности и разграничению доступа. В клиент-серверном варианте прямой доступ к данным имеет только сервер 1С, а пользователи работают через него: файл базы недоступен для копирования по сети. Четвёртая — необходимость непрерывной работы: резервное копирование средствами СУБД выполняется «на горячую», без выгона пользователей из системы.
Как выбрать действие
Что потребуется для развёртывания
Минимальный комплект для клиент-серверного варианта: серверная лицензия 1С:Предприятие, установленный сервер 1С, выбранная СУБД с лицензией и клиентские лицензии на рабочие места. Сервер 1С и СУБД можно разместить на одной физической машине при небольшой нагрузке, но для производительности и надёжности их обычно разносят на разные серверы.
Из СУБД чаще всего выбирают Microsoft SQL Server или PostgreSQL. PostgreSQL привлекает отсутствием лицензионных платежей, MS SQL — зрелыми средствами администрирования и поддержкой в корпоративной среде. Платформа 1С официально поддерживает обе СУБД, а также Oracle и IBM DB2, но последние встречаются заметно реже из-за стоимости.
Требования к аппаратному обеспечению зависят от числа пользователей и объёма базы. Критичны быстрые диски для СУБД (SSD), достаточный объём оперативной памяти и стабильная сеть между сервером 1С и сервером СУБД — именно сетевые задержки между этими звеньями часто становятся узким местом.
- 1Установите и настройте СУБД на выделенном сервере
- 2Установите сервер 1С:Предприятие и активируйте серверную лицензию
- 3Создайте информационную базу через консоль кластера или конфигуратор, указав параметры СУБД
- 4Загрузите данные из файловой базы через выгрузку/загрузку (.dt)
- 5Настройте резервное копирование средствами СУБД и проверьте восстановление из копии
- 6Проведите тестовую работу пользователей и проверьте отсутствие ошибок в журнале регистрации
Как перенести базу из файлового режима в клиент-серверный
Прямого «преобразования» файловой базы в клиент-серверную не существует: перенос выполняется через выгрузку данных в файл с расширением .dt и последующую загрузку в новую базу. В файловой базе открывают конфигуратор, выполняют «Администрирование → Выгрузить информационную базу», затем создают пустую базу на сервере и загружают выгруженный файл.
Перед выгрузкой обязательно завершите работу всех пользователей и выполните тестирование и исправление базы — ошибки, скопленные в файловом режиме, перенесутся в новую систему. После загрузки проверьте версию конфигурации, целостность данных и работу ключевых операций: проведение документов, формирование отчётов, обмены с другими системами.
Типичные ошибки и ограничения
Самая частая ошибка — размещение сервера 1С и СУБД на одном слабом сервере при большом числе пользователей. Система формально работает, но оба компонента конкурируют за память и диск, и производительность оказывается хуже, чем была в файловом режиме. Вторая ошибка — использование динамических портов и неправильной настройки брандмауэра, из-за чего клиенты периодически теряют соединение с кластером.
Ещё одна проблема — отсутствие регламентного обслуживания СУБД: без обновления статистики и реиндексации запросы со временем деградируют, и пользователи начинают жаловаться на «тормоза» в системе, которая изначально работала быстро. Также стоит помнить, что клиент-серверный режим строже относится к коду конфигурации: неявные серверные вызовы в циклах и обращение к данным на клиенте резко увеличивают сетевой трафик.
Как проверить, что система работает правильно
После развёртывания проверьте базовые сценарии под нагрузкой, близкой к реальной: одновременное проведение документов несколькими пользователями, формирование тяжёлых отчётов, работу обменов данными. В журнале регистрации не должно быть массовых ошибок соединений и конфликтов блокировок.
Полезно настроить мониторинг: счётчики производительности сервера 1С и СУБД покажут загрузку процессора, памяти и дисковой подсистемы. Если дисковая очередь на сервере СУБД стабильно высокая — проблема в дисках; если память занята под завязку — требуется её расширение или перераспределение между сервером 1С и СУБД.
Как проверить результат
Документы проводятся без длительных ожиданий блокировок
Пользователи регулярно получают ошибки конфликта блокировок
Копия создаётся по расписанию и успешно восстанавливается на тестовом сервере
Копии создаются, но восстановление никогда не проверялось
Единичные информационные записи, ошибки отсутствуют
Массовые ошибки соединений с СУБД или кластером
Процессор, память и диски загружены умеренно в часы пик
Память занята полностью, дисковая очередь постоянно высокая
При выборе между MS SQL и PostgreSQL для небольшого внедрения часто решающим фактором оказывается не производительность — обе СУБД справляются с типовыми нагрузками, — а наличие в штате специалиста, который умеет обслуживать конкретную СУБД. Незнакомая система в надёжных руках хуже знакомой.
Частые вопросы
Можно ли вернуться с клиент-серверного варианта обратно на файловый?
Да. Создайте пустую файловую базу и загрузите в неё данные через файл выгрузки .dt из конфигуратора. Учтите, что вернутся все ограничения файлового режима: блокировки таблиц, ограничения по числу пользователей и риски при сбоях сети.
Нужна ли отдельная лицензия на сервер 1С?
Да, для работы сервера 1С:Предприятие требуется серверная лицензия, которая приобретается отдельно от клиентских лицензий. Существуют разные редакции серверных лицензий, различающиеся по разрядности и допустимому числу рабочих процессов.
Какая СУБД лучше для 1С — MS SQL или PostgreSQL?
Обе официально поддерживаются платформой и справляются с типовыми нагрузками. PostgreSQL бесплатна, но требует аккуратной настройки; MS SQL проще в администрировании для Windows-инфраструктур, но требует лицензионных затрат. Выбирайте исходя из бюджета и компетенций администратора.
Почему после перехода на клиент-серверный вариант база стала работать медленнее?
Чаще всего причины таковы: сервер 1С и СУБД размещены на одном слабом сервере, не настроено регламентное обслуживание СУБД (обновление статистики, реиндексация) или конфигурация содержит код, неоптимизированный под клиент-серверный режим — например, серверные вызовы в циклах.
Можно ли разместить сервер 1С и СУБД на одном компьютере?
Технически можно, и для небольших внедрений это рабочий вариант. Однако оба компонента активно используют память и диски, поэтому при росте нагрузки их рекомендуется разносить на разные серверы, соединённые быстрой сетью.
Что такое кластер серверов 1С и нужен ли он из нескольких машин?
Кластер — это совокупность рабочих процессов сервера 1С, обслуживающих клиентские подключения. Кластер может работать и на одном сервере; несколько физических серверов нужны для распределения нагрузки и отказоустойчивости при большом числе пользователей.
Что важно запомнить
Клиент-серверный вариант 1С — это архитектура «клиент — сервер 1С — СУБД», которая нужна при большом числе пользователей, крупных базах и требованиях к отказоустойчивости. Переход выполняется через выгрузку и загрузку данных, требует серверной лицензии, СУБД и регулярного администрирования. Для небольших компаний файловый режим или облачный сервис часто оказываются разумнее.