При эксплуатации файловых версий 1С:Предприятие 7.7 (DBF) в терминальной среде Windows Server администраторы нередко сталкиваются с ситуацией, когда система внезапно начинает сильно зависать: интерфейс не реагирует на нажатия мыши, а проведение документов блокирует работу всех пользователей. Проблема может проявляться спонтанно раз в несколько недель или дней, после чего исчезать без видимых причин. Разберем основные источники таких задержек и пошагово настроим сервер для стабильной работы.
Одной из наиболее частых причин резкого падения производительности является одновременный запуск сеансов через терминал и по локальной сети через общий сетевой ресурс (SMB-папку). Проанализируем этот механизм:
.dbf и .cdx.Решение: закройте общий сетевой доступ к каталогам с информационными базами. Все пользователи должны подключаться исключительно через терминальный сеанс RDP непосредственно на сервере.
Движок DBF крайне чувствителен к времени отклика накопителя (latency) и очереди диска. Периодические зависания часто совпадают с фоновыми задачами ввода-вывода:
chkdsk и параметров S.M.A.R.T.1Cv7.mlg в каталоге SysLog информационной базы. При достижении сотен мегабайт каждое действие пользователя сопровождается задержкой на запись события. Периодически архивируйте или очищайте данный файл.Платформа 1С 7.7 разрабатывалась для одноядерных систем. На современных многоядерных процессорах с поддержкой Hyper-Threading (например, Intel Core i7) штатный механизм ожидания освобождения заблокированных файлов DBF начинает непрерывно опрашивать систему, нагружая доступные потоки процессора на 100% и парализуя интерфейс.
Для устранения этой проблемы настроим запуск 1С с привязкой к конкретным ядрам процессора (CPU Affinity). Запуск терминального сеанса можно выполнять через командный файл:
start /affinity 3 "C:\Program Files (x86)\1Cv77\BIN\1cv7s.exe" enterprise
Маска 3 указывает операционной системе использовать только первые два ядра процессора, что предотвращает паразитные скачки нагрузки между разными физическими ядрами и потоками. Также рекомендуется использовать специализированные исправления библиотеки BkEnd.dll, устраняющие циклические ожидания файловых блокировок.
Использование потребительских сетевых карт (таких как Realtek RTL8111H) на серверных операционных системах часто приводит к микроразрывам RDP-сессий и зависаниям интерфейса из-за некорректной работы аппаратных разгрузок. Выполним оптимизацию параметров сетевой карты и ОС:
netsh int tcp set global chimney=disabled
netsh int tcp set global rss=disabled
netsh int tcp set global netdma=disabled
Кроме того, возникновение ситуации, когда пропадает интернет, но сохраняется локальная сеть, свидетельствует о конфликтах IP-адресов (ARP-коллизиях) или наличии в сети неконтролируемого DHCP-сервера (например, встроенного в роутер). Если два устройства получают одинаковый статический IP-адрес, шлюз сбрасывает сетевые соединения. Для стабильной работы разверните централизованный DHCP-сервер с фиксированной привязкой адресов по MAC-адресам клиентов.
Антивирусное ПО (в частности, решения «Лаборатории Касперского») в моменты фонового обновления баз или сканирования руткитов перехватывает дескрипторы открытых файлов. Если антивирус на доли секунды блокирует файл .cdx или .dbf, клиентский сеанс 1С 7.7 аварийно завершается либо намертво зависает.
Настроим список исключений антивируса на сервере:
1cv7s.exe, 1cv7.exe.*.dbf, *.cdx, *.md, *.dd, *.usr, *.mlg.TEMP и TMP.Если оптимизация настроек сервера исчерпана, а количество одновременно работающих пользователей превышает 10–15 человек, рассмотрим следующие архитектурные варианты: