none
Зависание терминального сервера из-за большого количества клиентских служб RRS feed

  • Вопрос

  • Коллеги, имею проблема, уже не знаю, куда копать. 
    Есть терминальный сервер Supermicro с конфой:
    Windows Server 2019
    2 проца Xeon E5-2620
    ОЗУ 320ГБ
    Сразу оговорюсь, что запас по производительности есть. Средняя загрузка ЦП сервера 40%, в кратковременные пики прыгает до 80%, ОЗУ при этом занято максимум 100ГБ.

    Суть проблемы такова: когда на сервер заходит много пользователей, начинаются чудеса с сервером. Он начинает глючить. Симптомы:
    - глючит окно диспетчера устройств;
    - становится недоступным сервер RPC;
    - по таймауту останавливаются службы, так как от них не получен ответ более 3 секунд;
    - не открываются и не записываются  журналы windows. В средстве просмотра событий ошибка "Сервер RPC занят  не может завершить операцию (1723);
    - не работает оснастка служб 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 пользователей - это много. Должно быть решение.
    10 декабря 2020 г. 7:22

Ответы

Все ответы

  • Была темка, где давали ссылки, что терминалка максимум может вместить 110 юзеров и потом начинаются проблемы.

    Высоконагруженный терминальный сервер_Неуправляемость!


    10 декабря 2020 г. 8:05
  • Ну если бы Вы погуглили, то стало бы ясно, что проблемы начинаются от 70 пользователей. А была темка, где давали ссылки, что терминалка максимум может вместить 115 юзеров примерно. Могу ошибиться +- 10 юзеров.

    То есть проблема банально в этом? Я почему-то не нашел ничего подобного. Можете дать ссылки на материалы?

    10 декабря 2020 г. 8:07
  • Ну если бы Вы погуглили, то стало бы ясно, что проблемы начинаются от 70 пользователей. А была темка, где давали ссылки, что терминалка максимум может вместить 115 юзеров примерно. Могу ошибиться +- 10 юзеров.

    То есть проблема банально в этом? Я почему-то не нашел ничего подобного. Можете дать ссылки на материалы?

    Я пока редактировал сообщение, Вы уже ответили ) Посмотрите еще раз выше.
    10 декабря 2020 г. 8:10
  • Ну если бы Вы погуглили, то стало бы ясно, что проблемы начинаются от 70 пользователей. А была темка, где давали ссылки, что терминалка максимум может вместить 115 юзеров примерно. Могу ошибиться +- 10 юзеров.

    То есть проблема банально в этом? Я почему-то не нашел ничего подобного. Можете дать ссылки на материалы?

    Я пока редактировал сообщение, Вы уже ответили ) Посмотрите еще раз выше.
    Спасибо, вижу, поизучаю. Странное конечно "ограничение". 
    10 декабря 2020 г. 8:14
  • Ну если бы Вы погуглили, то стало бы ясно, что проблемы начинаются от 70 пользователей. А была темка, где давали ссылки, что терминалка максимум может вместить 115 юзеров примерно. Могу ошибиться +- 10 юзеров.

    То есть проблема банально в этом? Я почему-то не нашел ничего подобного. Можете дать ссылки на материалы?

    Я пока редактировал сообщение, Вы уже ответили ) Посмотрите еще раз выше.

    Спасибо, вижу, поизучаю. Странное конечно "ограничение". 

    нет такого ограничения, подробно отписался в теме Высоконагруженный терминальный сервер_Неуправляемость!

    А проблемы вы сможете получить и с 10 одновременными пользователями на сервер, если общее количество терминальных  пользователей в вашей организации измеряется сотнями/тысячами. Т.к. в данном случае проблема не в количестве одновременных входов на сервер, а в общем количестве различных пользователей и даже общем количестве входов одного и того же пользователя на данный конкретный сервер.

    Тему про высоконагруженный сервер закрыли, потому оставлю здесь пару полезных ссылок:

    https://docs.microsoft.com/en-us/windows/application-management/per-user-services-in-windows

    https://docs.microsoft.com/en-us/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server


    my blog: http://shserg.ru/




    • Предложено в качестве ответа s.h.s. _ 24 февраля 2021 г. 9:36
    • Изменено s.h.s. _ 24 февраля 2021 г. 14:42
    24 февраля 2021 г. 9:35