1С без тормозов: архитектура, железо, настройки
Для большинства компаний 1С — это вообще всё: продажи, склад, бухгалтерия, зарплата. Встала 1С — встал бизнес. И когда она тормозит, первая мысль обычно «нужен сервер помощнее». Иногда так и есть. Но не реже дело в том, как 1С устроена и настроена.
«У нас тормозит 1С» — а что у вас за 1С?
Когда к нам приходят с жалобой «тормозит 1С», мы первым делом задаём три вопроса. И в половине случаев ответа нет ни на один.
«Ну 1С. Бухгалтерия. Вроде все работают. Тормозит». Примерно так чаще всего звучит описание проблемы. А ведь от того, как именно устроена ваша 1С, зависит вообще всё: и почему она тормозит, и на каком железе должна жить, и что с этим делать.
1С для многих компаний — это сердце бизнеса. Продажи, закупки, склад, бухгалтерия, зарплата, отчётность — всё там. Если 1С встала — встал бизнес. Если база потеряна — потерян учёт за месяцы или годы. А при этом во многих компаниях 1С живёт по принципу «ну работает же»: на компьютере бухгалтера, без нормального бэкапа, и тормозит у всех.
В этой главе разберём, как 1С устроена в малом бизнесе и почему чаще всего неправильно, чем файловая база отличается от клиент-серверной, как должно быть — и какой под 1С нужен сервер.
«Тормозит 1С» — симптом, а не диагноз
Прежде чем чинить производительность, нужно понять конфигурацию, число одновременных пользователей и способ подключения. А без этих данных любое решение — наугад.
Жалоба «тормозит 1С» сама по себе не говорит ни о чём. Причина может быть в архитектуре (файловая база по сети), в размещении (сервер на рабочем месте), в нехватке ресурсов или в самой базе. И лечится всё это по-разному.
При этом 1С — часто критичная система: на ней завязаны продажи, склад, учёт, зарплата, отчётность. Простой 1С — это простой бизнеса, потеря базы — потеря учёта за месяцы. И несмотря на это, типичное состояние в малом бизнесе — файловая база на рабочей станции без корректного бэкапа.
В этой главе — разбор типовых ошибок размещения, разница файловой и клиент-серверной схемы, правильная организация и подбор сервера под 1С.
Три вопроса, которые мы задаём первыми
Это те самые вопросы, без которых нет смысла обсуждать 1С и проблемы с ней. А ответы на них определяют и диагноз, и то, какое решение и какое железо вам нужно.
Три вопроса, которые мы задаём первыми
Эти три параметра — входные данные для любого решения по 1С: от выбора режима работы до подбора сервера. Без них рекомендация невозможна.
Четыре типичные ошибки с 1С
Эти четыре ситуации мы встречаем чаще всего. Все они какое-то время «работают» — а потом начинают тормозить, падать или терять данные.
База живёт на компьютере бухгалтера
Самый распространённый вариант: файловая база лежит прямо на компьютере бухгалтера, и он же на нём работает. Если с 1С работает только этот один человек — схема имеет право на жизнь. Но как только подключаются другие — менеджеры, склад, директор, — начинается плохое.
1С прожорлива: ест память, процессор, диск. Бухгалтер параллельно открыл браузер, почту, Excel — и 1С задыхается. А если к базе ещё и подключаются по сети — тормозит у всех. Плюс «сервер на рабочем месте»: бухгалтер ушёл домой и выключил компьютер — и 1С недоступна. Пролил кофе — база потеряна.
Файловая база расшарена по сети
Компания подросла, и кто-то предложил: «давайте просто расшарим базу по сети». Файл базы лежит на компьютере или сервере, а все подключаются к нему по сети. И при каждой операции — открыли документ, провели, сформировали отчёт — данные гоняются по сети туда-обратно.
Лет пятнадцать назад это ещё работало. А современные конфигурации тяжелее, и по сети они начинают невообразимо тормозить — иногда даже у одного пользователя. Люди думают, что дело в сервере, и покупают помощнее. Не помогает.
Двадцать человек через RDP на дырявом сервере
Кто-то догадался: база должна быть на сервере, все подключаются через удалённый рабочий стол. Идея здравая. Но если база осталась файловой, каждый зашедший запускает свой процесс 1С. Двадцать человек — двадцать процессов, и у каждого ещё браузер, почта, Excel. И сервер «с запасом» через полгода еле ползёт.
И вторая беда: сервер с удалённым рабочим столом часто открыт прямо в интернет — «чтобы из дома заходить». Открыли порт, дали пароль. А боты круглосуточно перебирают такие серверы и рано или поздно подбирают пароль — дальше шифровальщик и прощай вообще всё.
Сервер 1С перегружен другими задачами
Сервер вроде неплохой, а 1С всё равно тупит и подвисает. Заглядываем — а на нём, кроме 1С, живёт ещё десяток дел: файловая шара, бэкапы, почта, контроллер домена, а то и несколько виртуалок под разные задачи. И всё это одновременно борется за процессор, память и диск.
1С — штука прожорливая, и когда ей приходится делить ресурсы с кучей соседей, на комфортную работу просто не остаётся мощности. В пики — когда соседи тоже активны — всё встаёт колом. И никакой апгрейд не спасёт, пока сервер пытается тянуть всё сразу.
Четыре типичные ошибки с 1С
Каждая из них какое-то время функционирует, но содержит встроенную проблему — производительность, безопасность или сохранность данных.
База на рабочей станции бухгалтера
Файловая база на пользовательском ПК, на нём же идёт работа. Для единственного пользователя (базовая версия) схема допустима. А при подключении остальных — деградация.
1С ресурсоёмка по CPU, памяти и диску. Конкуренция с браузером, почтой и офисными приложениями на той же машине роняет производительность, а доступ по сети к такой базе тормозит у всех. Плюс доступность завязана на одну рабочую станцию.
Файловая база через сетевую шару
Файл базы расшарен по сети, клиенты работают с ним напрямую. При каждой операции по сети передаётся большой объём данных — и современные конфигурации на этой схеме тормозят даже при одном-двух пользователях.
Это ограничение архитектуры, а не мощности: апгрейд сервера проблему не решает. Частая ошибочная реакция — покупка более мощного железа без эффекта.
Файловая база + RDP на всех + открытый наружу порт
База на сервере, доступ через терминальные сессии — верное направление, но при файловой базе каждая сессия поднимает свой процесс 1С. 15-20 пользователей — столько же процессов плюс их офисные приложения: сервер быстро упирается в ресурсы.
Отдельный риск — RDP, опубликованный напрямую в интернет ради удалёнки. Боты непрерывно брутфорсят такие хосты, и подбор пароля ведёт к шифровальщику и потере всего сервера.
Сервер 1С перегружен сторонними ролями
На одном хосте с 1С — файловый сервис, бэкапы, почта, контроллер домена, нередко несколько виртуальных машин под разные роли. И все они конкурируют за CPU, память и дисковую подсистему с ресурсоёмкой 1С.
Под пиковой одновременной нагрузкой соседей 1С недополучает ресурсы — растут отклики, появляются ожидания, система «висит». А наращивание железа не помогает, пока хост обслуживает всё подряд: добавленную мощность тут же разбирают остальные роли.
Файловая и клиент-серверная — в чём разница
1С работает в двух принципиально разных режимах. И это нужно понять до того, как выбирать сервер, — иначе деньги уйдут не туда.
В файловом режиме база — это просто файл на диске. Каждый пользователь, открывая 1С, работает с этим файлом напрямую. А в клиент-серверном база живёт внутри специального сервера баз данных: пользователи не лезут в файл руками, а подключаются к серверу, и тот сам разруливает, кто что читает и пишет и в каком порядке.
Разница — как между гугл-таблицей, которую десять человек правят напрямую, и нормальной системой, где есть диспетчер, управляющий очередью.
До 10-15 пользователей
- База — файл на диске, доступ к нему напрямую
- Просто и дёшево, не нужны лицензии на сервер баз данных
- До 10 человек при правильном доступе — нормально, 10-15 — иногда ещё допустимо
- По сети напрямую — тормозит даже на одном человеке
- Чем больше людей — тем быстрее захлёбывается
- Грубые блокировки: при записи нередко «занята» вся таблица
- Жёсткий лимит на размер внутренней таблицы — 4-6 ГБ, дальше ошибка
15 и больше пользователей
- База — внутри сервера баз данных (PostgreSQL или MS SQL)
- Сервер управляет всеми обращениями к данным
- Блокировки точечные — люди не ждут друг друга на всей таблице
- Те же 20 человек работают нормально, без очередей
- Сложнее в настройке, нужны лицензии и квалификация
- От 15 человек — единственный рабочий вариант
Простое правило по числу людей: до 10 — файловая база имеет право на жизнь при правильном доступе (о нём ниже), 10-15 — серая зона (иногда ещё тянет, но на пределе), от 15 — только клиент-серверная. И упирается тут всё в архитектуру, а не в мощность: файловую базу на двадцать человек никакое железо не спасёт.
Второй потолок — размер, и он жёсткий. Внутри файловая база хранит каждую таблицу в отдельных служебных файлах, и у каждого такого файла есть предел — 4-6 ГБ (в зависимости от версии платформы). И когда какая-то одна крупная таблица упирается в этот лимит, 1С выдаёт ошибку «превышен максимально допустимый размер внутреннего файла», и база перестаёт нормально работать в файловом режиме.
Важно: тут речь не про общий размер базы — он может быть и больше, 10-15 ГБ и выше. Речь про размер отдельной таблицы. Заранее увидеть это сложно, поэтому крупные растущие базы лучше переводить на клиент-серверную, не дожидаясь упора в лимит.
Файловая и клиент-серверная — принципиальная разница
Это разные архитектуры доступа к данным. Выбор режима определяется числом одновременных пользователей и первичен по отношению к подбору железа.
Файловый режим: база — файл, клиент работает с ним напрямую. Клиент-серверный: данные обслуживает СУБД (PostgreSQL или Microsoft SQL Server), клиенты обращаются к ней, а она управляет конкурентным доступом, блокировками и планами запросов. По сути — разница между прямым доступом к файлу и работой через движок БД.
До 10-15 пользователей
- База — файл, клиент работает с ним напрямую
- Не требует лицензий СУБД, минимум настройки
- До 10 пользователей — штатно, 10-15 — пограничная зона при правильном доступе
- Прямой доступ по сети — деградация даже на 1-2 клиентах
- Не масштабируется по числу пользователей
- Грубые блокировки вплоть до уровня таблицы целиком
- Предел внутреннего файла таблицы — 4-6 ГБ (в зависимости от версии платформы)
15+ пользователей
- Данные обслуживает СУБД (PostgreSQL / MS SQL)
- Управление конкурентным доступом и оптимизация запросов
- Нет грубых блокировок на уровне таблиц, как в файловой
- Стабильная работа на десятках активных сессий
- Сложнее: настройка, лицензии, квалификация
- От 15 пользователей — безальтернативно
Порог по числу сессий: до 10 — файловая штатно жизнеспособна при корректном доступе, 10-15 — пограничный диапазон, от 15 — только клиент-серверная. Ограничение архитектурное, а не мощностное: апгрейд железа файловую базу на большом числе пользователей не спасает.
Второй ограничивающий фактор — предельный размер внутренних файлов таблиц. В файловом варианте каждая таблица хранится в нескольких служебных файлах (записи, индексы, значения неограниченной длины), и размер одного такого файла не может превышать 4-6 ГБ (в зависимости от версии платформы). При достижении лимита платформа возвращает ошибку «превышен максимально допустимый размер внутреннего файла».
Ограничение действует на отдельную таблицу, а не на суммарный объём ИБ (общий размер .1CD может быть заметно больше). На практике это означает: крупная база с одной разрастающейся таблицей упрётся в лимит и потеряет работоспособность в файловом режиме — такие базы переводят на клиент-серверную заблаговременно.
Как организовать 1С правильно
Пять составляющих нормальной 1С. Часть из них зависит от того, файловая у вас база или клиент-серверная, но логика общая.
Доступ через RDP локально или веб-сервер
Файловая 1С нормально живёт при нескольких условиях: пользователей примерно до 10-15, ни одна таблица не упирается в лимит размера (4-6 ГБ на внутренний файл), и никто не работает с файлом базы по сети напрямую. Вариантов доступа два. Первый, компромиссный — пользователи заходят на сервер через удалённый рабочий стол и работают с базой, которая лежит тут же, локально. Но не через открытый в интернет порт.
А второй вариант, и мы рекомендуем именно его — доступ через веб-сервер: база публикуется, пользователи подключаются через браузер или тонкий клиент. База остаётся файловой, но работа идёт не напрямую с файлом, и тормозов сетевого доступа нет. И в обоих случаях сервер — это отдельная машина, а не компьютер бухгалтера.
Сервер баз данных: PostgreSQL или MS SQL
Когда пользователей больше десяти, а тем более пятнадцати-двадцати, файловая база захлёбывается — и железо тут не спасёт, проблема в архитектуре. Нужна клиент-серверная: между пользователем и базой появляется сервер баз данных (PostgreSQL или Microsoft SQL Server), который берёт на себя всю работу с данными.
Разница на практике огромная: те же двадцать человек, которые на файловой базе ждали по минуте, на клиент-серверной работают нормально. Важная причина — блокировки: в файловой базе изменение данных часто «занимает» таблицу целиком, и остальные ждут. А сервер баз данных блокирует только нужные строки, поэтому люди почти не мешают друг другу. Настройка сложнее, нужны лицензии и квалификация — но при 15+ пользователях это уже не опция, а необходимость.
1С изолирована от остального
Когда на одном сервере живут и 1С, и файлы, и бэкапы, и удалёнка, всё это конкурирует за ресурсы — и 1С ощутимо теряет в скорости. Так что для 1С изоляция — это не только надёжность, но и прямая производительность. А почему роли не стоит валить в кучу — подробно в главе про разделение ролей и виртуализацию.
В идеале 1С изолирована: либо отдельный сервер, либо хотя бы отдельная виртуальная машина. Тогда нагрузка на 1С не роняет файловый сервер, а падение чего-то одного не тянет за собой всё остальное.
Важная оговорка: речь про изоляцию от посторонних задач — файлов, бэкапов, удалёнки. А вот сам сервер 1С и его базу данных (для клиент-серверной) при небольшом числе пользователей наоборот полезно держать на одной машине — тогда они обмениваются данными напрямую через память, а не по сети, и это ощутимо быстрее.
Бэкап базы: не просто копия файла
Для файловой базы: нельзя копировать файл, пока с базой работают. Либо выгрузка средствами 1С, либо копия ночью по расписанию, когда в базе гарантированно никого нет. А для клиент-серверной бэкап делается на уровне СУБД — у PostgreSQL и MS SQL есть свои штатные средства, которые умеют снять корректную копию даже на работающей базе.
И в обоих случаях работают все правила из главы про бэкапы: копия отдельно от оригинала, по расписанию, с проверкой восстановления. И не забывайте бэкапить конфигурацию, внешние обработки и печатные формы — всё, что дорабатывал программист 1С.
Удалёнка через VPN, а не открытый RDP
Если сотрудникам нужен доступ к 1С из дома или с другого объекта — это должно быть через VPN, а не через открытый в интернет порт удалённого рабочего стола. Открытый наружу RDP — это приглашение для шифровальщика, мы разбирали это в главе про роутеры. Есть и другие варианты — публикация через веб-сервер, тонкий клиент, — но базовый стандарт безопасного удалённого доступа — VPN.
Как организовать 1С правильно
Пять составляющих корректной инфраструктуры 1С. Конкретика зависит от режима (файловый / клиент-серверный), но принципы общие.
Доступ через RDP локально или веб-публикацию
Условия жизнеспособности файловой базы: до ~10-15 пользователей, внутренние файлы таблиц в пределах лимита (4-6 ГБ), отсутствие прямого сетевого доступа к файлу. Вариантов доступа два. Компромиссный — терминальные сессии (RDP) к серверу с локально расположенной базой, файл по сети не гоняется. Но без публикации RDP в интернет.
А рекомендуемый — публикация базы через веб-сервер: клиент подключается по браузеру или тонкому клиенту, доступ к файлу идёт через промежуточный слой. База остаётся файловой, но сетевые тормоза прямого доступа устраняются. И в обоих случаях носитель роли — выделенный сервер, а не рабочая станция.
СУБД: PostgreSQL или MS SQL Server
За порогом ~10-15 пользователей файловая база перестаёт справляться — ограничение архитектурное. Нужен переход на клиент-серверную схему: между клиентом и данными появляется СУБД (PostgreSQL или Microsoft SQL Server), берущая на себя конкурентный доступ, блокировки и оптимизацию запросов.
Эффект существенный: нагрузка, неподъёмная для файловой базы, обслуживается движком БД без деградации. Ключевой фактор — гранулярность блокировок: файловый режим часто эскалирует блокировку до уровня таблицы, тогда как СУБД работает на уровне строк / диапазонов, резко снижая взаимные ожидания на конкурентной нагрузке. Цена — сложность настройки, лицензии и квалификация сопровождения. А при 15+ активных пользователях — безальтернативно.
1С изолирована: сервер или ВМ
Совмещение 1С с посторонними ролями создаёт конкуренцию за ресурсы и бьёт прежде всего по производительности: сторонние сервисы отбирают CPU, память и дисковую полосу у ресурсоёмкой платформы (плюс единая точка отказа). А принципы разнесения ролей — в главе про разделение ролей и виртуализацию.
Целевое решение — изоляция от посторонних ролей: отдельный физический сервер либо как минимум отдельная виртуальная машина. Тогда нагрузка 1С не влияет на соседние сервисы, а сбой одной роли не распространяется на остальные.
При этом сервер 1С и СУБД при умеренной нагрузке наоборот целесообразно совмещать на одной машине: это позволяет использовать обмен через общую память (Shared Memory) вместо сетевого стека — заметный прирост. Условие — корректный делёж ресурсов между ролями: для 1С ПРОФ — первые 12 ядер, остаток — под СУБД, и обязательно ограничить максимальный объём памяти СУБД, оставив память серверу 1С и ОС.
Бэкап: выгрузка или средства СУБД
Файловая база: не копировать файл при активных сессиях — только выгрузка средствами 1С либо копия при гарантированном отсутствии пользователей (ночью, с принудительным завершением сеансов). Клиент-серверная: бэкап средствами СУБД — PostgreSQL и MS SQL делают корректную копию на работающей базе.
И в обоих случаях действуют правила из главы про бэкапы: копия отдельно, по расписанию, с проверкой восстановления. Отдельно бэкапятся конфигурация, внешние обработки и печатные формы — потеря доработок при восстановленной базе тоже критична.
Только через VPN, не через открытый RDP
Удалённый доступ к 1С (из дома, с других площадок) — через VPN, а не через опубликованный в интернет RDP: открытый порт — типовой вектор атаки и путь к шифровальщику (см. главу про роутеры). Альтернативы — веб-публикация и тонкий клиент, но базовый стандарт защищённого удалённого доступа — VPN.
Какой сервер нужен для 1С
Когда дошло до железа, обычно бросаются в одну из двух крайностей: «возьмём подешевле, 1С — не космос» или «давайте сразу монстра». И оба варианта мимо: сервер подбирается под задачу. Вот три вещи, которые важны по убыванию.
И помните: даже идеальный сервер не спасёт файловую базу, которую гоняют по сети. Сначала — правильная архитектура (файловая с нормальным доступом или клиент-серверная), и только потом — подбор железа под конкретные конфигурации и число людей.
Подбор сервера под клиент-серверную 1С
Речь о типовой схеме, где сервер 1С и СУБД на одной машине (для большинства малых и средних компаний). От ~100 активных пользователей роли разносят на отдельные серверы, а 300-500+ — уже отдельный масштаб. Три параметра по убыванию важности.
Типичные ошибки выбора: много ядер при низкой частоте, 64-ядерный процессор на лицензии ПРОФ (работает лишь 12 ядер, остальные простаивают), экономия на памяти «добавим потом», база на одном диске с ОС, бытовой NVMe вместо серверного. И общий принцип: железо вторично по отношению к архитектуре — файловую базу по сети не спасёт никакой сервер.
Настройки, без которых даже хороший сервер тормозит
Можно купить правильное железо — и загубить его настройками по умолчанию. Эти вещи стоят недорого или вообще ничего, но дают прирост, ради которого иначе пришлось бы менять сервер.
Настройки, без которых железо не раскроется
Правильно подобранный сервер легко обнулить конфигурацией по умолчанию. Ниже — настройки с высоким соотношением «эффект / стоимость», которые регулярно упускают.
Производительность 1С — это ещё и эксплуатация
Купить правильный сервер — половина дела. Дальше 1С нужно сопровождать: следить за ней, обслуживать базу и замечать проблемы до того, как они станут катастрофой.
Смысл простой: 1С — это не «один раз настроили и забыли». Это система, которую нужно сопровождать. Без этого даже идеальный на старте сервер со временем начинает тормозить.
Производительность 1С — это ещё и эксплуатация
Правильно подобранный сервер — необходимое, но не достаточное условие. Производительность 1С определяется ещё и эксплуатацией: контролем, обслуживанием СУБД и работой с узкими местами.
Ключевая мысль: 1С — эксплуатируемая система, а не разовая установка. Без регулярного сопровождения производительность деградирует независимо от исходной мощности железа.
Наши принципы — применительно к 1С
Правильная 1С — это не «сервер подороже», а всё те же четыре принципа.
Четыре принципа — применительно к 1С
Инфраструктура 1С — это приложение тех же принципов к учётной системе предприятия.
«А что насчёт …?»
Вопросы про 1С, которые задают чаще всего.
Может быть, а может и нет — пока неизвестно. «Тормозит» само по себе ни о чём не говорит, и сразу бежать за новым сервером — значит с большой вероятностью потратить деньги впустую. Сначала надо понять три вещи: что у вас за 1С (конфигурация, файловая или клиент-серверная, сколько человек одновременно работает), что у вас за железо (что за сервер, какие диски, сколько памяти) и как всё настроено (питание, антивирус, нет ли лишних ролей, обслуживается ли база).
И только когда понятна реальная картина, есть смысл говорить о решении. Иногда это действительно сервер помощнее. Но гораздо чаще причина в другом: файловая база, которую гоняют по сети (тут не поможет никакое железо), настройки по умолчанию, отсутствие обслуживания базы или пара тяжёлых запросов. Так что грамотный подход — сначала диагностика, потом затраты, а не наоборот.
Работают оба, и выбор сводится к деньгам, скорости и тому, на чём вам комфортнее. MS SQL Server в тестах традиционно показывает очень хорошую скорость и многим админам привычен, но лицензируется отдельно и стоит заметных денег — для небольшой компании это ощутимая сумма.
А с PostgreSQL чуть сложнее, чем «бесплатно и всё». Есть бесплатная сборка под 1С — она работает, но из коробки настроена скромно и на тяжёлых базах обычно уступает MS SQL по скорости, ей нужен грамотный тюнинг. А есть коммерческие сборки PostgreSQL с доработками специально под 1С — они быстрее бесплатной, но тоже стоят заметных денег. Важный нюанс: PostgreSQL живёт на Linux — на Windows его ставить не стоит, скорость сильно проседает.
Для большинства задач малого и среднего бизнеса PostgreSQL — разумный выбор, и сама 1С активно развивает дружбу именно с ним. Но окончательно решает связка «бюджет + есть ли специалист, который умеет это нормально настроить и сопровождать».
Правда. Лицензия уровня ПРОФ — самая распространённая в малом и среднем бизнесе — позволяет серверу 1С использовать максимум 12 ядер. Можно поставить процессор на 64 ядра, но использоваться будут всё те же 12, а остальные просто простаивают.
И отсюда практический вывод: на лицензии ПРОФ нет смысла гнаться за числом ядер сверх двенадцати — лучше взять процессор с меньшим числом ядер, но более высокой частотой каждого. Снять ограничение можно только лицензией уровня КОРП, но она существенно дороже.
Потому что базу 1С нельзя копировать как обычный файл, пока с ней работают. Если скопировать файл в момент, когда в базе сидят пользователи, копия может оказаться битой — и узнаете вы об этом только тогда, когда попробуете из неё восстановиться. В самый неподходящий момент.
А правильно — либо выгружать средствами 1С, либо копировать тогда, когда в базе гарантированно никого нет, либо (для клиент-серверной) использовать штатные средства сервера баз данных. И не забывайте про доработки: конфигурацию, внешние обработки, печатные формы — если база восстановится, а доработки потеряны, это тоже большая проблема.
Бывает и такое — и тогда дело, скорее всего, уже не в железе и не в архитектуре. Дело в самой базе. Причины разные: база сильно разрослась, накопились неоптимальные запросы, не настроено регулярное обслуживание сервера баз данных, или дело в кривых доработках, которые когда-то внесли программисты.
Это уже отдельная история — диагностика и оптимизация конкретной базы, а не замена сервера. Покупка ещё более мощного железа здесь обычно не помогает: оно лечит нехватку ресурсов, но не проблемы внутри базы.
Особенно это заметно на больших системах — примерно от 100 пользователей и выше. Там на первый план выходит уже не железо. Выходит оптимизация самого кода 1С: как написаны запросы, отчёты, доработки. Это работа для программистов 1С, и никаким сервером её не заменить.
Вообще можно — и это не всегда компромисс. На мощном десктопном процессоре при не очень большом числе пользователей (условно до 30-40) 1С нередко работает даже быстрее, чем на серверном: у десктопных процессоров обычно выше частота одного ядра, а для 1С это как раз важнее всего.
Но есть жёсткое условие: диск под базу должен быть серверным SSD. Бытовые накопители рассчитаны на одного пользователя с редкими обращениями, а не на постоянную нагрузку базы данных — под ней они быстро изнашиваются и тормозят. Плюс у десктопа нет серверного запаса надёжности (память с коррекцией ошибок, питание под круглосуточную работу). А подробно про разницу десктопного и серверного железа — в главе про серверы.
Очень характерный симптом: тормозит не постоянно, а «пятнами» — например, каждый день в одно и то же время или при закрытии месяца. И почти всегда дело тут не в железе. Дело в том, что в этот момент в базе одновременно происходит что-то тяжёлое.
Типичные виновники: регламентные и фоновые задания, запущенные в рабочее время, массовые блокировки, когда пользователи ждут друг друга на одних и тех же данных, резервное копирование посреди дня, антивирус, который проверяет файлы базы. И лечится это разбором конкретной причины и переносом тяжёлых операций на нерабочее время — а не покупкой более мощного сервера.
Частые вопросы и уточнения
Что чаще всего уточняют по архитектуре и железу для 1С.
Без диагностики ответа нет. «Тормозит» — это симптом, а не диагноз, и апгрейд «вслепую» с высокой вероятностью не даст эффекта. Сначала фиксируется исходная картина по трём направлениям: архитектура и нагрузка (конфигурация, файловая / клиент-серверная, число одновременных сессий, способ подключения), аппаратная часть (CPU и его реальная частота под нагрузкой, дисковая подсистема — время отклика и очереди, объём и загрузка памяти) и конфигурация окружения (схема питания и BIOS, исключения антивируса, посторонние роли, регламентное обслуживание СУБД).
А решение принимается по результатам замеров. Иногда это действительно наращивание оборудования (при небольшой нагрузке нарастить железо нередко дешевле, чем оптимизировать код). Но чаще узкое место — файловый доступ по сети (не лечится мощностью), дефолтные настройки питания / BIOS, отсутствие обслуживания базы, неоптимальные запросы или блокировки. Корректный порядок — сначала измерение и диагностика, затем целевое вложение.
Подходят оба, разница — в стоимости, производительности и сопровождении. MS SQL Server в нагрузочных тестах традиционно в числе лидеров (особенно на операциях с временными таблицами), но требует отдельных лицензий с существенной стоимостью владения.
А PostgreSQL существует в нескольких вариантах. Бесплатная сборка под 1С (с патчами 1С) рабочая, но дефолтная конфигурация слабая — требует тюнинга, и на тяжёлых профилях обычно уступает MS SQL. Коммерческие сборки (например, PostgresPro для 1С) оптимизированы под платформу и ближе по скорости, но это платный продукт с заметной стоимостью. Эксплуатация — на Linux: PostgreSQL под Windows даёт значительную просадку и на практике не применяется.
Тренд — углубление интеграции платформы 1С именно с PostgreSQL. Для большинства нагрузок малого и среднего бизнеса он достаточен. Критерий выбора — бюджет (лицензии MS SQL против платной сборки PG против тюнинга бесплатной) и наличие квалификации для настройки и сопровождения.
Да. Лицензия уровня ПРОФ (наиболее распространённая) ограничивает сервер 1С двенадцатью ядрами. Процессор с бóльшим числом ядер будет задействован лишь частично — остальные простаивают.
Практический вывод: на ПРОФ наращивать ядра сверх двенадцати нецелесообразно — выгоднее меньше ядер с более высокой частотой. Снятие ограничения — только лицензия уровня КОРП, существенно более дорогая.
Файл работающей базы нельзя копировать «как есть»: при активных сессиях копия получается неконсистентной (битой), и дефект выявляется только при восстановлении.
Корректно — выгрузка средствами 1С, копия при гарантированном отсутствии сессий либо штатные средства СУБД для клиент-серверной. Дополнительно бэкапятся конфигурация, внешние обработки и печатные формы — восстановление базы без доработок также является потерей.
Вероятно, причина не в железе и не в архитектуре. Дело в состоянии базы: разрастание данных, неоптимальные запросы, отсутствие регламентного обслуживания СУБД, неэффективные доработки.
Это задача диагностики и оптимизации конкретной базы, а не апгрейда сервера. Дополнительная мощность закрывает дефицит ресурсов, но не устраняет проблемы внутри базы — поэтому обычно не помогает.
На крупных инсталляциях — ориентировочно от 100+ активных пользователей — определяющим становится уже не железо. На первый план выходит оптимизация прикладного кода: запросы, отчёты, механизмы доработок, работа с блокировками. Это зона ответственности программистов 1С, и наращиванием оборудования она не закрывается.
Да, и это рабочий вариант. На мощных десктопных процессорах при умеренном числе пользователей (ориентировочно до 30-40) 1С нередко быстрее, чем на серверных: десктопные CPU обычно дают более высокую частоту одного ядра, а однопоточная производительность для 1С определяющая.
Обязательное условие — серверный SSD под базу. Бытовые накопители рассчитаны на единичного пользователя с редкими обращениями, а не на постоянную нагрузку СУБД: ресурс вырабатывается быстро, растёт время отклика. Также у десктопа нет серверного запаса по надёжности (ECC-память, питание под 24/7). Детальный разбор десктопного и серверного железа — в главе про серверы.
Групповые (общесистемные) замедления, привязанные ко времени или событию, обычно не связаны с нехваткой железа. Причина — одновременная тяжёлая активность в базе в конкретный момент.
Типовые источники: регламентные и фоновые задания в рабочее время, массовые блокировки (конкуренция за одни данные, пользователи ожидают друг друга), резервное копирование днём, антивирус без исключений для файлов базы. Решение — диагностика конкретного источника и перенос тяжёлых операций в нерабочее окно, а не апгрейд сервера.
Если 1С тормозит или живёт «на честном слове»
Разберёмся, как устроена ваша 1С, почему она тормозит и что с этим делать. Поможем выбрать между файловой и клиент-серверной, подобрать сервер под ваши конфигурации и число людей, изолировать 1С, настроить нормальный бэкап базы и безопасный удалённый доступ. Без покупки лишнего железа «на всякий случай».
1С, которая не тормозит и не теряется
Диагностика текущей схемы (режим, число сессий, способ подключения), выбор архитектуры (файловая с веб-публикацией или клиент-серверная на PostgreSQL / MS SQL), подбор сервера под конфигурации и нагрузку (процессор по частоте ядра с учётом лимита ПРОФ, память под объём баз, серверный NVMe с высоким DWPD / IOPS). Изоляция роли, корректный бэкап средствами 1С / СУБД с проверкой, удалённый доступ через VPN.