Недавно у нас произошел катастрофический переход от одного сервера (сервер Win2008, 4 двухъядерных процессора 2,8 ГГц, 24 ГБ ОЗУ) к гораздо большему и быстрому серверу Hyper-V. Мы запускаем Apache 2 и PHP 5 (оба 32-битные) и больше ничего.
Новая виртуальная машина имеет гостевую систему с серверной операционной системой Win2008 с идентичной конфигурацией с исходным сервером. Вся гостевая ОС и корень сервера Apache хранятся в сети SAN с сетевым адаптером 2G (чтение 1G и запись 1G). Мне сказали, что это необходимо для возможности переключения на другую виртуальную машину в случае необходимости.
При запуске Apache Bench с идентичными параметрами старый одиночный сервер работает на 20–30% лучше, чем новый «больший и быстрый» компьютер Hyper-V. Мы установили Linux-сервер с 64-битным Apache на виртуальную машину, и у нас остались те же проблемы с производительностью.
Я не могу понять, почему машина, которая во всех отношениях «намного лучше» (ОЗУ, процессоры и т. Д.), Будет работать так плохо. Это результат того, что операционная система и корень Apache хранятся в SAN? Всегда ли установка Hyper-V работает хуже, чем невиртуальный сервер? Куда бы вы посмотрели и как бы определить, в чем проблема?
Новая виртуальная машина имеет гостевую систему с серверной операционной системой Win2008 с идентичной конфигурацией с исходным сервером.
Как вы это сделали, учитывая, что Hyper-V поддерживает только 4 виртуальных процессора до версии, которая в настоящее время находится в стадии бета-тестирования, поэтому вы ограничены 4 ядрами на виртуальной машине?
Мне сказали, что это необходимо для возможности переключения на другую виртуальную машину в случае необходимости.
Нет, вам сказали, что требуется переключение на другой ХОСТ, а не на другую виртуальную машину. ПОЖАЛУЙСТА, постарайтесь прислушаться к тому, что вам говорят.
Это результат того, что операционная система и корень Apache хранятся в SAN?
Вы нам скажите. Теоретически это 100 Мбит / с - много, но кто знает, насколько быстро работает SAN? Проведите низкоуровневые сравнения и выясните, намного ли производительность SAN хуже, чем производительность старой дисковой подсистемы. Шутка ли - это видел.
Также обратите внимание, что у вас намного меньше доступных ядер ЦП.
Всегда ли установка Hyper-V работает хуже, чем невиртуальный сервер?
В зависимости от нагрузки - да. Видите ли, использование нескольких виртуальных машин означает меньшее количество попаданий в кэш второго и третьего уровня (когда ЦП переключается между программами). Не актуально для Hyper-V - это характерно для разнородных нагрузок. Но это не должно быть так очевидно, особенно если вы - единственная машина на хосте. Вам действительно нужно сесть и провести базовый анализ для системных администраторов. Узнайте, насколько загружены и хост, и виртуальная машина, проведите сравнения.
В общем, это не должно быть так - особенно с учетом жалкого оборудования, с которым вы начали (4 двухъядерных старых), но вы ДЕЙСТВИТЕЛЬНО потеряли ядра процессора при переходе.