TGViewer
Библиотека девопса | DevOps, SRE, Sysadmin Библиотека девопса | DevOps, SRE, Sysadmin @devopsslib · 10.4K subscribers
Post #4792 1.14K
🪟 Windows Server 2025 быстрее работает на ARM64

Джейсон Экерт, автор учебника по Windows Server для Cengage, готовил новое издание и параллельно решил проверить: а что если запустить те же виртуальные машины не на Intel, а на Snapdragon X Elite?

Официального ISO от Microsoft для ARM64 нет, поэтому образ он собрал через UUP dump прямо с серверов обновлений. Конфигурация VM была идентичной на обоих хостах: Active Directory, DNS, DHCP, IIS, File Services, RDS и другие стандартные роли. Итог его удивил: на ARM всё работало заметно отзывчивее.

Почему ARM оказался быстрее

Дело не в архитектуре как таковой, а в характере нагрузки. Серверные роли Windows Server генерируют много мелких, частых операций с CPU и диском. Такие задачи чувствительны к задержкам и context switching. Intel Core i9 работает по принципу boost/throttle: частота резко поднимается и потом снижается под нагрузкой. Snapdragon X Elite держит стабильные часоты без скачков.

В виртуализованной среде это особенно ощутимо. Hyper-V как планировщик получает предсказуемое оборудование и распределяет время CPU между VM без лишней вариативности.

Ещё один момент: ARM64-сборка Windows Server, судя по release notes, обходится без части legacy-слоёв совместимости. Более чистый бинарник, меньше накладных расходов.

Как он это проверял

В Performance Monitor на обоих хостах добавил три счётчика:
\Processor(_Total)\% Processor Time
\System\Processor Queue Length
\Hyper-V Hypervisor Virtual Processor(*)\CPU Wait Time Per Dispatch


Нагрузку создавал через PowerShell внутри VM:
1..8 | ForEach-Object {
while ($true) { Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 | Out-Null }
}


На Snapdragon % Processor Time почти не колебался, Processor Queue Length держался на нуле, CPU Wait Time Per Dispatch был ровным. На Intel все три метрики давали заметные всплески.

Затем он прогнал Measure-Command на реальных операциях прямо внутри VM. Для IIS:
Measure-Command { 1..1000 | foreach { Invoke-WebRequest http://localhost -UseBasicParsing | Out-Null } }


Аналогично для DNS:
Resolve-DnsName "domainX.com" -Server 127.0.0.1 | Out-Null


Для Active Directory:
Get-ADUser -Filter * -ResultSetSize 1 | Out-Null


Для файлового I/O:
$path = "C:\TestFiles"
mkdir $path -ea 0

Measure-Command {
1..2000 | foreach {
$file = "$path\file$_.txt"
Set-Content $file "test"
Get-Content $file | Out-Null
Remove-Item $file
}
}


По всем тестам Snapdragon давал стабильный результат от прогона к прогону. Intel иногда обходил его в пике, но в среднем проигрывал.

Что с этим делать

Делайте своих ИИ-агентов. У нас как раз есть курс, но на него осталось всего 4 места. Успейте до 30 апреля!

👉 Регистрация здесь

➡️ Оригинал статьи

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#локализация
More from @devopsslib
  1. Sep 18, 2026От исходного кода до процессора: разберись, как работает программа 💻 Стартует практически…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Sep 15, 2026👩‍💻 Bash-скрипт для мониторинга сервисов Полноценный мониторинг вроде Zabbix или Prometh…
  4. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
  5. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  6. Sep 10, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →