На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

Свежие комментарии

  • Traveller
    Где купить? Только ухозаткнутые уже напрочь отключены от жизни и их наркозависимость уже неизлечима.Создан «скучный т...
  • Алексей Демин
    ПриветВ России запустят...
  • Максим Гусев
    горшок для лука лучше бы сделал из видикаВторая жизнь виде...

Оценка производительности Windows 10 и 8.1 и CheckBootSpeed 3.0

Обновляя свою утилиту CheckBootSpeed, я решил включить в собираемый ей отчет оценку производительности Windows. Сегодня я расскажу об истории оценки в Windows, ее получении с помощью PowerShell и изменениях в CheckBootSpeed.

Оценка производительности Windows 8.1

 

История вопроса

WEI вычисляется с помощью входящей в состав ОС утилиты WinSAT(Windows System Assessment Tool), в которую заложены тесты производительности различных компонентов ПК.

Windows XP

В XP еще не было WinSAT, однако в этой ОС можно было запустить утилиту. Она входила в советник по переходу на Windows Vista, откуда ее даже можно было извлечь.

Windows Vista

Оценка производительности дебютировала в Windows Vista, куда WinSAT уже была встроена. По замыслу разработчиков индекс должен был помочь потребителям при покупке или обновлении ПК, а также приобретении ПО.

Шкала оценки составляла от 1 до 5.9.

Она условно делилась на пять сегментов. Оценка от 1 до 1.9 соответствовали минимальным аппаратным требованиям для работы ОС. Для работы Aero и базовой производительности в играх нужно было иметь оценку в районе от 3 до 3.9. На ПК из верхнего ценового сегмента оценка составляла от 5 до 5.9.

Первый запуск WinSAT и выполнение тестов происходили во время установки Windows, что замедляло процесс. Это совсем не радовало организации, где ОС развертывалась на множество ПК. Оценку можно было выполнить при подготовке образа, но sysprep сводил на нет все усилия, поэтому позже Microsoft даже выпустила хотфикс.

Подробности об индексе Vista вы можете узнать из блога разработчиков:Windows Experience Index: An In-Depth Look (EN).

Windows 7

В Vista оценки свыше 6.0 были зарезервированы в ожидании прогресса производительности компьютеров. Действительно, к моменту выхода следующей ОС планка поднялась.

Шкала оценки составляла от 1 до 7.9.

Однако критерии оценок различных компонентов тоже изменились. Другими словами, один и тот же ПК мог получить разные оценки в Windows Vista и Windows 7. В частности, пересмотру подверглась оценка производительности диска, поскольку SSD набирали ход.

В принципе, Windows полагается на сведения, которые отдает накопитель. Если диск определяется как “non-rotational media” по спецификациям ACS-2, он считается твердотельным. Ниже фрагмент вывода утилитыCrystalDiskInfo.

1
2
3
4
Model : Samsung SSD 840 PRO Series
Rotation Rate : ---- (SSD)
Interface : Serial ATA
Major Version : ACS-2

Однако в 2009 году не все SSD отдавали эту информацию. Принимая решение о том, дефрагментировать ли диск, ОС полагалась именно на значение скорости случайного чтения, полученное во время теста WinSAT и занесенное наряду с другими результатами в раздел реестра.

1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinSAT

Если скорость была 8MB/s или ниже, диск считался жестким и подвергался дефрагментации. Этот же принцип применяется в CheckBootSpeed, о чем я уже рассказывал (тесты дисков читателей блога тут).

Microsoft оптимизировала и процесс установки Windows. Теперь во время нее выполнялась только оценка графической подсистемы, а остальные тесты откладывались на потом. Они проводились при бездействии компьютера с помощью запланированного задания WinSAT.

Оценка производительности Windows 8.1

Наряду с этим появилась и возможность выполнить оценку перед запечатыванием образа. В утилиту WinSAT добавили ключ prepop,позволяющий сгенерировать необходимые файлы. На этапе OOBE программа установки Windows проверяла их наличие в хранилище результатов и не выполняла оценку, если таковые обнаруживались.

Подробнее об индексе Windows 7 читайте в блоге разработчиков на английском и русском языках.

Windows 8

Спустя три года после выхода Windows 7 «железо» стало мощнее, и снова Microsoft пригодились зарезервированные ранее цифры.

Шкала оценки составляет от 1 до 9.9.

Признаться, я не в курсе каких-то других глобальных изменений, да и теперь это кажется не столь важным, потому что…

Windows 8.1

Достигнув пика по своей шкале, оценка производительности исчезла из графического интерфейса операционной системы Microsoft. Нет, как и прежде, с помощью WinSAT выполняется формальная оценка, а ее результаты сохраняются в системе. Просто их вывод убрали из панели управления.

Технических причин я к этому не вижу, поэтому предполагаю маркетинговые. В 2014 году скорость любого современного ПК вполне устроит большинство пользователей. Сейчас акценты сместились на удобство устройств и инфраструктуру приложений, а Microsoft продвигает единый опыт работы на любых устройствах.

