Я могу сказать это из личного опыта, потому что я имею дело с этой самой проблемой, когда мы говорим. В месте, где я сейчас работаю в качестве подрядчика, есть среда такого типа для их систем разработки SQL Server. Я пытаюсь разработать довольно скромный Б.И. система в этой среде и действительно борется с проблемами производительности.
TLB пропускает и эмулирует ввод / вывод очень медленно на простой виртуальной машине. Если ваша O / S имеет поддержку паравиртуализации (которая все еще не является зрелой технологией в Windows), вы используете паравиртуализированный I / O (по сути, драйвер устройства, который подключается к API в ВМ). Последние версии Opteron поддерживают вложенные таблицы страниц, что устраняет необходимость эмулировать MMU в программном обеспечении (что очень медленно).
Таким образом, приложения, работающие с большими наборами данных и выполняющие множество операций ввода-вывода, например, например, процессы ETL, перемещаются через ахиллесову пяту виртуализации. Если у вас есть что-то вроде системы хранилища данных, которая может сильно загружать память или дисковый ввод-вывод, вам следует подумать о другом. Для простого транзакционного приложения это, вероятно, O.K.
В перспективе системы, которые я использую, работают на блейд-серверах (сервер IBM) в сети SAN с 4x 2-гигабитными соединениями F / C. Это SAN среднего уровня. Виртуальная машина имеет 4 ГБ оперативной памяти IIRC и теперь два виртуальных процессора. В лучшем случае (когда SAN работает тихо), это все еще только половина скорости моего XW9300 , который имеет 5 дисков SCSI (system, tempdb, logs, data, data) на 1 шине U320 и 4 ГБ оперативной памяти.
Ваш пробег может варьироваться, но я бы порекомендовал использовать системы рабочих станций, подобные той, что я описал, для разработки любых операций ввода-вывода, имеющих большие предпочтения, по сравнению с виртуальными серверами в сети SAN.
Если ваши требования к использованию ресурсов не выходят за рамки этого типа (в любом случае они намного превосходят виртуальный сервер), это гораздо лучшее решение. Аппаратное обеспечение не так дорого - конечно, намного дешевле, чем SAN, blade-шасси и лицензирование VMWare. Версия для разработчиков SQL Server поставляется с V.S. Pro и выше.
Это также имеет то преимущество, что ваша команда разработчиков вынуждена иметь дело с развертыванием прямо с нуля - вам нужно придумать архитектуру, которую легко развернуть «одним щелчком». Это не так сложно, как кажется. Redgate SQL Compare Pro ваш друг здесь. Ваши разработчики также получают базовые знания по администрированию баз данных.
Быстрое посещение веб-сайта HP принесло мне объявленную цену в размере около 4600 долларов США за XW8600 (их текущая модель на базе Xeon) с четырехъядерным процессором Xeon, 4 ГБ оперативной памяти и 1x146 и 4x73 ГБ 15k. SAS жесткие диски. Уличная цена, вероятно, будет несколько меньше. Сравните это с ценой на SAN, blade-шасси и лицензированием VMware и стоимостью резервного копирования для этой установки. Для резервного копирования вы можете предоставить сетевой ресурс с резервной копией, где люди могут при необходимости сбрасывать сжатые файлы резервной копии БД.
РЕДАКТИРОВАТЬ: В этом техническом документе на веб-сайте AMD обсуждаются некоторые тесты для виртуальной машины. Исходя из тестов в задней части, высокая нагрузка ввода-вывода и MMU действительно снижает производительность виртуальных машин. Их эталонный тест (который будет взят с крошкой соли, поскольку это статистика, предоставляемая поставщиком) предлагает 3,5-кратное снижение скорости по эталонному тесту OLTP. Пока это поставляется поставщиком, следует иметь в виду:
Это тесты наивной виртуализации
и сравнивает это с
паравиртуализированное решение, а не
голое металлическое исполнение.
Тест OLTP будет иметь более
рабочая нагрузка ввода-вывода с произвольным доступом и
тратить больше времени на ожидание диска
стремится. Более последовательный диск
схема доступа (характеристика
запросы хранилища данных) будет иметь
более высокий штраф и большой объем памяти
операция (например, SSAS является
библейская память боров), которая имеет
большое количество промахов TLB также
понести дополнительные штрафы. это
означает, что замедление на этом
тип обработки, вероятно, будет
более выраженный, чем OLTP
штраф в бенчмарке, указанный в официальном документе.
То, что мы видели здесь, это то, что TLB пропускает и ввод-вывод очень дорогой на виртуальной машине. Хорошая архитектура с паравиртуализированными драйверами и аппаратной поддержкой в MMU позволит смягчить некоторые или все это. Однако я считаю, что Windows Server 2003 вообще не поддерживает паравиртуализацию, и я не уверен, какой уровень поддержки предоставляется на сервере Windows 2008. Мой опыт определенно показал, что виртуальная машина радикально замедляет работу сервера при работе над процессом ETL и сборками куба SSAS по сравнению с относительно скромными техническими характеристиками аппаратного обеспечения с минимальными затратами.