8 / 8 / 1
Регистрация: 17.11.2013
Сообщений: 467
|
|
1 | |
Скорости различных виртуальных дисков на NVMe04.01.2025, 23:07. Показов 668. Ответов 12
Всем привет.
Вопросы про виртуальные диски внутри вм. Железо и ОС CPU: Intel i5 10 поколения (ноутбучный) RAM: 64 ГБ DDR4 SSD: NVMe Kingston 1 ТБ PCIe 4 (7 ГБ/сек, но ноутбук с PCIe 3) OS: Win11 x64 Виртуальные машины Для тестов использовались: - 3 виртуальные машины - одинаковые для всех вм Win7 x64 - одинаково чистые Win7, кроме установленной VMware Tools и папок с Portable-программами для тестов дисков ___ #1 вм - диск разбит несколькими файлами, ограничение в 40 ГБ. #2 вм - диск в одном файле, ограничение в 40 ГБ. #3 вм - диск в одном файле + сразу зарезервировано 40 ГБ. Проблема Тест Atto Disk Benchmark показывает разные результаты в идентичных системах. Итоги теста #Вм - Чтен/Зап (больш файлы) --- Чтен/Зап (4 кб) --- Задержки (мс)(9-й проход DiskSpd) #1 вм - 2.93 ГБ/2.58 ГБ --- 110 МБ/104 МБ --- 29 мс #2 вм - почти идентично с вм #1 (~-5%) --- 40 мс #3 вм - 1.29 ГБ/1.09 ГБ --- 78 МБ/73 МБ --- 34 мс Вопросы 1. Почему при заранее выделенном полном объёме диска скорости чтения и записи значительно упали, а именно в 2 с лишним раза на больших файлах? Причём давно читаю из интернета, что для лучшей производительности виртуального(!) диска внутри вм нужно сразу выделять весь объём, а на деле наоборот. 2. Т.к. в ноутбуке установлен NVMe, не вредно ли для него использование динамически расширяемых дисков (#1 и #2 вм)? Не перезаписываются ли файлы vmdk ежесекунжно на NVMe? Потому что при включённой вм файл меняет ежесекундно свой размер (а размеры по 15 ГБ+). Это же не 15 ГБ перезаписей ежесекундно?
0
|
04.01.2025, 23:07 | |
Ответы с готовыми решениями:
12
Создание виртуальных дисков Пороговые значения SMART у NVME дисков Программы создания виртуальных образов дисков! Программа для объединения двух виртуальных дисков |
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
05.01.2025, 01:17 | 2 |
Потому что в этом случае система не может использовать команду trim, и SSD вынужден очищать flash-память прямо перед записью данных (замедляя всю процедуру записи), а не заблаговременно (при удалении файлов или во время простоя).
Это касается классического HDD. При постоянном размере происходит все то же самое, только вы этого не видите, вот и все. Если так боитесь за ресурс диска -- выньте его из компьютера и положите на полку, там он вообще не будет изнашиваться.
0
|
8 / 8 / 1
Регистрация: 17.11.2013
Сообщений: 467
|
|
05.01.2025, 04:28 [ТС] | 3 |
Не совсем понял, как это относится к TRIM. Вроде что так есть файл vmdk, что сяк.
Ок. Из-за TRIM. Ясно. Ок. Ну дело же не только в изнашивании, а ещё и в падении производительности в случае неработоспособности TRIM UPD Потестировал запущенные виртуальные машины (и с динамическими, и с выделенными дисками, и на виртуальных SATA, и на виртуальных NVMe дисках). Всё это дело моментально мониторил через F5 в CrystalDiskInfo (графы Всего хост-чтений и Всего хость-записей). Да, по 15 ГБайт/сек действительно не пишутся на диск ноутбука. UPD 2 К UPD. Но меня настораживает, что графа Всего хост-чтений практически не увеличивается, даже при копировании файла в 3 ГБ. А также настораживает то, что графа Всего хост-записей при копировании файла в 3 ГБ на тот же раздел добавляет 1 ГБ, а не 3 ГБ. Это как так? UPD 3 Стоит ли рисковать и выделять раздел NVMe хост-системы под виртуальную машину? Скорости ещё не тестировал. Прочитал, что могут потеряться данные с такого раздела в случае чего-то тама...
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
05.01.2025, 05:20 | 4 |
Динамический диск, состоящий из нескольких файлов при удалении данных вполне может или сократить размер одного из файлов, или вообще удалить его, в обоих случаях используя команду trim для очистки флеша.
Я просто толсто намекнул на то, что любые методы сокращения износа SSD являются по сути вредительскими, потому как мешают SSD делать то, ради чего он создан -- увеличивать скорость работы с данными. Кеш хоста в RAM. Именно поэтому "взрослые" виртуалки используют собственные файловые системы, неизвестные для ОС, чтобы избежать подобных эффектов. Не понял, а в чем риск? Нормальное решение для высоконагруженой виртуалки. Хрень какая-то. Потерять данные можно, если кривыми руками откусывть пространство для такого раздела. А когда все сделано -- риска никакого.
0
|
8 / 8 / 1
Регистрация: 17.11.2013
Сообщений: 467
|
|
05.01.2025, 05:45 [ТС] | 5 |
Вычитал, что если хостовая ОС (или софт из неё) будет что-то писать на раздел, который выделен для ВМ, а в этот момент ВМ также что-то будет писать, то может произойти несостыковка. Я предположил, что можно удалить букву раздела в хост ОС, как бы полуразмонтировав его, чтобы хотя бы софт не сделал записей. Или я параною? P.S. вечером сначала скорости протестирую на хардварном NVMe в ВМ, может отличий особых от вирт.NVMe и не будет. P.S.2. а если я подцеплю раздел ссд в ВМ, то TRIM слать будет уже гостевая ОС же?
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
05.01.2025, 07:20 | 6 |
А схрена ли? Виртуалка этот раздел держит монопольно, стандартными средствами ОС туда влезть никак нельзя.
Можно, но это ни на что не влияет. Неа. Гостевая система работает на правах гостя (внезапно), она вообще не имеет прямого доступа к железу. Оперицию trim делает хостовая ОС.
0
|
8 / 8 / 1
Регистрация: 17.11.2013
Сообщений: 467
|
|
05.01.2025, 17:08 [ТС] | 7 |
Понял. Этот вопрос отпал
Понял, относится к первому ответу. Т.е. даже если пробросить весь физический накопитель в ВМ, то TRIM тоже будет делать хостовая ОС?
0
|
Native x86
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,844
|
|
06.01.2025, 01:31 | 8 |
Сообщение было отмечено SlavaRus как решение
Решение
Тут, после осмысления, появляется проблема.
Накопитель в виртуалку пробрасывается как файл \\.\PhysicalDriveX, а не как железка с аппаратным интерфейсом. То есть все низкоуровневое взаимодействие с диском все равно обеспечивается хостовой ОС. Виртуальная машина видит лишь файл размером с диск, который можно вольно читать и писать, но ему не дашь команду trim. Но в то же время только гостевая система обслуживает ФС на этом диске, и только она знает, когда и как делать trim. Но не может. Хостовая же система может делать trim, но у нее нет никакой информации об ФС и она не знает когда и как это делать. Такая вот фигня выходит... Добавлено через 9 минут Погуглил эту тему. Оказывается таки существует API, через который обычные программы могут то ли непосредственно выполнять саму команду для своих открытых файлов, то ли сласть системе хинт на этот счет (и система уже сама решает, делать trim или нет). Если этот API реально работает, и программа виртуальной машины умеет им пользоваться, то тогда гостевая система может выполнять команду, которая будет ретранслирована хосту. В этом случае важно, чтобы для гостевой системы диск тоже был типа SSD, иначе она даже пытаться не будет. Но эта настройка уже давно есть во всех виртуалках, так что не проблема.
1
|
8 / 8 / 1
Регистрация: 17.11.2013
Сообщений: 467
|
|
06.01.2025, 19:04 [ТС] | 9 |
quwy, так, ясно.
А если я вручную буду запускать софтину, умеющую слать TRIM? То где логично её запустить: в хостовой или гостевой ОС? И вообще актуально ли это для NVMe накопителя? Именно NVMe PCIe
0
|
8 / 8 / 1
Регистрация: 17.11.2013
Сообщений: 467
|
|
07.01.2025, 04:40 [ТС] | 11 |
quwy, ясно, значит способ есть. Спасибо, буду знать
0
|
4984 / 1012 / 144
Регистрация: 29.01.2013
Сообщений: 5,948
|
|
08.01.2025, 17:19 | 12 |
Вообще ваш тест не сильно корректен. По хорошему надо на железо ставить гипервизор и экспериментировать в нём. Так у вас не будет внезапных просадок из-за фоновой активности хостовой ОС
0
|
8 / 8 / 1
Регистрация: 17.11.2013
Сообщений: 467
|
|
08.01.2025, 19:08 [ТС] | 13 |
Фоновая активность ОС крайне минимальна, потому что выпилены все службы, которые в фоне что-то делают (тесты были на Nirsoft с SSD и интернет-активностью). Но да, смысл в этом есть
0
|
08.01.2025, 19:08 | |
08.01.2025, 19:08 | |
Помогаю со студенческими работами здесь
13
Подключение виртуальных дисков соответвующим пользователям в домене Зависает служба виртуальных дисков при подключении флешки Размещение виртуальных дисков VirtualBox на сетевых физических дисках Сравнение скорости работы виртуальных и обычных методов Ошибка при создании iSCSI-диска с помощью Мастера создания виртуальных дисков Ssd nvme m2 виден в биос, отображается в windows пока в него не зайдешь. после просто пропадает из списка дисков Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Как узнать какой процесс блокирует файл или каталог в Windows
bt_guru 23.01.2025
При работе с операционной системой Windows пользователи нередко сталкиваются с ситуацией, когда система отказывается выполнять определенные действия с файлами или каталогами, сообщая, что они. . .
|
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
|
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
|
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
|
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
|
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
|
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
|
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
|
Как центрировать div внутри другого div с помощью CSS. Управление расположением элементов в CSS
bytestream 23.01.2025
Позиционирование элементов играет ключевую роль в создании качественных и профессиональных интерфейсов. Одной из наиболее часто встречающихся задач является центрирование элементов на веб-странице,. . .
|
Что означают различные символы в синтаксисе PHP
bytestream 23.01.2025
PHP (Hypertext Preprocessor) представляет собой один из наиболее широко используемых языков программирования для веб-разработки, который обладает богатой и интересной историей развития. Изначально. . .
|
Способы клонирования объектов в JavaScript
bytestream 23.01.2025
В современной разработке на JavaScript работа с объектами является фундаментальной частью создания любого приложения. При манипуляции объектами часто возникает необходимость создавать их копии для. . .
|
Как проверить состояние чекбокса в jQuery. Как работать с чекбоксами
bytestream 23.01.2025
При разработке интерактивных веб-форм часто возникает необходимость программно определять состояние чекбоксов с помощью jQuery. Чекбоксы являются важными элементами пользовательского интерфейса,. . .
|