При эксплуатации тяжелых конфигураций, таких как 1С:Управление производственным предприятием (УПП) в режиме толстого клиента, системные администраторы часто сталкиваются с деградацией производительности и полным «зависанием» серверов. Рассмотрим ситуацию, когда на терминальном сервере с 64 ГБ оперативной памяти работают около 100 пользователей, и выясним, почему текущих мощностей катастрофически не хватает, а также разберем по шагам методы решения этой проблемы.
Разберем типичную математику потребления ресурсов. Для режима «толстого клиента» 1С характерно выполнение большей части кода и построение интерфейсных форм непосредственно на стороне клиента (в данном случае — в сессии пользователя на терминальном сервере). В отличие от тонкого клиента, толстый клиент крайне требователен к объему RAM.
Проанализируем реальные цифры:
Таким образом, для 100 пользователей минимально необходимый объем только под процессы 1С составляет: 100 пользователей * 1.5 ГБ = 150 ГБ. С учетом потребностей самой операционной системы Windows Server и служебных процессов, комфортный объем памяти для такой нагрузки начинается от 192 ГБ или даже 256 ГБ. Имеющиеся 64 ГБ позволяют выделить лишь по 600 МБ на человека, что вынуждает систему постоянно использовать файл подкачки.
Когда оперативная память занята на 100%, операционная система начинает активно перемещать данные из быстрой оперативной памяти в медленный файл подкачки на диске (процесс swapping). Проанализируем, к чему это приводит:
1. Дисковая очередь: Процессор вынужден ждать, пока данные прочитаются с диска, что порождает высокую очередь (Disk Queue Length). Визуально это выглядит как «замерзание» интерфейса 1С у всех пользователей одновременно.
2. Нагрузка на CPU: Несмотря на то, что процессоры могут быть не загружены вычислениями 1С, они тратят огромные ресурсы на управление виртуальной памятью и переключение контекстов между сотнями ожидающих процессов.
Проверим состояние системы через монитор ресурсов. Если счетчик Memory\Pages/sec стабильно выше 100, а средняя очередь к диску превышает 2, сервер официально находится в состоянии ресурсного голода.
Рассмотрим вариант, предложенный опытными администраторами: вместо одного сверхмощного сервера использовать несколько менее мощных. Это называется созданием терминальной фермы (RDS Farm).
Разберем преимущества такого подхода:
dwm.exe (Desktop Window Manager).Рекомендуемая конфигурация в вашем случае — 4 сервера по 25–30 пользователей на каждом, с объемом памяти не менее 64–96 ГБ на единицу.
Часто причиной «подвисаний» на терминалах становятся не только расчеты 1С, но и периферийные процессы. Выясним, как это оптимизировать:
Проблема с принтерами: Автоподключение (маппинг) клиентских принтеров через механизм Easy Print создает огромную нагрузку на службу печати и процессор. Проанализируем рекомендации: необходимо отключить автоматический проброс принтеров в настройках RDP и установить драйверы наиболее популярных моделей локально на сервер или использовать специализированные решения (например, универсальные драйверы печати).
Графическое ускорение: В современных версиях Windows Server каждый сеанс требует ресурсов для отрисовки интерфейса. Для оптимизации следует:
Разберем важный технический аспект: платформы 1С (особенно версии 8.3.25 и выше) имеют особенности работы с памятью. Память, захваченная под большой табличный документ или сложный отчет, может не возвращаться операционной системе сразу после закрытия формы. Она остается «зарезервированной» за сеансом пользователя до его полного завершения.
Проанализируем меры противодействия:
AppData\Local\1C со временем разрастается. Рекомендуется настроить скрипты очистки старого кэша при входе пользователя.1cv8.exe, 1cv8c.exe и расширения .1cd, .1cl.Для стабильной работы 100 пользователей в УПП на одном сервере текущих 64 ГБ недостаточно. Рассмотрим план действий по исправлению ситуации:
1. Срочное увеличение ОЗУ: Доведите объем памяти до 128 ГБ как временную меру, или до 192+ ГБ для полноценной работы.
2. Разделение нагрузки: Если бюджет позволяет, разверните 3 дополнительные виртуальные машины и настройте RD Connection Broker для распределения нагрузки.
3. Проверка дисков: Убедитесь, что база 1С, файлы подкачки и профили пользователей находятся на быстрых SSD/NVMe накопителях. Обычные HDD не справятся с интенсивным вводом-выводом при такой плотности пользователей.
4. Мониторинг копрокода: Если после добавления памяти она продолжает «улетать» за считанные часы, проанализируйте работу программистов. Возможно, в конфигурации есть неоптимальные запросы или циклы, которые порождают создание огромных временных таблиц в памяти.