Тестируем Windows Vista SP1: копирование на 86% быстрееИсточник: winline
Действительно ли пакет обновления SP1 ускоряет Windows Vista и исправляет некоторые ошибки, допущенные в её первоначальной версии? Отвечая на этот вопрос, наши коллеги из APC Labs провели ни один час за оценкой производительности старой и новой операционных систем, и, надо сказать, пришли к очень интересным, даже впечатляющим результатам. Давайте же и мы с вами проследим ход их работы и сделаем определенные выводы. Для простоты повествования и чтения дальнейшее изложение материала мы будем вести от первого лица. Не смотря на то, что официальная документация по Vista SP1 содержит описание большого числа улучшений, мы целенаправленно тестировали только основную проблему предыдущих версий операционной системы: скорость копирования файлов по сети. В тестах также оценивались время копирования файлов в рамках одной системы и общая производительность системы с различными версиями Vista. Для чего на одном и том же компьютере поочередно использовались три версии Vista:
В качестве основного компьютера использовался Acer Veriton 7900 Pro (процессор Intel Core 2 Duo 6700/память 4Гб/ATI RADEON X1950/2xSATA-II HDD) с Windows Vista Home Premium. Согласно нашего сценария, пользователь с быстрой сетью и Vista Home Premium копирует файлы на приличное PC-оборудование. В качестве сетевых компьютеров использовались:
Все тесты копирования инициировались с основного компьютера. Вы спросите: а какая конфигурация была у второстепенных компьютеров? И мы ответим - приличная. В действительности же, это совсем не важно, ведь мы не пытались определить абсолютные значения времени копирования файлов, мы пытались найти лишь улучшения или ухудшения во времени. Скажем только, что во всех системах были установлены последние доступные версии официальных драйверов и ноябрьский релиз DirectX. Никаких модификаций в операционных системах не делалось, поэтому они очень похожи на OEM конфигурации компьютеров. Кроме того, перед каждым тестом копирования все жесткие диски всех систем дефрагментировались. В качестве копируемых файлов были использованы два пакета. Первый состоял из одного 2.5Гб ISO-образа, тогда как второй из 2.5Гб небольших файлов (около 300 MP3-файлов). Каждый пакет копировался в область некоторого удаленного назначения (запись) и затем считывался оттуда назад (чтение/запись). В качестве таких удаленных назначений использовались:
Целью нашего тестирования был анализ улучшения производительности тестируемой системы в зависимости от набора установленных обновлений. Поэтому, мы по три раза запускали все тесты - один раз на системе с Vista Home Premium RTM, второй раз на системе с Vista и всеми доступными и установленными через Windows Update заплатками RTM Patched и третий раз на системе Vista с установленным пакетом обновления SP1. Для получения общего впечатления о производительности одной и той же системы, но с различными версиями Vista, мы использовали программу PCMark Vantage. За время копирования файлов принималось время от нажатия кнопки "Копировать" до того момента, когда копирование прекращалось. Тестирование с помощью программы PCMark Vantage Ниже представлена диаграмма, представляющая результаты работы различных тестов программы PCMark Vantage, полученных на всех трех версиях операционной системы. Программа главным образом тестирует производительность системного оборудования, и т.к. никакие драйвера не изменялись, то полученные различия разнообразных тестов являются показателями влияния примененных патчей. Чем выше столбец, тем выше производительность системы в данном тесте. В качестве базисной оценки была принята производительность системы с версией Windows Vista RTM.
По оси ординат (ось Y) отмечено время копирования различных пакетов файлов в различные места назначения, в секундах. Соответственно, чем ниже столбец, тем выше производительность. Давайте рассмотрим каждый тест отдельно. Копирование файла с диска на диск (Disk-to-Disk File Copy) В этом тесте всеми тремя системами были показаны довольно стабильные и хорошие результаты. Разве что разница между оценками времени копирования одного (Single File) и множества файлов (Multi File) в RTM системе составила 12 секунд в пользу первого. Но стабильность SP1 свела эту разницу на нет. Копирование файла с диска в USB (Vista-to-USB File Copy) Как видно из диаграммы, существует огромная разница между временем записи и считывания файлов через USB, что, скорее всего, связано с самим USB-накопителем. В остальном же, прослеживается определенная тенденция к улучшению производительности системы SP1 по сравнению с RTM и RTM Patched. Vista с SP1 почти минуту выиграла у RTM при записи единичного файла. Кроме того, в обоих тестах считывания система SP1 незначительно опережает RTM и RTM Patched, однако при записи множества файлов она значительно отстает от них. Последнее было сообщено в Microsoft, на что представители компании назвали это неожиданным результатом. Копирование файла с Vista на XP (Vista-to-XP File Copy) Это именно та область, в которой мы ожидали увидеть наибольшие улучшения. Проблема сетевого взаимодействия Vista с XP/2003 уже давно тяготела над операционной системой и являлась одной из основных причин ее критики. Полученные результаты, показанные системой SP1, нас не разочаровали. Между RTM и RTM Patched системами не было почти никаких различий, обе показывали просто ужасные результаты. Запись единичного файла с Vista на XP в этих системах занимала почти на 3.5 минуты больше времени, чем аналогичная запись в USB. Запись же множества файлов была лишь на минуту быстрее. Результаты теста считывания также ужасали. Аналогичное считывание с USB было примерно на 6-8 минут быстрее! Интересным было то, что считывание множества файлов занимает на 2-3 минуты меньше аналогичного считывания единичного файла. Однако достигнутые улучшения времени в системе SP1 были просто изумительными. Время записи единичного файла по сравнению с RTM системами снизилось с 9 до менее 2-х минут, что является 77% улучшением. А время считывания единичного файла упало с 9:33 до почти минуты - 86% улучшение! Результаты тестов записи/считывания множества файлов также впечатляли, улучшение составило 64% и 83% соответственно. Кроме того, как видно из диаграммы, времена записи/считывания в системах RTM и RTM Patched значительно разняться, тогда как в системе SP1 они почти одинаковы. Копирование файла с Vista на Vista (Vista-to-Vista File Copy) Этот тест дал огромное число аномальных результатов, за объяснением которых мы обратились в Microsoft. Общее время записи/считывания было не плохим. Однако результаты, показанные системой RTM Patched, были почему-то на 2-5 секунд хуже аналогичных результатов системы RTM. И все вроде бы было улучшено в SP1, которая почти везде выигрывала 6-14 секунд у RTM, но тест считывания единичного файла показал обратное. В нем система SP1 уступила RTM 21 секунду. Microsoft объяснила такие результаты переработкой алгоритмов системы копирования. Компания также дала объяснение плохих результатов копирования файлов с Vista на XP в системах RTM. Объяснение Microsoft низкой производительности копирования Vista-XP Microsoft попыталась исправить некоторые недостатки алгоритма копирования файлов, примененного в Windows XP, и выпустила в Windows Vista уже обновленный алгоритм, который также не отличался высокой производительностью. Более того, он оказался даже хуже прежнего. В настоящее время с SP1 компания выпускает еще более обновленный алгоритм, который, по сути, является откатом назад. Но, давайте обсудим все по порядку… Одна из самых больших проблем XP-алгоритма заключалась в неприспособленности кэширования к требуемой скорости записи, что особенно сильно проявлялось при копировании больших объемов данных. Кроме того, копирование файлов с удаленных систем кэширование производилось дважды - первый раз при считывании файла с удаленной системы и второй раз при его записи в место назначения. В конечном итоге это вызывало чрезмерную загрузку системной памяти и процессора, так как менеджер кэширования работал в дополнительное время. В настоящее время в операционной системе Vista применяется "исправленный" алгоритм, использующий кэшированный дисковый ввод/вывод для файлов с размером 256Кб и менее, и некэшированный ввод/вывод для более крупных файлов. Для файлов с размером 2Мб и менее применяются две операции ввода/вывода, тогда как для файлов с размером больше 8Мб применяются вплоть до восьми операций ввода/вывода. Размер ввода/вывода также изменяется в зависимости от размера копируемого файла:
Поэтому, для копирования файла с размером в 16Мб Vista сначала будет использовать 8 некэшируемых операций ввода/вывода с размером в 2Мб, а затем начнет другой цикл. Хотя этот алгоритм копирования файлов и обладает рядом улучшений по сравнению с его предыдущей версией, у него есть ряд недостатков, основной из которых проявляется при сетевом копировании файлов. Процесс случайно вызывает обратные неупорядоченные операции ввода/вывода. Это приводит к чрезмерной поисковой дисковой активности в системе назначения и по прошествии длительного времени к созданию пробок записи. Другой его недостаток - и возможно самый важный - в плохой производительности системы при копировании больших файлов и/или больших групп файлов. Точное объяснение причины этого дано техническим коллегой компании Microsoft Марком Руссиновичем (Mark Russinivich). В своем блоге он написал "…предыдущий алгоритм использовал кэшированный файловый ввода/вывод, что позволяло Explorer’у заканчивать запись файлов назначения в память и прерывать диалог копирования еще до того, как поток кэширования менеджера КЭШа в действительности направит данные на диск. Реализация же некэширующего алгоритма в Vista вынудила Explorer ожидать окончания каждой операции записи перед запросом дальнейшей и, в конце концов, ожидать пока все данные не будут записаны непосредственно на диск перед отображением окончания копирования. Кроме того, Explorer в Vista ожидает 12 секунд перед выполнением оценки длительности копирования, алгоритм которой чувствителен к колебаниям скорости копирования. Все эти причины увеличивают время копирования и недовольство пользователей". Поэтому, внедренный в изначальной версии Vista некэширующий алгоритм, по сути лишь ухудшил производительность копирования. Что в основном и объясняет наши данные тестирования, как и серьезное падение системной скорости, которое ощущалось во время каждого копирования файла. Однако алгоритм, внедренный в SP1, исправил ситуацию. Иначе откуда бы мы взяли улучшение на 86%? Выводы Надо сказать, что разработки Microsoft не стоят на месте, и официальный релиз SP1 будет явным тому подтверждением. Возвращенный в нем обратно, но модифицированный алгоритм кэшируемого ввода/вывода и полученные нами улучшенные результаты очень хорошо это доказывают. Модификация алгоритма заключается в том, что теперь всегда будет использоваться кэшированный ввод/вывод, исключая только случаи удаленного копирования файлов. В эти моменты, во время процесса копирования алгоритм выдает команду локального некэширования удаленного файла, что предотвращает ранее отмеченную проблему двойной буферизации. Алгоритм также буферизует в памяти пришедшие вводы/выводы от источника, где они перед записью на диск собираются в правильном порядке. Это предотвращает ранее известную проблему засорения жесткого диска, высокого использования процессора и снижения системной производительности. Кроме того, установка SP1 до 32Кб уменьшает размер ввода/вывода протокола передачи файлов SMB 1.0, примененного в Windows XP/2003. По сути, ценой уменьшения пропускной способности достигается чрезвычайно эффективная и требующая меньших ресурсов передача файлов между Vista SP1 и не-SP1 системами. Таким образом, риторический вопрос "устанавливать или не устанавливать SP1" для нас уже не актуален. Мы отвечаем однозначно: устанавливать. |