Описание #
Виртуализация сетевых функций , известная как NFV , — это новая парадигма, которая отстаивает использование сетевых устройств в виртуальных средах для повышения гибкости и упрощения обслуживания. Однако каждый конкретный случай должен быть изучен, чтобы определить, какой вариант лучше — аппаратное или виртуальное устройство — в зависимости от требований, бюджета и имеющихся ресурсов.
В этой статье мы рассмотрим различия между сетевыми аппаратными устройствами , определим некоторые оптимизации настройки виртуальных машин для работы в сети, балансировки нагрузки и повышения производительности в зависимости от производителя гипервизора.
Различия в производительности между оборудованием и виртуальными устройствами #
Когда возникает необходимость развернуть новый балансировщик нагрузки, основная техническая причина для выбора аппаратного устройства — достижение максимальной производительности и снижение задержки сети , однако виртуальное устройство обеспечит большую гибкость и упростит управление инфраструктурой.
В идеальном мире, развертывая виртуальную машину со всеми ресурсами, доступными с хоста, мы можем получить в виртуальной машине от 96% до 97% ЦП хоста, от 70% до 90% производительности сети хоста и от 40% до 70% производительности хоста ввода-вывода хранилища, все из-за издержек гипервизора.
Сравнительный анализ виртуальных машин - непростая задача, поскольку различные возможные конфигурации могут привести к отсутствию точных цифр, а также существует слишком много факторов, которые могут повлиять на производительность виртуальной машины, например:
Производитель и версия гипервизора
Оптимизация хоста
Выделенные ресурсы на ВМ
Количество виртуальных машин, работающих на хост
Сетевой трафик, загрузка процессора или дискового ввода-вывода в гипервизоре
Сетевые драйверы настроены
Общие ресурсы между виртуальными машинами
Задание выполнено (маршрутизация, переключение контента, разгрузка SSL и т. Д.)
среди прочего…
Эта статья посвящена оптимизации сети для балансировки нагрузки в виртуальных средах, поэтому в ней основное внимание уделяется загрузке ЦП и настройке сетевого ввода-вывода, чтобы получить максимальную отдачу от виртуальных машин балансировки нагрузки. Производительность дискового хранилища не так критична, поскольку такого рода приложения NFV не требуют большой нагрузки дискового ввода-вывода.
Оптимизация виртуальных машин для работы в сети и балансировки нагрузки #
Чтобы повысить NFV (и особенно для балансировки нагрузки) в вашей виртуальной инфраструктуре, мы рекомендуем следовать следующим инструкциям.
1. Современное и обновленное аппаратное обеспечение . Новейшие аппаратные платформы уже включают в себя несколько методов ускорения процессора и программных технологий на уровне BIOS или микропрограммы для повышения производительности при виртуализации. Поддержание микропрограмм и BIOS в актуальном состоянии обычно является хорошей практикой для включения новых функций и предотвращения известных проблем.
2. Выберите предпочтительный гипервизор . Выбор гипервизора для хоста очень важен с точки зрения производительности сети. В следующем разделе представлено наше исследование наиболее часто используемых гипервизоров. Оно даст вам общее представление о наиболее оптимизированных виртуальных платформах для повышения производительности сети и балансировки нагрузки. Кроме того, некоторые поставщики разблокируют ряд возможностей повышения производительности и масштабируемости в своих платных решениях, которые должны быть включены для решений NFV.
3. Обновленный гипервизор . Поддержание хоста в актуальном состоянии позволит воспользоваться всеми функциями оптимизации и улучшениями ресурсов, реализованными в гипервизоре, а также исправленными уязвимостями безопасности.
4. Включите Intel VT-x или AMD-V . Как правило, в более новых процессорах Intel и AMD этот флаг ускорения присутствует, но по умолчанию он не включен в BIOS. Убедившись, что эта опция включена в BIOS, необходимо включить её на уровне виртуальной машины.
5. Выделенная сеть для обслуживания . При настройке сети виртуальной машины важно создать изолированную сеть для производственных сервисов и для задач обслуживания во внутренней частной сети на хосте, которая может использоваться для перемещения рабочих нагрузок (переноса рабочих нагрузок между хостами). Эта частная сеть будет быстрее и безопаснее, а также не повлияет на работу производственных сервисов во время обслуживания.
6. Выберите улучшенные сетевые драйверы . Убедитесь, что используете наиболее производительный виртуальный сетевой драйвер для каждого гипервизора и для вашей конкретной сетевой карты. Использование наиболее подходящего и обновленного сетевого драйвера для вашего хоста уменьшит задержку и обеспечит лучшую производительность в случаях высокой нагрузки на сеть.
7. Выделенный виртуальный ЦП . С точки зрения производительности лучше выделить меньше виртуальных ЦП для конкретной виртуальной машины, но использовать их всецело. Избегание совместного использования ресурсов ЦП уменьшает изменение контекста и состояния ожидания на хосте, а также предотвращает влияние рабочих нагрузок на другие виртуальные машины.
8. Оптимизированные шаблоны, готовые к развертыванию . Важно иметь оптимизированные шаблоны, соответствующие конкретному гипервизору и версии, включая необходимые инструменты, драйверы и операционную систему, настроенную для работы с сетью на стороне гостевой системы. Наличие готового к развертыванию шаблона повышает эффективность, упрощает управление и экономит время.
Производительность между гипервизорами #
На основании результатов тестов балансировки нагрузки и высоких сетевых нагрузок, проведенных в нашей лаборатории, мы можем утверждать, что более новые версии VMware ESXi демонстрируют лучшие показатели, чем Xen Server, Hyper-V или другие гипервизоры, представленные на рынке.
Определение правильного распределения ресурсов для RELIANOID виртуальные устройства #
Учитывая, что мы используем самый производительный гипервизор на рынке согласно нашим лабораторным тестам, мы можем добиться оптимальной производительности. RELIANOID Виртуальные среды Load Balancer от 7% до 20% штрафа, чем та же физическая конфигурация.
На каждый выделенный виртуальный процессор мы можем оценить:
~ 18k HTTP запросов в секунду с фермы LSLB HTTP.
~ 220k HTTP-запросов в секунду с фермы LSLB L4XNAT.
Если постоянство сеанса включено, мы должны позаботиться о ресурсах памяти виртуальной машины:
512 МБ ОЗУ для каждой виртуальной службы или фермы, созданной в ВМ.
Дополнительные 512 МБ ОЗУ для каждой виртуальной службы или фермы с количеством пользователей 10,000.
Что касается хранилища, RELIANOID Виртуальные устройства выделяют 8 ГБ диска, размер которого при необходимости можно изменить, но в большинстве случаев этого должно быть достаточно.