- При включенной реплики Hyper-v падает скорость записи диска
- Ужасная производительность диска VirtualBox (РЕШЕНО)
- [VirtualBox] Производительность дисковой системы
- Re: [VirtualBox] Производительность дисковой системы
- Re: [VirtualBox] Производительность дисковой системы
- Re: [VirtualBox] Производительность дисковой системы
- Re: [VirtualBox] Производительность дисковой системы
При включенной реплики Hyper-v падает скорость записи диска
Список форумов SYSAdmins.RU -> ВИРТУАЛИЗАЦИЯ |
Автор | |||||
---|---|---|---|---|---|
djvini2012 Новичок Зарегистрирован: 09.05.2020
|
| ||||
Вернуться к началу |
| ||||
Зарегистрируйтесь и реклама исчезнет! | |||||
ADMINDM guru Зарегистрирован: 04.11.2007
|
| ||||
Вернуться к началу |
| ||||
nickcorp78 Участник форума Зарегистрирован: 04.06.2015
|
| ||||
Вернуться к началу |
| ||||
djvini2012 Новичок Зарегистрирован: 09.05.2020
|
| ||||
Вернуться к началу |
| ||||
djvini2012 Новичок Зарегистрирован: 09.05.2020
|
| ||||
Вернуться к началу |
| ||||
nickcorp78 Участник форума Зарегистрирован: 04.06.2015
|
| ||||
Вернуться к началу |
| ||||
djvini2012 Новичок Зарегистрирован: 09.05.2020
|
| ||||
Вернуться к началу |
| ||||
ADMINDM guru Зарегистрирован: 04.11.2007 Ужасная производительность диска VirtualBox (РЕШЕНО)Производительность виртуальной машины зависит от выделенной ей ресурсов (количество ядер центрального процессора, количество оперативной памяти) и от количества запущенных программ в виртуальной машине и их требовательности к ресурсам. Это логично и работает примерно так, как интуитивно ожидается. Но при интенсивном использовании диска в виртуальной машине её производительность падает непропорционально драматически. Например, установка пакета, содержащего большое количество файлов, в гостевой машине Linux может растянуться на часы! Это при том, что аналогичный пакет на реальном компьютере устанавливается за минуты. Обновление Windows могут замедлить работу виртуальной машины до полной её неработоспособности. Всё это замедляет работу и портит опыт работы с виртуальными машинами. Данную проблему можно исправить, включив «Кэширования ввода/вывода» для виртуального диска. Чтобы включить «Кэширования ввода/вывода»:
Вы также можете проверить любые другие контроллеры и/или диски, чтобы увидеть, есть ли там эта опция. Сохраните настройки и запустите виртуальную машину, и вы увидите большое улучшение производительности при интенсивном использовании диска. Есть объяснение, почему эта нужная опция по умолчанию выключена — у неё есть некоторые недостатки. Если коротко, авторы VirtualBox исходят из концепции «безопасность важнее производительности». Рассмотрим подробнее, какие последствия может нести включение этой опции: 1. Отложенная запись через кэш ОС хоста менее безопасна. Когда гостевая ОС записывает данные, она считает данные записанными, даже если они фактически ещё не прибыли на физический диск. Если по какой-то причине запись не произойдёт (сбой питания, сбой хоста), вероятность потери данных увеличивается. 2. Файлы образов дисков обычно очень большие. Кеширование их может поэтому быстро израсходовать весь кэш ОС хоста. В зависимости от эффективности кэширования ОС хоста, это может сильно замедлить работу хоста, особенно, если несколько виртуальных машин работают одновременно. Например, в Linux хостах, кэширование хоста может привести к тому, что Linux отложит все записи до момента, когда кэш хоста почти заполнен, и затем все эти изменения записываются в один раз, это может привести к остановке выполнение виртуальной машины на несколько минут. А это в свою очередь может привести к ошибке ввода-вывода в гостевой системе, поскольку время запросов ввода-вывода истекло. 3. Напрасно расходуется физическая память, поскольку в гостевых операционных системах обычно имеются собственные кеши ввода-вывода, что может привести к двойному кэшированию (как в гостевой, так и в хост машинах) без особого положительного эффекта. Даже если отключить кэширование ввода-вывода хоста по указанным выше причинам, VirtualBox использует свой собственный небольшой кеш для буферизации записи, но не чтения кэширование, поскольку это обычно уже выполняется гостевой ОС. Кроме того, VirtualBox полностью поддерживает асинхронный ввод-вывод для своих виртуальных контроллеров SATA, SCSI и SAS через несколько потоков ввода-вывода. На самом деле практика показывает, что данные не теряются, а включение данной настройки отлично сказывается на производительность. Кроме описанного способа есть ещё один вариант для продвинутых пользователей. Суть в том, что в качестве диска виртуальной машины используется реальный USB диск. С такого диска можно загрузиться как в VirtualBox, так и на физическом компьютере. При этом производительность приближается к работе реального компьютера — никаких задержек, операции обновления и установки больших пакетов происходят с той же скоростью, как на реальном компьютере. О том, как это сделать, смотрите в статье «Как в VirtualBox загрузиться с USB». [VirtualBox] Производительность дисковой системыЛюди знающие, подскажите — почему (по крайней мере у меня) в виртуалбоксе скорость дисковой подсистемы примерно в 2-3 раза ниже чем на хосте? Причем, если мне не изменяет память, в старых версиях (настолько старых что уже даже не помню, чуть ли не в 1.х) вроде бы было нормально. Проц поддерживает аппаратную виртуализацию (VT-x), её включение к росту скорости не приводит (скорее даже становится хуже, но в пределах погрешности). 1. Установить Guest Additions в гостевую ОС Файл, который образ диска, фрагментирован. Особенно касается динамически расширяемых. >1. Установить Guest Additions в гостевую ОС Кстати, вполне возможно — ибо сравнивал я без них.
VirtualBox мне нравится больше всего лишь тем, что он быстро разворачивается (поставил два пакета и вперед) + удобное GUI из коробки. Если подскажешь хороший GUI к QEMU-KVM — буду очень рад 🙂
Это первое что я подумал, но дело таки не в этом (проверял, выделив отдельный раздел под образ, и делал его статического размера — разница есть некоторая, но в пределах погрешности). Если 32 бит и Windows XP, то надо было ставить XP без IO-APIC. > хороший GUI к QEMU-KVM libvirt, virt-manager и virt-viewer Re: [VirtualBox] Производительность дисковой системы
И что можно получить? Re: [VirtualBox] Производительность дисковой системыДа, с такими советами но-дашу нужно отправить на три буквы. > VirtualBox мне нравится больше всего лишь тем, что он быстро разворачивается (поставил два пакета и вперед) + удобное GUI из коробки. Если подскажешь хороший GUI к QEMU-KVM — буду очень рад 🙂 Слушай их больше. Это Qemu — наколенная поделка. А то, что виртуальная машина медленнее хоста, так уж извините. По-моему это естественный факт. > в виртуалбоксе скорость дисковой подсистемы примерно в 2-3 раза ниже чем на хосте? а как по-другому? Файл с образом диска живёт на журналируемой файловой системе, запись на которую в два раз реальной скорости диска (потому что всё пишется два раза, сначала в журнал, потом в FS). В QEMU/KVM можно использовать реальный partition, там должно быть с этим получше. Как-то тестил 7 в боксе, там там проходил встроенный тест производительности, так у жесткого диска было около 6, у людей в рейде на винде такого нет, а тут на одиночном диске в файле столько, но думаю тут сыграло кеширование данных. Ну а вообще да, раньше у бокса скорость как-то получше было, а на слабенькой тачке гонял в вируталке линуксы и не жаловался, теперь же сплошные тормоза. Re: [VirtualBox] Производительность дисковой системыНичего что VBox, xen, kvm используют код qemu для IO? > kvm используют код qemu скорее наоборот, разве kvm — это не всего лишь «эмулятор» одного из устройств (CPU) используемый в виртуальной машине? Сама VM по-прежнему QEMU, и в ней можно использовать и другие эмуляторы CPU, и вроде kqemu по производительности kvm не уступает. > это не всего лишь «эмулятор» одного из устройств (CPU)
это на каком заборе написано? короче столько откровенного бреда в один абзац еще нужно было постараться вопхнуть)))) > Файл с образом диска живёт на журналируемой файловой системе, запись на которую в два раз реальной скорости диска (потому что всё пишется два раза, сначала в журнал, потом в FS) Неправильно. По умолчанию, в журнал пишутся только изменения метаданных. Содержимое файла в журнал не пишется. >> это не всего лишь «эмулятор» одного из устройств (CPU) KVM ниразу не эмулятор CPU потому и написано в кавычках. А как короче сказать? «Виртуальное устройство которое предоставляет функции оригинала, совсем как эмулятор, но на самом деле совсем и не эмулятор»? на http://lwn.net соответствующую статью читал но ведь это все не правильно, в смысле ваш первый пост kvm — гипервизор под присмотром которого выполняется код. никакой эмуляции cpu тут нет и быть не может, так как код выполняется нативно (ну или кроме режима real-mode на intel, что не важно), а гипервизор не дает ему выходить за некоторые рамки (образно говоря) реальное железо использовать нельзя, точней его нужно хотя бы разделять, потому оно эмулируеся с помощью частей qemu, о чем и сказал sdio сама VM уже не qemu «ниразу». есть только гипервизор kvm, перехватывающий некоторые вещи и эмулирующий их с помощью кода qemu. так кстати делают и остальные гипервизоры тут уже есть и возможность «пробрасывать» реальные устройства, то есть переназначать адреса ввода-вывода (отдавать их гипервизору). ну и на последок — kqemu работает по иному принципу (влом перечислять) и он гораздо более тормозной, особенно в случае с несколькими cpu. то есть ваше предположение «разве kvm — это не всего лишь „эмулятор“ одного из устройств (CPU)» неверно, мягко говоря. а вот sdio прав на все 100 — kvm иногда использует части qemu для эмуляции устройств (там от qemu лишь i/o) Re: [VirtualBox] Производительность дисковой системыКроме того, при виртуальном диске в файле, а не реальном разделе, я получил в результате того же dd скорость порядка 43Mb/s, за счет того что весь io-wait переложился на HOST, так как всё попало в его дисковый кеш и потом уже было сброшено на диск. Так что при не постоянной дисковой активности гостя, лучше диск делать в виде файла, а не раздела. |