Оценка все-таки демонстрирует неравенство производительности различных форм-факторов, поэтому не вписывается в текущую канву. Энтузиасты же всегда найдут способ посмотреть ее.

Как посмотреть оценку производительности Windows 8.1

Утилита WinSAT сохраняет результаты в папке %WinDir%\Performance\WinSAT\DataStore, поэтому быстрее всего будетперетащить формальную оценку в IE – будет хорошо виден узел WinSPR.

Оценка производительности Windows 8.1

В принципе, все понятно и без знания английского, но я перевел результат на русский в скрипте PowerShell, который вы найдете чуть ниже.

Если в папке пусто, оценка еще не выполнялась.  Например, с момента установки ОС должно пройти не меньше недели, чтобы запланированное задание WinSAT успело отработать. Также не исключена проблема с запуском задания или выполнением оценки.

Как выполнить первую оценку вручную

Убедитесь, что ПК подключен к электросети, и выполните в командной строке, запущенной от имени администратора:

1
winsat formal -v

Ключ -v включает подробный режим вывода, что будет нелишним при диагностике в случае проблем.

Как выполнить повторную оценку вручную

Если у вас уже есть старые оценки, запуск команды выше протестирует все компоненты только в том случае, если аппаратная конфигурация не изменялась. Например, при замене видеокарты WinSAT запустит только ее тесты. Однако можно форсировать переоценку всех компонентов вне зависимости от их новизны:

1
winsat formal -restart

Можно также добавить в конце дополнительный ключ clean (без предваряющего дефиса), чтобы сбросить историю проверок.

Как извлечь сведения об оценке с помощью PowerShell

Самый быстрый способ:

1
Get-CimInstance Win32_WinSAT

Однако для утилиты CheckBootSpeed я поставил такую задачу:

  1. Проверить наличие оценки и вывести предупреждение при отсутствии.
  2. Извлечь дату первой и последних оценок.
  3. Вывести обе даты и основные параметры последней в наглядном виде.

Поэтому в примере ниже информация извлекается не из WMI, а из сохраненных на диске файлов. Я уже не раз показывал приемы работы с XML-файлами и сортировку в PowerShell, поэтому ограничусь комментариями в скрипте. Код можно скопировать и вставить в консоль, запущенную с полными правами.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Папка WinSat
$WinSatFolder = "$env:systemdrive\Windows\Performance\WinSat\DataStore"
# Значение фильтра по имени файла
$filter = "formal"
    # Проверка наличия файлов с 'formal' в имени
    if (Test-Path $WinSatFolder\*$filter*.xml) {
        # Список файлов, соответствующих фильтру
        $WEIFormal = Get-ChildItem -Path $WinSatFolder | Where-Object { $_.Name -match $filter }
        # Считывание в формате XML файла с самой свежей датой записи
        [xml]$WEI = Get-Content ($WEIFormal | sort LastWriteTime -desc | select -first 1).fullname
        # Получение дат самого свежего и самого старого файлов
        $WEIDateLatest = "{0:yyyy-MM-dd}" -f ($WEIFormal | sort LastWriteTime -desc | select -first 1).LastWriteTime
        $WEIDateInitial = "{0:yyyy-MM-dd}" -f ($WEIFormal | sort LastWriteTime -desc | select -last 1).LastWriteTime
        $strWEITable = "Дата первой оценки:$WEIDateInitial`r`nПоследняя оценка от $WEIDateLatest ниже"
        # Вывод отобранных оценок и понятные описания
        $WEITable = $WEI.WinSAT.WinSPR | Format-List `
        @{Expression = {$_.SystemScore}; Label="Общая оценка системы"},
        @{Expression = {$_.CpuScore}; Label="Процессор"},
        @{Expression = {$_.MemoryScore}; Label="Память (RAM)"},
        @{Expression = {$_.GraphicsScore}; Label="Графика"},
        @{Expression = {$_.GamingScore}; Label="Графика для игр"},
        @{Expression = {$_.DiskScore}; Label="Системный диск"}
        # Вывод скоростей диска
        $WEIDisk = $WEI.WinSAT.Metrics.DiskMetrics.AvgThroughput | ft -AutoSize `
        @{Expression = {$_.kind}; Label="Измерение"},
        @{Expression = {$_."#text"}; Label="Скорость (MB/s)"},
        @{Expression = {$_.score}; Label="Оценка"}
        }
    else {
        $strWEITable="Оценка не выполнялась`r`nВыполните в консоли от имени администратора: winsat formal"
         }
Write-Host "Оценка производительности системы`r`n"
$strWEITable
$WEITable
$WEIDisk

И результат:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Оценка производительности системы
 
