- Оценка производительности Windows. Утилита Winsat
- Параметры команды WinSAT
- WinSAT в Windows Server 2008
- База знаний wiki
- Содержание
- как проверить производительность сервера
- Задача:
- Решение:
- Простой тест диска
- Тесты FIO (flexible I/O tester)
- Простой тест сети
- Измерение общей производительности
- Подробности о Unixbench
- Dhrystone
- Whetstone
- Execl Throughput
- File Copy
- Pipe Throughput
- Pipe-based Context Switching
- Process Creation
- Shell Scripts
- System Call Overhead
- Графический тест
- Запуск Unixbench
- Производительность MySQL
Оценка производительности Windows. Утилита Winsat
Опытные пользователи Windows помнят, что индекс оценки производительности (Windows Experience Index — WEI) впервые появился еще в Windows Vista. Индекс производительности рассчитывается на основании оценки производительности следующих подсистем компьютера: процессора, памяти, 2D графики, 3D графики и устройства хранения (жесткого диска). Для каждой из подсистем на основе результатов оценочного тестирования рассчитывается собственное значение индекса производительности, а общий индекс для всего компьютера (Base Score) равен минимальному значению среди всех подсистем.
Индекс производительности представляет собой некое число-оценку производительности системы для пользователя — Windows Experience Index (WEI). В различных версиях ОС WEI может находиться в различных диапазонах:
- Windows Vista: от 1 до 5.9
- Windows 7: от 1 до 7.9
- Windows 8: от 1 до 9.9
Оценка производительности и быстродействия компьютера осуществляется специальной утилитой – WinSAT (Windows System Assessment Tool). Данная утилита уже включена в состав ОС Vista, Windows 7, Windows 8.
WinSAT — средство для оценки производительности Windows, представляющая собой набор тестов, проверяющий различные компоненты Windows. Важно отметить, что WinSAT не является тестом application-based или синтетическим тестом. Это тест того, как Windows себя «чувствует» на конкретном железе. WinSAT содержит пять различных групп тестов, названных компанией Microsoft «оценками»:
- Оценка Direct3D. Тест на производительность GPU, генерирующий несколько кадров в секунду и показывает, насколько быстро будут работать игры на компьютере
- Оценка видео-кодирования. Тест для оценки качества воспроизведения видео высокого разрешения (кодек Windows Media HD, или другие установленные кодеки)
- Оценка графики. Оценка вашего графического акселератора, влияет на то будет ли включен Aero по умолчанию или нет ( как с помощью winsat можно включить Aero)
- Оценка устройств хранения данных
- Оценка процессора.
Отметим, что не стоит свято верить в значение индекса WEI, т.к. в случае необходимости индекс производительности Windows можно достаточно просто модифицировать. Подробности в статье Ломаем индекс производительности Windows.
Параметры команды WinSAT
Как же воспользоваться утилитой WinSAT для оценки производительности отдельной подсистемы или компьютера целиком?
Полная оценка производительности (все тесты) выполняется командной
Оценить производительность дисковой подсистемы (скорость записи/чтения на диск, длина очереди к диску и т.д.) можно командой:
Производительность последовательных операций чтения для диска C:
Производительность при произвольной записи для диска C:
Производительность CPU оценивается путем выполнения операций шифрования/расшифроваки, или копрессии/декомпрессии.
Общую оценку производительности процессора можно выполнить командой:
Подробный обзор информации о полученных результатах оценки производительности можно получить с помощью команды:
Оценить пропускную способность оперативной памяти можно с помощью теста, осуществляющего копирование большого буфера памяти из одного сектора памяти в другой.
Запустим оценку производительности системы, используемую при составлении индекса WEI. Все оценки и результаты тестирования перенаправим в файл C:\winsat.txt. Данный отчет, в отличии от значения WEI, достаточно подробный и позволяет узнать много интересного о производительности подсистем компьютера.
Пример отчета WinSAT представлен ниже.
> Command Line ‘winsat formal -v’
> Running the Formal Assessment
> DWM running… turnning DWM off
> System processor power policy saved and set to ‘max performance’
> Running: Feature Enumeration »
> Gathering System Information
> Operating System : 6.1 Build-7600
> Processor : Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz
> TSC Frequency : 2128300000
> Number of Processors : 1
> Number of Cores : 2
> Number of CPUs : 2
> Number of Cores per Processor : 2
> Number of CPUs Per Core : 1
> Cores have logical CPUs : NO
> L1 Cache and line Size : 32768 64
> L2 Cache and line Size : 2097152 64
> Total physical mem available to the OS : 2,98 GB (3я203я723я264 bytes)
> Adapter Description : ATI Radeon HD 5450
> Adapter Manufacturer : ATI Technologies Inc.
> Adapter Driver Version : 8.861.0.0
> Adapter Driver Date (yy/mm/dd) : 2011\5\24
> Has DX9 or better : Yes
> Has Pixel shader 2.0 or better : Yes
> Has LDDM Driver : Yes
> Dedicated (local) video memory : 504.426MB
> System memory dedicated as video memory : 0MB
> System memory shared as video memory : 1271.65MB
> Primary Monitor Size : 1280 X 1024 (1310720 total pixels)
> WinSAT is Official : Yes
> CPU LZW Compression 112.19 MB/s
> CPU AES256 Encryption 63.26 MB/s
> CPU Vista Compression 319.98 MB/s
> CPU SHA1 Hash 522.96 MB/s
> Uniproc CPU LZW Compression 56.15 MB/s
> Uniproc CPU AES256 Encryption 31.31 MB/s
> Uniproc CPU Vista Compression 159.77 MB/s
> Uniproc CPU SHA1 Hash 261.81 MB/s
> Memory Performance 4729.00 MB/s
> Direct3D Batch Performance 88.25 F/s
> Direct3D Alpha Blend Performance 93.79 F/s
> Direct3D ALU Performance 39.27 F/s
> Direct3D Texture Load Performance 42.21 F/s
> Direct3D Batch Performance 89.30 F/s
> Direct3D Alpha Blend Performance 106.10 F/s
> Direct3D ALU Performance 37.84 F/s
> Direct3D Texture Load Performance 39.83 F/s
> Direct3D Geometry Performance 73.83 F/s
> Direct3D Geometry Performance 146.91 F/s
> Direct3D Constant Buffer Performance 57.54 F/s
> Video Memory Throughput 2398.55 MB/s
> Dshow Video Encode Time 6.94628 s
> Media Foundation Decode Time 1.21153 s
> Disk Sequential 64.0 Read 63.00 MB/s 5.8
> Disk Random 16.0 Read 1.21 MB/s 3.4
Выше представлен далеко не весь арсенал возможностей утилиты WinSAT по оценки производительности системы. С полным списком параметров и возможностей команды можно познакомиться, воспользовавшись встроенной справкой:
Логи утилиты WinSAT находятся в каталоге C:\Windows\Performance\WinSAT, детальные результаты оценки производительности компьютера в виде .xml файлов. содержатся в каталоге C:\Windows\Performance\WinSAT\DataStore
В Windows 7 существует стандартное задание планировщика, которое запускает утилиту WinSAT каждую неделю. Задача этого задания – своевременное обновление индекса при любых изменениях конфигурации. В момент запуска данного задания может наблюдаться снижение производительности компьютера. В том случае, если индекс WEI для вас не важен, данное задание можно отключить.
WinSAT в Windows Server 2008
В состав серверных Windows Server 2008 и Windows Server 2008 R2 WinSAT не входит, однако ничего не мешает просто скопировать их с клиентской ОС на серверную.
Чтобы иметь возможность запустить WinSAT в Windows Server 2008/200 R2 достаточно скопировать два файла — WinSAT.exe и WinSATAPI.dll из каталога %windir%\System32 клиентской ОС в аналогичный каталог сервера.
Однако учтите, для x86 и x64 битных систем используются различные версии WinSAT, поэтому если серверная ОС 64-разрядная (а Windows 2008 R2 бывают только такой), понадобится версия WinSAT, например из 64 разрядной Windows 7.
Отметим, что утилита также будет работать и в Windows XP, хотя из-за разницы методиках тестирования и архитектуры системы, результаты такого тестирования нельзя будет сравнивать с результатами более новых ОС.
База знаний wiki
Продукты
Статьи
Содержание
как проверить производительность сервера
Применимость: Linux, Windows
Слова для поиска: benchmark бенчмарк
Задача:
Как проверить производительность сервера?
Решение:
Мы относимся к потребностям клиентов максимально лояльно, но если частые тесты будут мешать работе других клиентов, то система выявления злонамеренной нагрузки может ограничить ресурсы для вас. Это система необходима для обеспечения комфортной работы всех наших клиентов. Потому создавать нагрузку различного рода тестами и настраивать регулярное тестирование производительности не рекомендуется. О планируемых тестах производительности желательно предупреждать службу поддержки.
Если вы тестируете производительность виртуального сервера, то следует учитывать, что это гостевой контейнер. Производительность его не будет сильно зависеть от ресурсов узла виртуализации. Загрузка узлов виртуализации и систем хранения имеет нерегулярный характер. Во время вашего теста могут выполнятся перемещения больших массивов данных, резервное копирование. Может влиять нагрузка на сетевом уровне и т.п.
Простой тест диска
Это довольно простой тест позволяющий оценить производительность системы хранения без установки дополнительных специальных утилит.
После выполнения команды будет выведена информация о скорости выполнения.
Затем можно оценить скорость чтения:
Здесь команда dd прочитает файл testfile и запишет его в псевдо-устройство /dev/null. Устройство /dev/null это нечто вроде системного шредера или черной дыры для уничтожения всего, что туда попадает.
Тесты FIO (flexible I/O tester)
Тест последовательного чтения:
Тест последовательной записи:
Синтетический тест производительности:
Этот тест имитирует работу сильно нагруженного вебсервера. Используется случайное чтение /запись в соотношении 80/20 блоками переменной длинны.
Простой тест сети
Чтобы минимизировать влияние проблем на конктеном сетевом маршруте рекомендуется использовать файл torrent с большим количеством раздающих размещенных на быстрых каналах.
Установите консольную утилиту ctorrent
или для Debian/Ubuntu
Скачайте файл торрент
И запустите закачку.
Через пару минут оцените скорость скачивания.
Это и будет скорость канала для вашего сервера.
Измерение общей производительности
Установите утилиты time make file gcc
Возможно потребуется еще
Скачайте утилиту по ссылке unixbench , распакуйте и запустите.
Если одновременно запустить тест на множестве виртуальных серверов, то конечно результат будет далек от реально достижимого.
Подробности о Unixbench
UnixBench состоит из нескольких отдельных тестов, которые ориентированы на конкретные параметры.
Dhrystone
Этот тест используется для измерения и сравнения производительности компьютеров. Тест фокусируется на обработке строк. Результат во многом зависит от аппаратного и программного обеспечения, опций компилятора и компоновщика, оптимизации кода, кэш-памяти, состояния типов данных.
Whetstone
Этот тест измеряет скорость и эффективность операций с плавающей запятой. Используется широкий спектр функций, включая C SIN, COS, SQRT, математические операции, массивы обращений, условные переходы и вызовы процедур.
Execl Throughput
Этот тест измеряет количество execl вызовов в секунду. Execl является частью семейства функций Exec, выполняющих замену текущего образ процесса с новым.
File Copy
Измеряет скорость переноса данных из одного файла в другой с различными размерами буфера за 10 секунд.
Pipe Throughput
Измерение простейшей формы коммуникации между процессами. Измеряет сколько раз в секунду можно записать 512 байт в пайп и прочитать из пайпа.
Pipe-based Context Switching
Этот тест измеряет количество обменов данными через пайп между двумя процессами при котором тестовая программа порождает дочерний процесс, с которым оно осуществляет двунаправленный обмен.
Process Creation
Измерение скорости создания блоков управления и распределения памяти для новых процессов. Результат сильно зависит от пропускной способности памяти.
Shell Scripts
Измерение количество раз в минуту процесс может начаться и обрабатывать набор из одного, двух, четырех и восьми одновременных копий скриптов.
System Call Overhead
Тест оценивает накладные расходы на выполнение системных вызовов.
Графический тест
Тест измеряет 2D и 3D производительность обработки графики. Эти тесты дают очень приблизительное представление о 2D-и 3D-производительности системы и будет зависеть не только от оборудования, но от того какие используются драйверы. Для графических тестов потребуется установка 3dinfo.
Запуск Unixbench
The option flags are:
use / 3, but at least 1. Defaults to 10 (3 for
The -c option can be given multiple times; for example:
will run a single-streamed pass, then a 4-streamed pass. Note that some tests (currently the graphics tests) will only run in a single-streamed pass. The remaining non-flag arguments are taken to be the names of tests to run. The default is to run «index». See «Tests» below.
The available tests are organised into categories; when generating index scores (see «The BYTE Index» below) the results for each category are produced separately. The categories are:
The following individual tests are available:
The following pseudo-test names are aliases for combinations of other tests:
Производительность MySQL
Установите пакет sysbench
yum install sysbench
Для тестирования надо создать отдельную базу test1, пользователя с именем test1 и паролем test1drbdPXZ3
Создаём новую базу данных test1
Создаем пользователя с именем test1
Для измерения производительности MySQL создаем тестовую таблицу на 1000000 строк в базе данных test1:
Для оценки времени создания таблицы можно перед командой добавить time
После этого можно запустить тест MySQL следующим образом:
Самый важный параметр в выводе теста — количество транзакций в секунду:
После анализа результатов можно очистить базу