Как устранить тормоза файловой 1С в локальной сети на 50 пользователей и правильно выбрать диски для сервера?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Рано или поздно любая растущая компания сталкивается с проблемой, когда привычная и экономная файловая база 1С начинает невыносимо тормозить. Ситуация, описанная автором темы, классическая: в штате около 50 сотрудников, каждый из которых запускает по несколько баз одновременно. Вся эта инфраструктура работает на файловом сервере с обычными HDD-дисками через стомегабитную локальную сеть. Итог закономерен — жуткие зависания у всех пользователей, постоянный скрежет жестких дисков на сервере и периодические «падения» интернета во всей компании.

В этой статье мы подробно проанализируем технические причины этой катастрофы, разберем, почему простая покупка дешевых SSD не решит проблему (а может даже усугубить ее), и предложим пошаговые варианты модернизации ИТ-инфраструктуры — от бесплатных архитектурных изменений до построения отказоустойчивого сервера баз данных.

Выясняем причину: почему всё зависает и «падает» интернет?

На первый взгляд кажется странным, почему при работе в 1С у пользователей пропадает доступ в интернет, а сетевая карта сервера загружена всего на 30–50% (показывая скорость 50–90 Мбит/с в 100-мегабитной сети). Давайте разберем физику этого процесса по шагам.

1. Особенности работы протокола SMB и блокировок (Oplocks)
Когда база 1С лежит на сетевой шаре (обычной папке общего доступа), общение клиента с сервером происходит по сетевому протоколу SMB (Server Message Block). Если с базой работает всего один пользователь, операционная система Windows разрешает ему кэшировать данные локально на его ПК — это механизм оппортунистических блокировок (Oplocks). Но как только к файлу базы данных 1Cv8.1cd подключается второй (и тем более 50-й) пользователь, сервер принудительно отзывает эти блокировки. Локальное кэширование полностью отключается. Теперь любое минимальное действие в программе (открытие формы, проведение документа, поиск контрагента) требует от клиентского ПК прямой отправки сотен и тысяч мелких сетевых запросов чтения/записи к файлу базы на сервере.

2. Сетевой шторм из мелких пакетов
В этот момент сеть забивается не большим объемом информации (в мегабайтах), а колоссальным количеством мелких сетевых пакетов в секунду (параметр PPS — Packets Per Second). Сетевая карта сервера перегружается обработкой этих мелких транзакций. Бюджетные неуправляемые коммутаторы (свитчи) и простенькие роутеры, выполняющие роль точек доступа, просто «захлёбываются» от переполнения таблиц коммутации и буферов. В результате сетевое оборудование начинает отбрасывать пакеты, а роутер теряет пакеты внешней сети — именно поэтому у пользователей начинает «отваливаться» интернет.

3. Дисковая очередь (Disk Queue Length) на HDD
Обычные жесткие диски (HDD) созданы для последовательного чтения и записи. В условиях файловой 1С по сети на HDD обрушивается поток случайных запросов на чтение и запись мелких блоков размером 4KB от десятков пользователей одновременно. Считывающие головки HDD начинают непрерывно метаться по пластинам диска, издавая характерный скрежет. Время отклика диска (latency) вырастает с нормальных 5–10 мс до катастрофических 500–1500 мс. База 1С просто замирает в ожидании ответа от дисковой подсистемы.

4. Иллюзия тонкого клиента
Многие системные администраторы полагают, что использование «тонкого клиента» автоматически решает проблему сети. Но если базы 1С открываются напрямую по сетевому пути типа \\server\1c_bases\trade, то никакого тонкого клиента на самом деле нет. Платформа лишь эмулирует его работу локально на ПК пользователя, а по сети по-прежнему гоняются сырые куски огромного файла базы данных. Настоящий тонкий клиент работает только тогда, когда база опубликована на веб-сервере.

---

Вариант решения №1. Публикация баз на веб-сервере (IIS или Apache)

Это самое быстрое, эффективное и абсолютно бесплатное решение, которое позволит «оживить» работу 1С даже на старой 100-мегабитной сети и слабом сервере. Нам не потребуется покупать лицензии на сервер 1С или СУБД SQL.

