Обычная установка против виртуальных машин – что лучше для многоядерных?

В настоящее время мы купили новый сервер с 64 ГБ оперативной памяти и 8 ядер с поддержкой hyperthreading. Мы собираемся создать систему, используя:

  • Nginx.
  • апач.
  • MySQL.
  • PHP

Итак, вопрос о производительности: как эффективно использовать ядра?

Лучше ли устанавливать единую операционную систему и настраивать отдельные приложения или создавать несколько виртуальных машин, и позволить каждой машине использовать ее ресурсы (например, ядро)?

    2 Solutions collect form web for “Обычная установка против виртуальных машин – что лучше для многоядерных?”

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

    Однако хостинг виртуальных машин имеет свои собственные накладные расходы . Программное обеспечение может работать не так эффективно на виртуализированном оборудовании, виртуальные машины должны управляться с хоста, и между виртуальными машинами существует много избыточности. Это вводит штраф за производительность, а не бонус.

    В вашем случае вы можете запускать каждую службу на отдельной виртуальной машине по соображениям безопасности или обслуживания. Если одна из ваших служб скомпрометирована, другие могут не пострадать. Кроме того, легко сделать снимки каждой виртуальной машины, что упрощает обслуживание, помимо прочего. Однако я бы не поставил на улучшение производительности.

    Альтернативой виртуальным машинам является виртуализация на уровне операционной системы, такая как технология контейнеров, недавно популяризированная на Linux компанией Docker . Они позволяют использовать несколько изолированных экземпляров пространства пользователя, устраняя необходимость запуска нескольких полномасштабных операционных систем, что значительно снижает производительность, предоставляя многие преимущества виртуальных машин. Контейнеры-докеры легко развертываются, а также поддерживают моментальные снимки.

    Итак, вопрос о производительности – как эффективно использовать ядра?

    Если в этом ящике ничего больше нет, я бы пошел с простой и простой установкой – хотя я не являюсь другом, вкладывая все в одну коробку. Существует почти ничего сопоставимого с запуском «родной». Как сказал @Benjamin B.: Docker – уровень виртуализации с очень низкими накладными расходами. Но если у вас нет причин для виртуализации, я бы не сделал этого с такой простой настройкой. Это добавляет, по крайней мере, дополнительные организационные накладные расходы на ваш проект.

    Лучше ли создать единую операционную систему и настроить те компоненты, которые я описал эффективно, или создать несколько виртуальных машин, и позволить каждой машине использовать ее в ядре?

    Почему это должно быть лучше? Скажем, вы используете Ubuntu на своем поле и устанавливаете виртуальные машины с Ubuntu: почему Guest-Ubuntu должен отличаться от обычной установки?

    Операционные системы созданы для эффективного управления ресурсами ressources, поэтому запуск всего на простой установке должен сделать трюк.

    Виртуализация интересна, если вы планируете легко разворачивать экземпляры / службы; или если вам нужны более тонкие уровни изоляции.

    Но поскольку это ваш единственный ящик, вы в порядке с простой установкой.

    OT: Зачем использовать apache и nginx?

    Interesting Posts

    Не удалось загрузить содержимое веб-сайта

    Не удается подключиться к другому пользователю, кроме root через SSH

    Абсолютные координаты сенсорной панели

    Как я могу указать требования OS-условной сборки в файле спецификации RPM?

    Низкая скорость передачи по VPN на FreeBSD

    Запретить пакет resolvconf назначать localhost, если named host9 / dnsmasq находится на хосте

    Подсчитайте слова: что будет использовать меньше CPU, wc или perl-скрипт?

    slackware – вернуться в меню установки

    Каков наилучший способ отображения вкладок / пробелов в моих текстовых файлах

    Как печатать значения переменных с добавочными числами, используя цикл в сценарии оболочки?

    Почему, когда я пытаюсь выполнить программу как обычный пользователь, мне становится отказано, и когда я выполняю его с помощью sudo, я получаю «Not Found»

    kgdb не возвращает управление gdb

    perf_events over ssh (osx -> linux) замерзает и не реагирует

    Как переустановить Sudo, если это не в sources.list?

    бесплатное программное обеспечение для редактирования видео для Linux с автосогласованием аудиодорожек

    Linux и Unix - лучшая ОС в мире.