Дата первой оценки: 2013-11-07
Последняя оценка от 2013-11-07 ниже
 
 
Общая оценка системы : 6.2
Процессор            : 7.7
Память (RAM)         : 7.7
Графика              : 6.2
Графика для игр      : 6.2
Системный диск       : 8.15
 
 
 
 
Измерение       Скорость (MB/s) Оценка
---------       --------------- ------
Sequential Read 522.54375       8.1  
Random Read     400.99000       8.2

Что нового в CheckBootSpeed 3.0

В прошлый раз 2/3 участников бета-тестирования «по приглашению» не поделились результатами, поэтому смысла в таком формате нет. Будем оптимистично считать, что 3.0 – это стабильный релиз, а если в обсуждении вскроются проблемы, я их быстро исправлю (этакий agile) и обновлю постоянную ссылку.

Ключевые изменения

Помимо измерения скорости загрузки система утилита продолжает оставаться удобным инструментом для диагностики проблем, замедляющих загрузку на HDD, и сбора информации об ошибочной дефрагментации SSD в Windows 8.

  • Переработаны блоки отчета. Раньше фокус был на аспектах скорости загрузки Windows, но сейчас это не столь актуально. Утилита собирает намного больше разнообразной информации, поэтому теперь блоки более сбалансированы. Также появился блок с рекомендациями, касающимися запуска WinSAT, если оценка не производилась.
  • Добавлен сбор сведений о дисках, разделах и томах. Томов в Windows 8, в т.ч. путей к ним в виде GUID. Это связано с тем, что в Windows 8.1 изменились пути в злосчастном задании ScheduledDefrag — теперь там GUIDы вместо букв диска.
  • Добавлен вывод оценки производительности Windows. Вообще, я включил его не столько по причине отсутствия в GUI, сколько для проверки одного предположения :) Я несколько раз видел в отчетах дефрагментатора ошибку «Параметр задан неверно» для томов Windows RE. У меня ощущение, что она перестает появляться именно после первой оценки WinSAT.
  • Исправлены баги. Как ни странно, финальная версия 2.0 регрессировала по сравнению с бетой в одном аспекте – не работал вызов WinSAT для оценки дисков. Плюс к этому в коде есть масса мелких улучшений, а заодно отчет должен корректно отображаться на системах с отличным от русского языком для программ, не поддерживающих Unicode.

Тестирование

Скачать CheckBootSpeed 3.

Tестирование на разных ОС полезно с точки зрения выявления ошибок в скрипте. Но с точки зрения сбора сведений мне больше всего интересны результаты Windows 8.1, установленной на SSD более месяца. Несмотря на то, что я видел достаточно свидетельств дефрагментации SSD в этой ОС, я хочу собрать больше данных для анализа.

Фокус сбора сведений

В Windows 8.1 Microsoft явно сделала какие-то изменения в контексте оптимизации дисков и дефрагментации SSD. Поэтому я хочу пояснить, на что сам буду в первую очередь смотреть в ваших отчетах применительно к8.1 (с 8 мы уже давно все выяснили).

  1. Наличие в журнале событий дефрага SSD. В этом случае я добавляю в оригинальный комментарий такой значок 
     
  2. Зависимость возможного прекращения событий дефрага SSD для системного раздела от даты оценки WinSAT. Наличие в системе нескольких SSD даст дополнительную пищу для размышлений (WinSAT оценивает только системный диск).
  3. Связь между ошибкой «параметр задан неверно» в журнале дефрага, версией ОС, типом накопителя и оценкой WinSAT.
  4. Зависимость между настройками запланированной оптимизации дисков и отображением в параметрах defrag.exe путей к томам (буква тома vs. GUID).

Upd. В первый день я посмотрел свыше 50 отчетов и подавляющее большинство владельцев Windows 8+, установленной на SSD, не в курсе проблемы с дефрагментацией. Не то чтобы я так хочу ее педалировать, просто удивлен, что столько читателей блога ни сном, ни духом. Говорить каждому об этом нереально, поэтому я добавил в утилиту дополнительную проверку:

  1. ОС — Windows 8 и выше
  2. Скорость чтения соответствует SSD
  3. У задания ScheduledDefrag стандартные параметры -c -h -o -$

При совпадении этих условий в начале отчета выводится:

1
2
3
4
5
Рекомендации по результатам диагностики
  
У вас на SSD установлена Windows 8+ со стандартными параметрами оптимизации дисков.
 

Посмотрим, как это сработает :)

Публикация результатов

Пожалуйста, не вставляйте результат в комментарий – отчеты стали очень большие, что негативно сказывается на времени загрузки страницы.

Опубликуйте отчет на PasteBin или аналогичном сервисе и вставьте в комментарий ссылку из адресной строки браузера.

Вот пример моего отчета на PasteBin.

P.S. Первый скриншот записи сделан в панели управления Windows 8 (но не в 8.1, конечно). В статье есть вся необходимая информация, чтобы сделать примерно такой в Windows 7 и 8 ;)

 

Источник

Картина дня

наверх