Рассмотрим, как это работает. Вместо того чтобы предоставлять пользователям прямой доступ к файлу базы по сети, мы устанавливаем веб-сервер (IIS от Microsoft или бесплатный Apache) непосредственно на том компьютере, где физически лежат базы данных. На этом же компьютере настраивается публикация баз 1С.

Разберем по шагам преимущества этой схемы:

  1. Снижение нагрузки на сеть в десятки раз: Клиентские компьютеры подключаются к веб-серверу по протоколу HTTP/HTTPS через настоящий тонкий клиент 1С. По сети больше не передаются тяжелые куски БД. Передается только сжатая текстовая информация (XML/JSON), описывающая структуру форм и данные. Сетевой трафик падает до минимума, стомегабитная сеть вздыхает с облегчением.
  2. Локальная работа с диском: Сам веб-сервер общается с файлом базы данных локально, в пределах одного компьютера. Это полностью исключает сетевой протокол SMB и проблемы с отзывом блокировок Oplocks. Скорость работы дисковой подсистемы возрастает в разы.
  3. Безопасность: Пользователям больше не нужен физический доступ к папке с базой данных на сервере. Это исключает риск того, что кто-то случайно удалит или скопирует файл 1Cv8.1cd на флешку.

Выясним, какой веб-сервер выбрать:

Важное ограничение метода: Хотя веб-сервер и решает проблемы с сетью, сама база данных внутри остается файловой. При записи данных в файловую базу происходит так называемая табличная блокировка (блокируется вся таблица целиком на время транзакции). Если 50 пользователей одновременно начнут активно проводить документы, они все равно будут периодически сталкиваться с ошибками блокировок. Но это решение в разы стабильнее и быстрее, чем прямая работа по сети.

---

Вариант решения №2. Правильный выбор SSD (Enterprise против Consumer)

Директор компании из примера негативно относится к твердотельным накопителям (SSD), так как у них уже был опыт потери базы данных из-за выхода из строя одного SSD. Такое часто происходит, если в погоне за экономией в сервер устанавливают обычные бытовые (потребительские) диски. Разберем разницу между ними подробнее.

Почему бытовые SSD (например, серии Samsung EVO, Kingston A400, Crucial MX) выходят из строя в серверах 1С и теряют данные?

Проанализируем критерии выбора серверных Enterprise SSD, которые гарантируют сохранность данных и высокую скорость работы 24/7:

  1. Наличие аппаратных суперконденсаторов (технология PLP): В конструкцию серверного SSD впаяны специальные конденсаторы. В случае внезапного пропадания питания их заряда хватает на то, чтобы диск автономно работал еще несколько миллисекунд — этого достаточно для экстренного сброса всех данных из летучего кэша DRAM в энергонезависимую NAND-память. Данные не будут потеряны никогда.
  2. Высокий ресурс DWPD (Drive Writes Per Day): Этот параметр показывает, сколько раз в день можно полностью перезаписать весь объем диска в течение 5 лет гарантийного срока. Для баз 1С выбирайте диски класса Mixed Use (MU) или Write Intensive (WI) с показателем DWPD от 1 до 3. Диски класса Read Intensive (RI) с DWPD < 1 для баз данных покупать не рекомендуется.
  3. Стабильная скорость случайного чтения/записи (IOPS): Серверные SSD выдают стабильно высокую производительность под нагрузкой независимо от того, насколько сильно заполнен диск.

Рекомендуемые линейки серверных SSD, на которые стоит обратить внимание:

---

Вариант решения №3. Построение надежного RAID-массива

Даже самый надежный серверный SSD может выйти из строя. Для обеспечения непрерывности бизнеса диски на сервере обязательно должны быть объединены в RAID-массив.

Посмотрим на особенности настройки RAID для SSD-накопителей:

Ни в коем случае не используйте RAID 5 или RAID 6 для SSD под базы данных!
В этих массивах используется расчет контрольных сумм. При любой записи даже самого мелкого блока данных контроллеру приходится считывать соседние блоки, пересчитывать четность и записывать новые данные. Возникает эффект «штрафа на запись» (Write Penalty). Это приводит к лавинообразному увеличению количества циклов перезаписи ячеек памяти SSD (эффект Write Amplification). Диски в RAID 5 изнашиваются в несколько раз быстрее и могут выйти из строя практически одновременно, похоронив все данные.

Правильный выбор для SSD под базы данных:

Важное примечание по контроллерам:
Если вы используете классические серверные SSD с интерфейсом SATA или SAS, вам необходим хороший аппаратный RAID-контроллер (например, от Broadcom/LSI или HPE) обязательно с собственной кэш-памятью и модулем защиты кэша (батарейкой BBU или суперконденсатором Supercap). Без аппаратного кэша скорость записи на диски в RAID будет крайне низкой. Если же вы планируете использовать современные ультрабыстрые накопители NVMe, аппаратный контроллер не нужен (он станет узким местом). Для NVMe-накопителей используют программный RAID средствами операционной системы (например, «Автономные пулы носителей» в Windows Server или mdadm в Linux).

---

Вариант решения №4. Кардинальный и правильный подход: 1С:Сервер + PostgreSQL

Файловый режим работы для 50 активных пользователей — это мина замедленного действия. Рано или поздно база вырастет, возникнут логические ошибки индексов, а частые аварийные завершения работы пользователей приведут к порче таблиц. Единственным архитектурно верным решением является переход на клиент-серверный вариант (SQL).

Разберем основные страхи и мифы руководства, мешающие переходу на SQL:

Миф 1: «Это очень дорого, лицензии стоят миллионы»
Как верно подметили участники обсуждения на форуме, многие путают правила лицензирования. Нам не нужно покупать 250 лицензий на каждую запущенную базу. Для 50 пользователей достаточно приобрести один USB-ключ (или комплект программных лицензий) на 50 рабочих мест. Сами пользователи могут при этом открывать хоть по 10 разных баз на своем компьютере — лицензия расходуется на сеанс работы или на физический компьютер (в зависимости от типа ключа).

Миф 2: «Лицензия на СУБД MS SQL Server стоит слишком дорого»
Нам совершенно необязательно покупать дорогой Microsoft SQL Server. Платформа 1С:Предприятие официально и абсолютно бесплатно поддерживает работу с СУБД PostgreSQL. Существуют специальные готовые сборки PostgreSQL от компании «1С», которые оптимизированы под особенности работы платформы. PostgreSQL отлично справляется с нагрузками в 50 и более пользователей, работает стабильно и не требует затрат на покупку лицензий СУБД.

Что мы получаем в итоге при переходе на связку 1С:Сервер + PostgreSQL?

---

Подведем итоги и составим план модернизации

Если бюджет компании жестко ограничен, а базы 1С тормозят прямо сейчас, рекомендуем действовать по следующему плану:

  1. Шаг 1 (Нулевые затраты): Установите на сервере веб-сервер IIS или Apache и опубликуйте все базы данных 1С. Переведите пользователей на подключение через тонкий клиент по HTTP-протоколу. Это мгновенно разгрузит вашу 100-мегабитную сеть, устранит проблемы с пропаданием интернета и уберет сетевые блокировки файлов базы.
  2. Шаг 2 (Минимальный бюджет): Проанализируйте дисковую подсистему сервера. Замените старые свистящие HDD на зеркальный RAID-1 массив из двух надежных серверных SSD класса Enterprise (например, серии Samsung PM893) с защитой от потери питания (PLP). На этом этапе вы полностью забудете про дисковые очереди и зависания системы.
  3. Шаг 3 (Модернизация сети): Поменяйте все старые коммутаторы в офисе на простые гигабитные устройства, а дешевый бытовой роутер замените на производительный маршрутизатор (например, Mikrotik). Это обеспечит стабильный и быстрый доступ к ИТ-ресурсам и интернету для всех 50 сотрудников без сбоев.
  4. Шаг 4 (Стратегический): Убедите руководство в необходимости покупки лицензии на «1С:Сервер». Разверните бесплатную СУБД PostgreSQL. Переведите базы данных в клиент-серверный режим. Только этот шаг гарантирует стопроцентную сохранность данных, стабильность транзакций и позволит вашей ИТ-инфраструктуре расти дальше вместе с ростом бизнеса.
← На главную