Привет!
14/01/2020 приближается и эта дата знаменует окончание расширенной поддержки для Windows Server 2008 R2, и если вы все еще используете Windows Server 2008 R2, вам следует задуматься про миграцию на более актуальную платформу.
Под катом находится небольшое сравнение потребляемых ресурсов старой и новых платформ Windows Server — роль RDSH. В первую очередь меня интересовала возможность продолжить использование уже имеющихся в наличии серверов HP G6/G7 под управлением VMware Vsphere 5.5.
Информация о Windows Server Lifecycle доступна по этой ссылке Search Product Lifecycle.
У меня будет два тестовых стенда:
1 – HP DL120 G7, 1*cpu Intel Xeon E3-1240.
2 – HP ML350 G6, 2*cpu Intel Xeon E5620.
Сервера будут работать под управлением VMware ESXi 5.5, образ VMware-ESXi-5.5.0-Update1-1746018-HP-5.75.4-Dec2014. Я также пробовал использовать образ VMware-ESXi-5.5.0-Update3-3116895-HP-550.9.4.26-Nov2015, но на полученные результаты это не влияет.
А вот образ VMware-ESXi-5.5.0-Update2-2403361-HP-550.9.2.40.2-Sep2015 дает искаженные результаты, по какой-то причине статистика которую показывает сервер отличается от реальной в два раза. С этим образом максимум что показывает сервер это 50 процентов нагрузки на процессор, видимо какой-то баг. Я вначале обрадовался когда получил первые результаты, но потом понял что что-то не так…
Также следует упомянуть, что поддержка VMware Vsphere 5.5 тоже не вечная, и платформа уже не актуальна, и стоит задуматься про обновление. Информация про VMware Lifecycle доступна в данном документе VMware Lifecycle Product Matrix.
И не стоит забывать про VMware Compatibility Guide. Если говорить про сервер HP DL120 G7, этот сервер никогда не присутствовал в матрицах совместимости, а вот на сервер HP ML350 G6 официально допускается установка ESXi 5.5 U3.
Гостевые ОС
Информация про совместимость ESXi с гостевыми ОС также доступна в VMware Compatibility Guide.
ESXi 5.5 U3 позволяет в качестве гостевой ОС установить Windows Server 2016, и даже версии 5.5 будет для этого достаточно. А вот для установки Windows Server 2019 понадобится ESXi версии 6+, но это никак не помешает мне протестировать задуманное.
У меня будут следующие тестовые VM: WS2008R2SP1, WS2012R2, WS2016 и WS2019.
На все VM установлены агенты VMware Tools 5.5.0-10.2.5.8068406. Установлены все обновления от Microsoft за май 2019 и даже какие-то за июнь 2019, после чего служба обновления была отключена.
Для моих тестов я выполнил минимальный тюнинг, хочу чтобы все работало с максимально стандартными параметрами. Для этого я буду использовать локальные групповые политики, немного подробней про это я напишу в конце.
1 — отключил «desktop composition»
2 — разрешил редирект звука и видео
3 — включил RemoteFX для WS2008R2SP1 и клиентов WS2008R2SP1
4 — отключил сглаживание шрифтов
5 — ограничил разрядность цветовой палитры на значении 32
6 — ограничил количество мониторов на значении 1
Что бы кодек RemoteFX начал работать на WS2008R2SP1 необходимо установить роль RDSH, для более новых версий этого можно не делать. Возможно, RemoteFX используется на WS2008R2SP1 без установки RDSH, но в логах отсутствуют события про активацию этого кодека.
Тест 1
В качестве теста я буду использовать ролик на YouTube с разрешением 720p,
What's new in Remote Desktop Services on Windows Server 2019 — BRK2242.
На каждом из серверов я поочередно открою одну rdp сессию и тестовый ролик в Chrome (версия 75.0.3770.80(64bit)).
В этом тесте в качестве клиента будет использоваться тонкий клиент HP t510 под управлением ОС HP ThinOS 4.4 и с пакетом Freerdp-1.1hp10d-all-4.4-x86-SQ. Данный аппарат подключен к монитору с разрешением Full HD, и профиль тонкого клиента был сброшен до заводского.
Графики я снимал с хоста, все первые тесты будут выполняться на сервере HP DL120G7.
Комментарии к результатам первого теста:
В данном тесте ws2008 потребляет в три раза меньше процессорных ресурсов, но при этом в три раза больше трафика чем другие участники теста.
При током трафике, в один гигабит можно поместить 66 сессий, а вот переход на новую версию сервера вероятно уменьшит в три раза количество пользователей которые смогу работать при таком потреблении процессора.
Визуально картинка в данной презентации приемлема на всех версиях Windows Server. Конечно если запустить что-то более динамичное, то более новые версии серверов показывают картинку заметно лучше. Предположу что это связано с количество кадров, больше кадров = плавное воспроизведение = больше нагрузка на процессор.
Тест 2
Сценарий для второго теста остается без изменений, за исключением использования Firefox (версия 67.0.2 (64bit))
Комментарии к результатам второго теста:
Firefox в паре с ws2019 показывает не плохой результат, потребляет немного больше процессора и заметно меньше трафика чем ws2008.
Тест 3
В этом тесте будет использоваться Chrome, но клиентом уже будет выступать ноутбук с Windows 10 1903, ноутбук подключен к монитору с разрешением FullHD.
Комментарии к результатам третьего теста:
В случаи с ws2008 потребляется меньше трафика, другие изменения не значительны…
Также я заметил что Chrome при отображении на фоне ролика прогресс бара потребляет на 1000 мгц больше, а вот в Firefox такого эффекта я не заметил, и прорисовка прогресс бара на количество потребляемых ресурсов не влияет.
Тест 4
Ноутбук с Windows 10 в паре с Firefox
Комментарии к результатам четвертого теста:
В такой комбинации сервер-клиент-браузер, ws2019+Firefox потребляет меньше ресурсов чем с Chrome, но стал потреблять заметно больше процессора если сравнить с результатами Теста 2.
В случаях с ws2012 и ws2016 результаты всех проведенных тестов получаются заметно ровнее, нету такого разброса как у ws2019.
Тест 5
Данный тест заключен в запуске максимального количества rdp сессий и запуска презентации в каждой из сессии. В этом мне будет помогать Remote Desktop Connection Manager, RDCM будет запущен на ноутбуке с Windows 10.
Разрешение сессий пришлось уменьшить до 1440*900.
В качестве результатов просто приведу сводную таблицу:
Комментарии к результатам пятого теста:
Неожиданно, 2019 сервер показал результаты хуже чем ws2012 и ws2016. Сервер 2008 смог открыть 8 сессий в то время как сервера 2012/2016 могут открыть 4 сессии, и 5-я поднимает нагрузку до 100%. Сервер 2019 смог работать максимум с 4-мя сессиями.
Firefox не является для меня приоритетным браузером, и поэтому я запускал его только в ws2019 чтобы убедиться в полученных цифрах.
Тест 6
В этом тесте в игру вступает сервер HP ML350G6 с двумя процессорами Е5620, тестировать буду только 2008 и 2019 сервера. Тест прежний, запуск максимального количества сессий, использоваться будет только Chrome.
Комментарии к результатам шестого теста:
Для запуска 10 сессий на сервере 2008 понадобилось 60 процентов процессорных ресурсов, а для запуска всего 5 сессий на 2019 сервере нужно больше 90 процентов.
Заключительная часть — Тюнинг
Все тестовые VM я вернул на сервер HP DL120G7 и в качестве клиента использовал ноутбук с Windows 10 и его штатный экран с разрешением 1366*768.
К сожалению попытки уменьшить потребление процессора я бы не назвал успешными, но сказать что результатов нету тоже нельзя. Вот список всех доступных параметров локальных групповых политик которые можно использовать для тюнига:
В Windows Server 2008R2 параметры «Optimize visual experience when using RemoteFX» позволяют управлять качеством картинки и количеством кадров, и это дает заметный результат. Уменьшение количества кадров снижает нагрузку на процессор и сеть. Для Windows Server 2019 эти параметры не работают.
Качеством картинки в Windows Server 2019 можно управлять параметром «Configure image quality for RemoteFX Adaptive Graphics», а вот изменить количество кадров нечем, или я такой параметр не нашел.
Я пробовал различные комбинации параметров, но заметные изменения в результатах я смог получить только в нескольких случаях. И самое интересное то что можно заметить изменения в трафике но при этом нагрузка на процессор меняется слабо.
— Приоритезация H.264/AVC 444 увеличила нагрузку на процессор но при это трафик заметно снизился с 2х до 1 мегабита.
This policy setting prioritizes the H.264/AVC 444 graphics mode for non-RemoteFX vGPU scenarios. When you use this setting on the RDP server, the server will use H.264/AVC 444 as the codec in an RDP 10 connection where both the client and server can use H.264/AVC 444.
— Отключение компрессии RDP не снизило загрузку на процессор, но при этом трафик увеличился с 2х до 7 мегабит.
— Включение Losles параметра для image quality приводит к не адекватному потреблению трафика, без изменения нагрузки на процессор. Для каких сценариев данная опция добавлена мне не совсем понятно.
If you enable this policy setting and set quality to Lossless, RemoteFX Adaptive Graphics uses lossless encoding. In this mode, the color integrity of the graphics data is not impacted. However, this setting results in a significant increase in network bandwidth consumption. We recommend that you set this for very specific cases only.
Итоги
Если раньше для работы 10 активных пользователей было достаточно 8 ядерного сервера и еще оставалось свободное место, то теперь такого сервера хватит только на 5 пользователей.
Думаю что пора готовится к замене серверов HP G6 и G7 поколения. Очень жалко расставаться с серверами в которых установлено >100 гб оперативной памяти, я предполагал что они послужат дальше.
Не исключаю что в старых процессорах не хватает аппаратных инструкций, по этому в ближайшее время планирую получить на тест современный сервер. Но честно говоря прогноз у меня пессимистичный, думаю что получить желаемый результат будет возможно только грубой силой, увеличением количества процессорных ядер, а это повлечет за собой увеличение количества необходимых лицензий и стоимости.
The End
Автор: dklm