RAID или не RAID: SSD и виртуализация

8

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

Я купил два твердотельных накопителя Crucial M4 120 ГБ (обновленные до последней версии прошивки от 12 апреля:) 00Fи провел несколько быстрых тестов с использованием CrystalDiskMark . Вот некоторые результаты:

Одиночный привод:

Производительность одного привода

RAID 0через контроллер чипсета Intel Z77 :

RAID 0

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

Насколько я понимаю, для большинства распространенных шаблонов использования, а именно для разработки с использованием Visual Studio (мое основное использование), 4Kчтение и запись встречаются гораздо чаще, даже во время сборок. Между RAID 0и нет, есть небольшая разница. Но с 512Kи SequentialR / W, различий достаточно, чтобы заслужить внимание.

Дело в том, чтобы избежать будущих проблем с гнилью - и, честно говоря, потому что я могу - я буду больше полагаться на виртуализацию. Я планирую разделить различные части среды разработки на виртуальные машины с помощью VMware Workstation : Visual Studio и сопутствующие инструменты на одном, SQL Server на другом, Adobe Design Suite на другом и т. Д. Используя преимущества снимков виртуальной машины и легко Я думаю, я увижу улучшение в долгосрочной надежности (и когда-либо только всплывающие окна с обновлениями Adobe, когда я захочу).

Итак, мой вопрос заключается в том, заслуживает ли виртуализация использование RAID 0конфигурации SSD по сравнению с традиционной установкой (в моем случае, ОС и голые приложения на одном SSD, виртуальные машины - на другом)? Будет ли виртуализация использовать преимущества 512Kи преимущества SequentialR / W RAID 0?


Наблюдение:

Я читал, что некоторые современные твердотельные накопители способны самостоятельно управлять сборкой мусора, поэтому TRIMпроблема не в этом. Я не знаю, как включить это на моих SSD или даже посмотреть, поддерживают ли они это, однако.


Редактировать:

Что касается аварийного восстановления, эта система также имеет большие стандартные жесткие диски для хранения файлов и дополнительный RAID-контроллер, который я в конечном итоге буду использовать в зеркальном массиве. В сочетании с ночным локальным резервным копированием, постоянным удаленным резервным копированием через Carbonite и постоянными проверками контроля за внешним источником у меня есть достаточные средства предотвращения потери данных.

Чад Леви
источник
1
Я бы избежал RAID 0 без исчерпывающего плана аварийного восстановления, но виртуализация определенно воспользуется преимуществами улучшенной скорости SSD в этой конфигурации.
Хорошая точка зрения. Я забыл упомянуть, что у меня также есть некоторые стандартные диски на борту, и у меня есть многоголовые резервные копии на месте и за пределами площадки. Так что я не до конца облажался, если диск умирает, но это хороший момент, потому что я забыл, что если один диск в массиве RAID 0 уходит, все данные теряются.
Чад Леви
1
Другая возможная проблема, которая может заслуживать некоторого внимания: для работы RAID может потребоваться, чтобы все операции ввода-вывода были в единицах определенного размера полосы. Виртуальные машины, вероятно, не будут выполнять ввод-вывод в соответствии с этими размерами полосы, и вы будете вызывать значительное усиление записи, которое может значительно сократить срок службы ваших дисков.
Размолаживатель

Ответы:

5

Во-первых, известно, что компиляция кода в значительной степени связана с процессором, поэтому не ожидайте улучшений по сравнению с одним SSD.

В вашем тесте, хотя производительность глубины 4k 0-очереди не увеличивается, глубина 4k 32-очереди (QD32) действительно линейно возрастает. ИМО, этот результат должен определять ваше решение.

Несмотря на то, что рабочие станции не являются серверами баз данных с постоянно большой глубиной очереди, глубина очереди от 2 до 20 распространена, по крайней мере, в пакетном режиме при полуинтенсивном использовании рабочей станции - в этом случае случайный ввод-вывод действительно улучшится с RAID 0. Учитывая, что виртуальная машина добавляет Дальнейший уровень одновременной активности ОС (и вы можете в конечном итоге использовать более 2 одновременно работающих виртуальных машин), я думаю, что этот показатель должен улучшить ситуацию в вашем сценарии.

Вы можете отслеживать текущее использование глубины очереди в системном мониторе Windows (Добавить счетчик ... Физический диск ... Средняя глубина чтения / записи), чтобы получить представление.

RAID добавляет уровень сложности (и проблемы с резервным копированием / восстановлением), но наличие большего раздела размером 240 ГБ, безусловно, является плюсом IMO. Проверяйте все проблемы TRIM перед использованием RAID с вашими дисками - это может быть пробкой.

MTONE
источник
Отличная информация, спасибо. Что касается поддержки TRIM - я думаю, что TRIM работает, или, по крайней мере, он включен в соответствии с fsutil. Будет ли Windows включать TRIM, если команды не передаются через интерфейс RAID?
Чад Леви
1
Я не слишком знаком (здесь только 1 SSD), но я верю, что, поскольку RAID-контроллеры не поддерживают TRIM, вы никогда не увидите ссылку на него. Другими словами, TRIM будет технически отключен, поэтому вы должны быть уверены, что встроенное программное обеспечение вашего SSD выполняет приличное управление мусором внутри (хотя не цитируйте меня об этом). Обратите внимание, что драйверы Intel RST, как ожидается, будут поддерживать RAID TRIM иногда в 2012 году, если это то, что вы используете. Другие контроллеры, вероятно, последуют.
Mtone
3

Скорость жесткого диска важна для общей производительности Visual Studio. Скотт Гатри хорошо описывает это в этом посте :

За последние несколько лет многоядерные процессоры на машинах стали достаточно быстрыми, поэтому в большинстве распространенных сценариев применения вы обычно не блокируете доступную мощность процессора на вашей машине.

Когда вы занимаетесь разработкой с использованием Visual Studio, вы заканчиваете чтением / записью большого количества файлов и тратите много времени на выполнение операций ввода-вывода с диска. Большие проекты и решения могут иметь сотни (или тысячи) исходных файлов (включая изображения, CSS, страницы, пользовательские элементы управления и т. Д.). При открытии проекта Visual Studio необходимо прочитать и проанализировать все исходные файлы в нем, чтобы обеспечить intellisense. Когда вы зачислены в систему контроля версий и извлекаете файл, вы обновляете файлы и временные метки на диске. Когда вы выполняете компиляцию решения, Visual Studio будет проверять наличие обновленных сборок из нескольких местоположений на диске, записывать несколько новых сборок на диск после завершения компиляции, а также сохранять файлы символов отладчика .pdb на диске с ними (все как отдельные операции сохранения файла).

По моему личному опыту использование SSD очень помогло, но, учитывая, что большой объем дискового ввода-вывода, вероятно, является небольшим случайным чтением, RAID 0 может не быть огромным улучшением. Другая вещь, которую вы можете обнаружить, это то, что виртуальный дисковый ввод-вывод поглощает некоторые ваши выгоды.

Брэд паттон
источник
3

Intel Z77 поддерживает Trim с RAID и является одним из первых низкобюджетных чипсетов, сделавших это. Но вам нужно указать в настройках хранилища, что вы используете SSD.

Даниил
источник