У нас был старый сервер 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.
источник
Ответы:
Эти процессоры должны иметь VT, так что если у вас есть BIOS, который не позволяет вам его включить, то перейдите в другой блок, который позволяет вам включить VT. Вы не должны пытаться запускать гостей Windows без VT.
Базы данных обычно ограничены двумя вещами. Во-первых, скорость диска, а во-вторых, доступность оперативной памяти для кэширования данных, которые они читают с диска. Возможно ли, что старая коробка была оптимизирована для обслуживания баз данных с быстрым жестким диском, и теперь вы находитесь на сервере с медленным жестким диском настольного компьютера? Похоже, у вас есть достаточный объем оперативной памяти, если на гостевом сервере есть 2 Гб, если только у этой машины нет очень высокой нагрузки. Сколько пользователей получают к нему доступ одновременно?
Если вы только что клонировали жесткий диск Windows, чтобы создать виртуальную машину, возможно, есть какой-то параметр конфигурации, который усложняет жизнь. У старой машины было 2 ядра? Если это так, то было бы неплохо проверить наличие ядер VM 2, потому что XP или Filemaker могут быть настроены на это.
источник
VBoxManage modifyvm
файл справки Vbox. Есть некоторые параметры, которые могут улучшить производительность, которые нельзя установить из графического интерфейса.Запуск XP на виртуальной коробке на Pentium-4 на самом деле хорош, в том, что касается скорости, если он не полагается на тяжелый дисковый ввод-вывод. Ваши Xeons должны быть более чем достойными, с расширениями VT или без них. Проблема в дисках IO.
Если вы можете смонтировать общий ресурс samba с быстрого файлового сервера, и FileMaker с радостью использует его для своих данных, это будет действительно большим приростом скорости.
Также убедитесь, что на виртуальной машине установлены драйверы виртуальной коробки. Если это не так, их установка должна стать еще одним значительным увеличением скорости.
Если можете, поместите файлы .vdi для виртуальной машины на собственный диск. Это защитит его от некоторых издержек ввода-вывода. Даже если у вас есть файлы создателя файлов в быстром общем ресурсе samba, windows все время читает и пишет (кто-нибудь подкачает?).
И вы, вероятно, хотите дать виртуальной машине только один виртуальный процессор; предыдущий комментатор прав, добавление большего в этом случае, вероятно, замедлит, а не ускорит.
Удачи.
источник
Лично я обнаружил, что хотя Virtual Box является отличным продуктом, есть некоторые его части, которые не очень хорошо работают по сравнению с голым металлом.
Первым шагом будет попытаться выяснить, где находится узкое место в производительности. Это дисковый ввод-вывод или сетевой ввод-вывод?
Если вы заметили плохой сетевой ввод / вывод, рассмотрите возможность использования паравиртуализированных драйверов для VB.
Хотя последние версии VB значительно улучшились, паравиртуализированные драйверы - это путь для достижения наилучшей производительности.
Помните также, что приложения базы данных интенсивно используют диск. Ваш диск, вероятно, не родной диск, верно? больше похоже на файл в файловой системе, так что в этом есть дополнительные издержки.
Подумайте об использовании сырого диска гостя. Смотрите здесь: http://www.virtualbox.org/manual/ch09.html
Под Расширенной Конфигурацией Хранения. Надеюсь, это поможет.
источник
У меня есть гостевой Windows XP с несколькими процессорами, и это слишком медленно. Я подозреваю, что IO APIC в Virtualbox работает медленно. Я нашел несколько тестов для конфигурации, аналогичной вашей (даже в том же возрасте): http://niccolofavari.com/virtualbox-make-windows-xp-guest-more-than-50-faster-with-these-tips
Вам, вероятно, придется переустанавливать виртуальную машину с нуля только с одним процессором; Я думаю, что XP требует IO APIC при поддержке конфигураций SMP.
Кроме того, если вы используете один более новый ЦП, а не эти два более старых ЦП, вы, скорее всего, получите увеличение производительности, поскольку увеличится время работы за такт.
источник