1С тормозит с ростом штата: когда файловая база сдаётся и пора на SQL
За пятнадцать лет в аутсорсинге я слышал одну и ту же фразу раз триста: «1С стала жутко тормозить, ничего не меняли, само расползлось». Ничего само не расползается. Просто компания выросла, а база как была файловой на пять пользователей, так и осталась на пятнадцать. Расскажу, по каким признакам это видно и на каком числе рабочих мест файловый режим перестаёт быть решением.
Симптомы, которые видит бухгалтер, а не системный администратор
Первый и самый частый звонок в поддержку звучит так: «проведение документа зависло». Человек нажал кнопку, экран побелел, и он сидит минуту, а то и три. Особенно больно это в конце месяца, когда закрытие идёт по цепочке и каждая задержка множится на десяток документов.
Второй симптом — блокировки. Один сотрудник открыл отчёт по продажам, второй в это время пытается провести накладную, и система пишет что-то про конфликт блокировки данных. В файловом режиме 1С сама раздаёт блокировки таблиц через простую файловую систему, и как только параллельных операций становится много, очередь начинает трещать по швам.
Третий — регламентные задания. Обмен с сайтом, синхронизация с банком, обновление цен по расписанию. Ночью, пока никого нет, всё летает. Днём, когда пятнадцать человек одновременно тыкают в базу, регламентное задание может просто не успеть отработать в отведённое окно и наложиться на рабочий день.
Порог: где именно проходит граница
Официально фирма 1С говорит про 5-10 активных пользователей как комфортный потолок для файлового варианта. На практике я эту цифру двигаю до 12-15, если база несложная — розница без большого документооборота, простая УНФ. Но это верхний предел, а не цель, к которой стоит стремиться.
У меня было правило для клиентов: как только штат приближается к десяти рабочим местам, работающим с базой одновременно, я предупреждаю заранее, а не жду звонка с жалобами. Потому что переход на SQL занимает время — нужно купить лицензию, поставить сервер, протестировать печатные формы. Делать это в панике, когда бухгалтерия уже не может закрыть квартал, гораздо дороже и нервознее.
Отдельно скажу про торговые компании с большим товарооборотом. Там порог падает до 6-8 человек, потому что объём документов и остатков растёт быстрее, чем штат. У одного клиента, оптовой торговли стройматериалами, база весила 40 гигабайт при семи пользователях — и файловый режим уже задыхался, хотя формально людей было немного.
Дело не только в количестве людей
Число пользователей — это только один параметр. Второй, не менее важный — размер базы. Файловая база в 1С хранится в одном файле формата .1CD, и когда он перерастает 10-15 гигабайт, чтение и запись начинают заметно проседать даже на быстром SSD. У меня был случай, когда файл распух до 60 гигабайт из-за того, что три года никто не чистил регистры и не архивировал старые документы — там тормозило уже на пяти пользователях.
Третий параметр — параллельная нагрузка от внешних систем. Если база подключена к маркировке Честный знак, к ЭДО, к обмену с сайтом на 1С-Битрикс и вдобавок к банк-клиенту через КриптоПро, то помимо живых людей в базу постоянно стучатся роботы. Каждый такой обмен — это фоновые блокировки, и файловый режим их не любит категорически.
У медицинских клиник и юридических фирм часто добавляется ещё один фактор — терминальный доступ. Десять человек работают через RDP на одном сервере, и файловая база 1С лежит там же. Тогда узкое место не только в самой 1С, но и в дисковой подсистеме сервера, которая одновременно обслуживает и терминальные сессии, и файл базы.
История одного перехода, который тянули слишком долго
Расскажу про клиента из производственной сферы, малое предприятие, литейный цех плюс склад плюс бухгалтерия. Когда я к ним пришёл, было двенадцать пользователей в 1С:УПП и файловая база на 25 гигабайт. Директор сказал прямо: «работать невозможно, но денег на сервер нет». Знакомая фраза, правда?
Мы посчитали убытки от простоя. Бухгалтер тратила по сорок минут в день на ожидание проведения документов. Умножьте на зарплату, на три года, на инфляцию — сумма выходит куда больше, чем стоимость перехода. Директор посчитал и согласился в тот же день.
Перенесли базу на клиент-серверный вариант с MS SQL Server 2019 Standard, поставили отдельную виртуальную машину под сервер приложений 1С. Миграция заняла один выходной, часов шесть с тестированием. В понедельник бухгалтер написала мне: «а что вы сделали, всё летает». Ничего магического — просто убрали узкое место, которое душило работу два года.
Что вообще такое клиент-серверный вариант, если по-простому
В файловом режиме каждый компьютер сам читает и пишет прямо в файл базы по сети. Это как если бы двадцать человек одновременно редактировали один документ Word на общем диске — рано или поздно кто-то друг другу помешает.
В клиент-серверном варианте появляется посредник — сервер СУБД, чаще всего Microsoft SQL Server или бесплатный PostgreSQL в редакции от 1С. Все запросы идут через него, он умеет грамотно раздавать блокировки, кэшировать данные, распараллеливать чтение. Плюс появляется отдельный сервер приложений 1С, который берёт на себя часть логики и разгружает клиентские компьютеры.
Разница ощущается физически. На файловом варианте открытие большого отчёта могло положить всю сеть на минуту-другую, потому что гигабайты данных гоняются туда-сюда по проводу. На SQL тяжёлые вычисления делает сервер, а по сети идёт только результат — в разы меньше трафика.
Сколько это стоит и что реально нужно купить
Тут вопрос упирается в деньги, и я не буду делать вид, что переход бесплатный. Лицензия MS SQL Server Standard стоит порядка 250-350 тысяч рублей за версию с ограниченным числом ядер, плюс клиентские лицензии CAL, если считать по пользователям. Альтернатива — PostgreSQL для 1С, он бесплатный, и для компаний до 30-40 рабочих мест справляется вполне достойно.
Дальше — железо. Не обязательно покупать новый физический сервер, часто хватает виртуальной машины на существующей инфраструктуре с выделенными 8-16 гигабайтами оперативной памяти и SSD-хранилищем под базу. Для компании на 15-20 пользователей это может уложиться в 80-150 тысяч рублей разовых затрат на настройку, если сервер уже есть.
Отдельная статья — лицензии самой 1С. Клиент-серверный вариант требует серверной лицензии на платформу, а не только клиентских. Если у клиента лицензии старые, покупались под файловый режим, их придётся докупать или переоформлять. Я всегда прошу считать это заранее, а не удивляться в процессе миграции.
Как понять, что тянуть дальше нельзя, и как перейти без крови
Простой тест, который я предлагаю всем клиентам: засеките, сколько раз в неделю сотрудники жалуются на зависания при проведении документов или на ошибки блокировки. Если больше трёх раз — переход надо планировать в горизонте одного-двух месяцев, не откладывая на after кризиса.
Второй тест — посмотрите на размер файла базы. Если он перевалил за 10 гигабайт и продолжает расти на гигабайт-два в месяц, часы файлового режима сочтены, вопрос в неделях, а не годах.
Сама миграция технически несложная — 1С умеет выгружать базу в формат DT и загружать её напрямую на SQL-сервер через конфигуратор. Сложность не в переносе данных, а в подготовке: нужно протестировать все внешние обработки, печатные формы, обмены с банком и маркировкой на новой архитектуре. Мы обычно делаем это в выходные, с обязательным бэкапом через Veeam перед стартом и планом отката, если что-то пойдёт не так. За все годы откатываться приходилось один раз — и то из-за кривой самописной обработки, а не из-за самого SQL.
Частые вопросы
Может, проще добавить оперативной памяти и SSD вместо перехода на SQL?
Железо помогает, но только до определённого предела. Файловый режим упирается не в скорость диска, а в саму архитектуру доступа к данным — блокировки и общий файл. Быстрый SSD отсрочит проблему на полгода-год, но не уберёт её.
Обязательно покупать Microsoft SQL Server или можно бесплатно?
Для компаний примерно до 30-40 пользователей отлично подходит PostgreSQL в сборке от 1С, он бесплатный и официально поддерживается. MS SQL имеет смысл брать, если база уже большая и тяжёлая или если планируется дальнейший рост штата.
Сколько будет простоя во время перехода на клиент-серверный вариант?
У нас типовая миграция занимает от 4 до 8 часов вместе с тестированием, и мы всегда делаем это в выходной или ночью. Полноценного рабочего дня простоя быть не должно, если всё спланировано заранее.
Если сейчас у нас 8 пользователей, но штат растёт, когда начинать думать про SQL?
Начинайте считать бюджет уже сейчас, а саму миграцию планируйте, когда штат подойдёт к 10-12 активным пользователям базы. Лучше сделать переход спокойно заранее, чем экстренно, когда бухгалтерия уже не справляется с закрытием месяца.
Оставьте заявку — приедем, замерим нагрузку и дадим конкретную смету, а не общие слова.
Бесплатная консультация →
Подпишитесь на рассылку ITfresh
Раз в неделю — практические гайды для руководителя и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.
