The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Создан форк системы управления контейнерами LXD"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Создан форк системы управления контейнерами LXD" +1 +/
Сообщение от Аноним (257), 09-Авг-23, 03:56 
> По идее, ОС - и есть сервер приложений, который как бы ими управляет и, и получается чего-то серьезно не хватает.

Да, все так. Что-то чего не хватает - это нормальное реализации суперсервера на стороне ядра популярных UNIX-подобных и не хватает еще тонны модулей реализующих протоколы на стороне ядра и вот, когда данные вынули, нужна еще сервисная модель на стороне ОС, чтобы можно было быстро принять в приложение запросы не запуская их каждый раз заново. И привязки одного к другому нужны и инструментарий для управления этим из пространства пользователя... Много чего нужно, на самом деле.

> Ну допустим сделали виртуализацию, должно по идее хватать этого, или не должно?

Я писал в одном из своих постов, что не каждая нагрузка легко виртуализируется. На некоторых задачах высочайший оверхед. Если отвлечься от темы веб и поговорить чисто про виртуализацию, то попробуйте взять 4-х ядерный компьютер с частотой хотя бы 2.2 и обычным локальным диском SSD, и поставьте на него какой-нибудь особенно проблемный для виртуализации софт, например asterisk. Измерьте какое количество одновременных звонков он будет держать, а потом на тот же компьютер поставьте виртуалку с такими же параметрами как он сам и оцените деградацию производительности. Так вот на серверах виртуализации еще и оверкоммит CPU почти всегда. Или сравните производительность SQL-сервера, причем абсолютно любого. Там тоже осязаемая деградация от факта применения виртуализации. Так вот, приложение тоже можно так написать. Например, если оно порождает огромное количество параллельных потоков и как следствие переключения контекстов. По моему опыту, если у вас 14000 переключений контекстов в секунду на ядро вашему сервису конец. Уберете виртуализацию и полегчает. Там же еще виртуальные сетевые адаптеры, если они не заведены через SR-IOV они выполняются на том же процессоре.

Виртуализация - это гарантированная потеря производительности от 15%. Эта технология нужна только для того, чтобы уплотнить размещение серверов в стойках, сэкономить энергию и деньги. Если есть 10 приложений, которым нужен 4-хядерный сервер 16ГБ RAM и 500ГБ диска то, что вы поставите 1 сервер на 40+ ядер или 10 серверов на 4 ядра? Вопрос риторический. В остальном виртуализация мешает. Контейнеры - это попытка придумать изоляцию для приложений друг от друга без накладных расходов на виртуализацию, причем они популярны только в Linux, потому что они там решают тонну других задач:
- используются вместо setup.exe, чтобы была переносимость между 9000-ми несовместимых друг с другом и со своими прошлыми версиями
- используются как средство конфигурирования при для автонастройки
- для распространения проприетарного софта и особенно его обновления, когда компания покупает услуги подрядчика, а подрядчик выкатывает новые версии и патчи своим корпоративным клиентам
Был бы стандартизированный юзерспейс не было бы таких ухищрений. По назначению их используют сравнительно редко.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Создан форк системы управления контейнерами LXD, opennews, 05-Авг-23, 09:04  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру