Windows на сервере тормозит

Доброго времени суток!
Измучался я с решением проблемы по торможению сеанса связи по RDP с этой Windows Server 2012 standart x64. Ситуация какая, работаю я с этим сервером удалённо по RDP, обновления все накаченные на этом сервере до 08.06. 2015. Сетевуха 4 портовая Intel Pro 1000 PT Quard Port LP Server Adapter, два порта объединены в группу, воткнуты в локальный свитч Cisco SG300-28P. Какое то время я могу работать быстро по RDP, потом н ачинаются жуткие подвисания, тормоза по 3-4 сек. отклика, через пару минут становится вроде опять всё норма. Это обычно всё возникает через пару минут после подключения к серверу по RDP. Подключаюсь я с XP, также пробовал и с Windows 7. Те же грабли, всё тоже самое. В начале, когда законектишься уже медленно работает с притормаживанием, через минуту-две-три, вообще работать невозможно. 3 секс отклика на любые действия, торомза страшные, работать просто невозможно, ни с XP, ни Windows 7. Что я пробовал. Естественно поискал в интернете эту информацию и нашёл такие команды:
netsh int tcp set global autotuning=disabled
netsh int tcp set global autotuninglevel=disabled
netsh int tcp set global rss=disabled chimney=disabled
Пробовал и эти:
netsh int tcp set global autotuning=highlyrestricted
netsh int tcp set global autotuninglevel=highlyrestricted
netsh int tcp set global rss=disabled chimney=highlyrestricted
И это пробовал:
netsh int tcp set global autotuning=restricted
netsh int tcp set global autotuninglevel=restricted
netsh int tcp set global rss=disabled chimney=restricted
И под администратором запускал эти команды, перезагружал сервер, естественно. Но ничего не помогло. Не понимаю, в чём грабли, где что нужно отключить. Команды те, что сверху успешно были выполнены, так и писалось «OK»
Пробовал поставить другую сетевуху, простую 1 портовую, те же грабли, всё тоже самое, сильные тормоза в RDP сеансе. По 3 сек. отклика ждёшь, то через пару минут станет нормально, то опять.
Не подскажите как исправить данную проблему? Так как невозможно работать по RDP с этой Windows 2012.
Тормозит сервер Windows как найти и локализовать причину?
В данной статье рассказано о средствах Windows, помогающих установить причину почему тормозит сервер. В статье рассмотрена операционная система Windows Server 2012 R2 — одна из самых популярных у VDS / VPS хостинг провайдеров.
При поиске причины тормозов сервера очень важно найти непосредственно процесс который создает наибольшую нагрузку на систему. В этом может оказать неоценимую помощь приложение perfmon которое входит в состав ОС Windows. Наибольший интерес для новичков будет представлять окно Resource Monitor.
Запуск Resource Monitor под Windows Server
Наиболее простой способ запуска это в окне Run (команда Win + R) набрать комманду perfmon /res.
Альтернативный вариант — в окне Task Manager (открывается комбинацией клавиш Ctrl-Shift-Esc) перейти на вкладку Peformance и внизу вкладки нажать на ссылку Open Resource Monitor.
Вкладка Performance дает общую информацию о системе, которая может быть также полезна. Можно понять загрузка какого ресурса близка к 100%: памяти, CPU или локальной сети.
Использование Resource Monitor для поиска причины почему тормозит сервер.
Очень часто поиск причины тормозов сервера начинают с проверки загруженности дисковой системы. Ниже представлено окно Resource Monitor на вкладе Disk.
На вкладке Disk Activity показана загруженность в процентах. Если загрузка, близка к 100%, то скорее всего дисковая система является причиной низкой производительности системы. Щелкая по заголовку Total (B / Sec) можно отсортировать файлы с которыми в данный момент роботает система по объему чтетния и записи на диск. Наиболее загруженный файл и будет причиной тормозов системы. Зная какой файл создает высокую нагрузку гораздо легче понять, какой процесс нагружает систему. Если это какой-то системный файл начинающийся с C:/Windows, то есть смысл воспользоваться поисковой системой, чтобы понять, какой системной службе принадлежит данный файл.
Следущей причиной может стать Сетевая нагрузка. Особенно это актуально для VPS серверов. В случае если вы подключаетесь по RDP то сетевый задержки могут ощущаться как тормоза сервера. Переходим на вкладку Network:
В первую очередь обращаем внимание на общую нагрузку сети. Если она близка к 100% процентам, то скорее всего проблема в сети. На вкладке Processes with Network Activity и TCP Connections мы можем найти название процесса, который нагружает сеть. К сожалению, системные и серверный службы запускаются при помощи системного файла svchost.exe, и часто непонятно какая именно служба загружает сеть. Но если, вы видите, что причина в svchost.exe, то причину нужно искать в службах Windows.
Бывает так, что вы запустили слишком много программ и у вас банально не хватает оперативной памяти. В этом случае нам может помочь вклада Memory. Иформация по процессам аналогична вкладке Network:
Самый простой случаей это загрузка CPU. Ее можно посмотреть на вкладке как на вкладке CPU так и в обычном Task Manager:
Сервер терминалов тормозит
Есть у меня в хозяйстве 2 сервера терминалов Windows Server 2008 R2, на каждом из которых активно работают 25-30 человек. Занимаются обычной офисной работой: создание и редактирование документов в Microsoft Office 2010, работа с почтой в Microsoft Outlook 2010, серфинг в интернете, работа с 1С:Предприятие 8.3 и прочая офисная мелочевка. Обеспечивают их работу 2 достаточно мощных сервера с двумя Xeon на каждом борту, 32 Гб оперативной памяти, RAID SAS контроллер c дисками 10k и 15k.
Пока количество пользователей не приблизилось к 30-ти на каждом сервере, каких-то ощутимых торможений, мешающих нормальной работе, не было. Когда же подошли к этой цифре, сервера стали ощутимо тормозить, раздражая пользователей. Торможения выражались в задержках обычных операций редактирования, создания, перемещения файлов, навигации по папкам. Все вроде работает, но как-то медленно, раздражает, иногда картинка замирает на 1-2-3 секунды, потом продолжается работа.
Проводим тесты
Начал разбираться, в чем же дело. В первую очередь подумал на дисковую подсистему, которая просто перестала справляться с нагрузкой. Чтобы убедиться в этом, открыл оснастку «Производительность», добавил счетчик «Средняя длина очереди диска» (Average Disk Length Queue/sec), экземпляр «_Total» и стал следить. Мои подтверждения оказались верны. Среднее значение было в районе 2-4, что плохо. Тормоза начинают ощущаться при значениях от 1.5 и выше. Рекомендации в интернете говорят о том, что при значении выше 1 дисковая подсистема не справляется с нагрузкой и надо что-то предпринимать по увеличению производительности. В моем случае улучшать производительность это значит покупать новые, достаточно дорогостоящие серверные SSD диски, так как сейчас и так стоят дорогие и быстрые SAS диски со скоростью вращения 15к.
Я решил провести еще немного тестов. Выбрал тот же счетчик, но в качестве экземпляра взял 2 логических диска по отдельности. Вот тут меня ждал сюрприз. Оказывается, нагрузка была не на все диски, а только на логический системный раздел C:, где установлена операционная система. Все пользовательские данные хранятся на диске D:, нагрузка на него была в пределах 0.2-0.5. Я же изначально предполагал обратное. Думал, что нагружен раздел с пользовательскими данными, где хранятся многогигабайтные PST файлы Outlook, которые постоянно подгружаются во время работы почтового клиента.
Стоит рассказать об уровнях рейд, которые я использовал. Теперь стало ясно, что разбивал диски я не правильно, ожидая повышенную нагрузку на разделы с пользовательскими данными. Система Windows Server 2008 R2 установлена на RAID-1 , состоящий из двух дисков. Пользовательские данные лежат на RAID-5 , состоящий из 4-х дисков. Чем я руководствовался, когда разбивал диски именно так, сейчас уже не помню, но это явно неправильно. Думаю, надо было сделать один общий RAID-10 или RAID-6 раздел, разбить его на 2 логических и разместить систему отдельно от пользовательских данных. Таким образом была бы более равномерная нагрузка на все диски.
Снижаем нагрузку на жесткий диск
Главной задачей стало снижение нагрузки на системный диск. В первую очередь перенес файл подкачки с системного диска на пользовательский раздел. Помогло это не сильно, так как оперативной памяти достаточно, использование файла подкачки было минимальным. Я стал смотреть с помощью монитора ресурсов, что же нагружает больше всего дисковую подсистему. Оказалось, что браузеры, в моем случае Internet Explorer и Google Chrome, а конкретно, их кэши. Стал думать, как перенести кэш. С Хромом оказалось все просто. Для него существуют ADM файлы для управления настройками через групповые политики домена windows. Скачать их можно тут https://support.google.com/chrome/a/answer/187202?hl=ru

