HighLoad в облаке: как выжать максимум производительности за счет выделенных ядер
TrexSelectel 49 минут назад HighLoad в облаке: как выжать максимум производительности за счет выделенных ядер 8 мин 1.3K Блог компании Selectel Облачные сервисы * Серверное администрирование * IT-инфраструктура *...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: TrexSelectel 49 минут назад HighLoad в облаке: как выжать максимум производительности за счет выделенных ядер 8 мин 1. 3K Блог компании Selectel Облачные сервисы * Серверное администрирование * IT-инфраструктура * IT-компании Когда приложение перестает справляться с растущей нагрузкой, появляется желание «залить» ресурсами виртуальную машину. Однако производительность не всегда упирается в количество vCPU или объем памяти, поэтому в этом случае увеличение конфигурации приведет лишь к росту затрат.
Давайте разберемся, почему увеличение ресурсов виртуальной машины не помогает и всегда ли «соседи по виртуалке» влияют на работающее приложение. Эта статья не ультимативный гайд на все случаи жизни, а обзор возможностей облака Selectel, которые помогут решить специализированные задачи, когда речь идет о высоких нагрузках. Как устроены облачные серверы с выделенными ядрами«Обычные» ядраВиртуальные машины на «обычных» ядрах.
Технические детали
По умолчанию в облаках используется стандартная политика, при которой каждая виртуальная машина (ВМ) занимает определенное количество процессорного времени и оперативной памяти. Но при этом не регламентируется, какие именно логические ядра гипервизора используются и в какой области оперативной памяти хранится оперативная память виртуальной машины. Иными словами, гипервизор выделяет ядро по требованию виртуальной машины.
Из-за этого ВМ может мигрировать между вычислительными ядрами гипервизора. Эта политика универсальна и подходит для большинства слабонагруженных задач, в том числе:API-, веб- и микросервисов с низкой нагрузкой;тестовых и разработческих сред;и других сервисов, для которых незначительны задержки. Отсутствие детерминированности и постоянная миграция между вычислительными ядрами негативно влияет только на высоконагруженные сервисы (HighLoad) и на задачи реального времени (RealTime), поскольку им важна не абсолютная производительность, а стабильность и предсказуемость производительности ядра.
Давайте рассмотрим, почему обычные ядра не подходят для Highload и Realtime. На это есть три причины. При миграции потока виртуальной машины между ядрами гипервизора содержимое кэша процессора не мигрирует.
Отраслевые последствия
Следовательно, при каждой миграции нужно потратить дополнительное процессорное время на кэширование контекста виртуальной машины. Доступ к памяти другого процессора в топологии NUMA. В мультипроцессорных системах каждый физический процессор имеет прямой доступ только к части оперативной памяти, называемой локальной памятью.
Доступ к локальной памяти другого процессора — только через общение по межпроцессорной шине. Такая архитектура называется NUMA (англ. Non-Uniform Memory Access — неоднородный доступ к памяти), а связка «процессор и локальная память» — NUMA-узлом.
Очевидно, что коммуникация с другим процессором и запросом чужой локальной памяти медленнее, чем обращение к собственной локальной памяти.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.






