Windows XP работает в качестве гостя на Linux VirtualBox очень медленно

1

У нас был старый сервер Windows XP с базой данных Filemaker на процессоре Intel с тактовой частотой 2,6 ГГц, но этот сервер умер. Он был заменен коробкой с двумя 2,4 ГГц процессорами Xeon и 5 ГБ оперативной памяти, на которых изначально работает Ubuntu 11.04, а Windows работает как гость VirtualBox. 2 ГБ оперативной памяти было выделено для гостя Windows.

Конечно, эти старые процессоры Xeon не имеют расширений VT-x, поэтому я не ожидал, что смогу добавить процессоры в гостевую систему VirtualBox, но база данных Filemaker работает как минимум в 2-3 раза медленнее, чем на старый сервер. Я ожидаю, что использование одного 2,4 ГГц процессора из четырех доступных не должно привести к такой поразительной разнице.

Я также хотел бы иметь возможность продолжать использовать эту настройку, поскольку это также означает, что мы сможем удалить наш сервер Linux из стойки, которая работает на еще более медленном оборудовании (не то, чтобы системные требования были высокими для его работы хоть).

Итак, мой вопрос: почему это так медленно? Что я могу сделать, чтобы изменить ситуацию? Или я должен просто сдаться сейчас и найти более подходящее оборудование?

Пожалуйста, обратите внимание: я понимаю, что «новая» машина должна быть примерно на 1% медленнее в теории , поэтому, пожалуйста, не говорите мне, что это «должно» подойти. Мне нужны более конкретные ответы (как, например, «Я пробовал это раньше, и вы должны сделать X»), поскольку в реальном мире это происходит примерно на 50% медленнее. Я собираюсь обвинить «виртуальные» процессоры в многопоточности на одноядерных процессорах и, возможно, в разнице в архитектуре процессоров между процессорами Xeon и Pentium 4.

Эрни Данбар
источник
4
VirtualBox - не самая лучшая производительность среди вариантов виртуализации.
Шейн Мэдден
Вы упомянули добавление большего количества процессоров к виртуальной машине. Имейте в виду, что это может снизить производительность, а не увеличить ее. - Запустили ли вы iotop / top / sysstat / etc в хост-системе, чтобы увидеть, есть ли очевидные проблемы с производительностью.
Zoredache
@zoredache: я не думаю, что проблема заключается в дисковом вводе-выводе, и один процессор получает максимальную нагрузку, когда сервер Filemaker должным образом занят. Но в то же время используемый процессор меняется практически постоянно, что я нахожу довольно забавным.
Эрни Данбар
Надеюсь, вы установили гостевые дополнения Virtualbox. И, надеюсь, вы запустите Ubuntu в качестве серверной версии. И все двухъядерные Xeon с упомянутым ГГц имеют VT-x!
@ Шейн Мэдден: Хорошо, если у вас есть предложения по изменению ситуации, я весь в ушах. :)
Эрни Данбар

Ответы:

1

Эти процессоры должны иметь VT, так что если у вас есть BIOS, который не позволяет вам его включить, то перейдите в другой блок, который позволяет вам включить VT. Вы не должны пытаться запускать гостей Windows без VT.

Базы данных обычно ограничены двумя вещами. Во-первых, скорость диска, а во-вторых, доступность оперативной памяти для кэширования данных, которые они читают с диска. Возможно ли, что старая коробка была оптимизирована для обслуживания баз данных с быстрым жестким диском, и теперь вы находитесь на сервере с медленным жестким диском настольного компьютера? Похоже, у вас есть достаточный объем оперативной памяти, если на гостевом сервере есть 2 Гб, если только у этой машины нет очень высокой нагрузки. Сколько пользователей получают к нему доступ одновременно?

Если вы только что клонировали жесткий диск Windows, чтобы создать виртуальную машину, возможно, есть какой-то параметр конфигурации, который усложняет жизнь. У старой машины было 2 ядра? Если это так, то было бы неплохо проверить наличие ядер VM 2, потому что XP или Filemaker могут быть настроены на это.

Майкл Диллон
источник
На самом деле, в обсуждении было немного деталей, которые вы, возможно, пропустили. Эти процессоры являются старыми процессорами Xeon первого поколения, модель 2 согласно / proc / cpuinfo. Они одноядерные, но многопоточные, и у ядра создается впечатление, что оно имеет 4 процессора для работы. Кроме того, на исходном сервере установлен 1 одноядерный процессор Pentium 4, но он работает намного быстрее при собственной установке XP. По моему опыту работы с этой базой данных Filemaker, ее производительность во многом зависит от скорости процессора, и ваше предложение не запускать гостевые системы Windows без VT, вероятно, именно там, где проблема.
Эрни Данбар
@Ernie - взгляните на VBoxManage modifyvmфайл справки Vbox. Есть некоторые параметры, которые могут улучшить производительность, которые нельзя установить из графического интерфейса.
Джо Интернет
VTx не улучшает производительность. Он упрощает код виртуализации и необходим для виртуализации 64-битного гостя для 64-битного хоста.
Мэтт Х
@MattH: это также делает его так , что вы можете назначить несколько процессоров в гостевой ОС. Это может на самом деле не обеспечивать лучшую производительность, но эта функция для меня отключена.
Эрни Данбар
0