С Internet Explorer все оказалось сложнее. Настройку в групповой политике, позволяющей переместить папку Temporary Internet Files в другое место я найти не смог. Тут был вариант использовать перемещаемый профиль, но мне не захотелось с этим связываться ради такой задачи. Я нашел одну настройку, которая мне частично могла помочь в моем вопросе: «Empty Temporary Internet Files folder when browser is closed». Включил ее, чтобы временные файлы интернета автоматически очищались при закрытии браузера. Хотя у меня настроено в GPO перемещение папки (Folder Redirection) «AppData(Roaming)» на другой диск, не системный, часть настроек все равно не переносятся и остаются на системном диске, в том числе и папка с временными файлами интернета.
Эти настройки позволили снизить нагрузку на системный раздел. Далее было решено отказаться от серверного антивируса Касперского, необходимость в котором отпала. Ранее я настроил на терминалах Applocker для запрета запуска произвольных исполняемых файлов. Пользователи могли запускать только строго ограниченный набор программ, так что вирусы при всем желании они запустить бы не смогли. Отключение антивируса еще снизило нагрузку.
Наблюдая дальше за нагрузкой на диск, заметил, что постоянно идет запись в файл лога агента системы мониторинга Zabbix. Оказалось, что после установки, во время отладки, я указал максимальный уровень логирования, что приводило к непрерывной записи всевозможной информации в лог. Это создавало приличную нагрузку на диск, так как записываемой информации в секунду было очень много. Отключил логи, так как система давно настроена и отлажена, необходимости в логах нет.
После всех моих действий нагрузка на диск снизилась до приемлемых значений средней длины очереди 1-1.5. Пользователи ощутили улучшение быстродействия, так что вопрос апгрейда отложен на некоторый срок. Скорее предстоит замена полностью серверов, нежели отдельно дисков.










