Supermicro с конфой:
Windows Server 2019
2 проца Xeon E5-2620
ОЗУ 320ГБ
Используется как терминальный сервер для работы с 1С. БД и сервер 1С находятся на другой машине.
Сразу оговорюсь, что запас по производительности есть. Средняя загрузка ЦП сервера 40%, в кратковременные пики прыгает до 80%, ОЗУ при этом занято максимум 100ГБ.
Суть проблемы такова: когда на сервак заходит много пользователей для работы с 1С, начинаются чудеса с сервером. Он начинает глючить. Симптомы:
- глючит окно диспетчера устройств
- становится недоступным сервер RPC
- по таймауту останаливаются службы, так как от них не получен ответ более 3 секунд
- не открываются и не записываются журналы windows
- не работает оснастка служб windows. При открытии вываливается "Ошибка 1783: Заглушке переданы неверные данные".
По последней проблеме начал копать более детально. Нашел только вот это:
https://docs.microsoft.com/en-us/troubleshoot/windows-server/system-management-components/error-1783-services-msc
Если кратко, то тут говориться о том, что буфер Services.msc ограничен 256 КБ данных и он переполнен. Рекомендуется удалить ненужные службы через реестр по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services.
Начинаем копать и видим, что есть куча пользовательских служб (будь они прокляты): CaptureService_*, CDPUserSvc_*, DevicePickerUserSvc_*, DevicesFlowUserSvc_*, PimIndexMaintenanceSvc_*, PrintWorkflowUserSvc_*, UnistoreSvc_*, UserDataSvc_*, WpnUserService_*.
Далее смотрю следующую статью https://docs.microsoft.com/en-us/windows/application-management/per-user-services-in-windows и согласно ей отключаю все "корневые" пользовательские службы. Они становятся выключенными, но проблема осталась так как они при входе пользователя создаются отключенными, но ОНИ СУЩЕСТВУЮТ. То есть проблема с переполнением буфера остается.
Усиленный поиск гуглом не помогает, такие проблемы воспроизводятся, либо у единиц и решения проблемы нет, либо о такой проблеме никто не знает и рекомендуют почистить реестр. Что тупо, потому что система сама создает и удаляет эти службы при входе/выходе пользователя из системы.
Как временный костыль можно раз в n-ное количество времени запускать через powershell 7 комманды типа Get-Service * | Remove-Service. Если так сказать потерять момент, то Get-Service не будет работать. То есть службы ника не получится удалить. И до перезагрузки сервера или выхода части пользователей придется терпеть эти глюки.
Итак, вопрос знатокам: КАК ОТКЛЮЧИТЬ АВТОСОЗДАНИЕ ЭТИХ СЛУЖБ?!
П.С. ну не верю я, что 200 пользователей - это много. Должно быть решение.
А вы попробуйте поверить. Я уже не помню где я это видел, но рекомендации были 30-50 соединений на 1 сервер. При вашем железе надо было поставить гипервизор, сделать ферму и раскидать пользователей по нескольким серверам.
для гипервизора поддисковая система не очень подходит, а это деньги...
Ну тут либо шашечки, либо ехать.
А что у вас там за диски? Что не они не походят для виртуализации? В рейд не собираются?
Обсуждают сегодня