Запуск XP на виртуальной коробке на Pentium-4 на самом деле хорош, в том, что касается скорости, если он не полагается на тяжелый дисковый ввод-вывод. Ваши Xeons должны быть более чем достойными, с расширениями VT или без них. Проблема в дисках IO.

Если вы можете смонтировать общий ресурс samba с быстрого файлового сервера, и FileMaker с радостью использует его для своих данных, это будет действительно большим приростом скорости.

Также убедитесь, что на виртуальной машине установлены драйверы виртуальной коробки. Если это не так, их установка должна стать еще одним значительным увеличением скорости.

Если можете, поместите файлы .vdi для виртуальной машины на собственный диск. Это защитит его от некоторых издержек ввода-вывода. Даже если у вас есть файлы создателя файлов в быстром общем ресурсе samba, windows все время читает и пишет (кто-нибудь подкачает?).

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

Удачи.

Kyle__
источник
Хорошо, я попробую, но это звучит слишком сложно для ситуации, которая требует простоты. В моей ситуации Windows действительно не нужно переключаться на диск, поскольку я выделил ей 2 ГБ оперативной памяти, а WTM утверждает, что использует все 101 МБ использования PF. Физическая память показывает, что 1,5 ГБ оперативной памяти свободно. Если Filemaker действительно хочет, он может загрузить всю базу данных 750 МБ в оперативную память.
Эрни Данбар
Нету. Загрузка базы данных по сети определенно медленнее (я рассчитывал особенно медленный поиск с секундомером для каждого теста). Filemaker также жалуется, что было бы медленнее, если бы я загружал его файлы по сети, и это звучит правдоподобно.
Эрни Данбар
Я также позаботился о том, чтобы программное обеспечение хоста VirtualBox OSE и гостевые дополнения Windows XP были одинаковыми.
Эрни Данбар
Возможно, вы захотите использовать версию, отличную от OSE ... virtualbox.org/wiki/Linux_Downloads
Joe Internet
Убирайся. Я видел, как это происходит быстрее, особенно когда диск хост-системы забивается. И гостевые дополнения установлены и обновлены. Вы покидаете графический интерфейс virtualbox постоянно? Вы можете установить VNC-сервер (или включить RDP) в vm и запустить vm с vboxheadless. И я предполагаю, что вы сделали все очевидные изменения внутри окон. Похоже, вам нужно попробовать форумы virtualbox, чтобы увидеть, что они говорят о настройке скорости. Удачи. forums.virtualbox.org
Kyle__
0

Лично я обнаружил, что хотя Virtual Box является отличным продуктом, есть некоторые его части, которые не очень хорошо работают по сравнению с голым металлом.

Первым шагом будет попытаться выяснить, где находится узкое место в производительности. Это дисковый ввод-вывод или сетевой ввод-вывод?

Если вы заметили плохой сетевой ввод / вывод, рассмотрите возможность использования паравиртуализированных драйверов для VB.

Хотя последние версии VB значительно улучшились, паравиртуализированные драйверы - это путь для достижения наилучшей производительности.

Помните также, что приложения базы данных интенсивно используют диск. Ваш диск, вероятно, не родной диск, верно? больше похоже на файл в файловой системе, так что в этом есть дополнительные издержки.
Подумайте об использовании сырого диска гостя. Смотрите здесь: http://www.virtualbox.org/manual/ch09.html

Под Расширенной Конфигурацией Хранения. Надеюсь, это поможет.

Мэтт Н
источник
0

У меня есть гостевой Windows XP с несколькими процессорами, и это слишком медленно. Я подозреваю, что IO APIC в Virtualbox работает медленно. Я нашел несколько тестов для конфигурации, аналогичной вашей (даже в том же возрасте): http://niccolofavari.com/virtualbox-make-windows-xp-guest-more-than-50-faster-with-these-tips

Вам, вероятно, придется переустанавливать виртуальную машину с нуля только с одним процессором; Я думаю, что XP требует IO APIC при поддержке конфигураций SMP.

Кроме того, если вы используете один более новый ЦП, а не эти два более старых ЦП, вы, скорее всего, получите увеличение производительности, поскольку увеличится время работы за такт.

Sqeaky
источник