Какое количество виртуальных частных серверов (VPS) можно создать при разделении сервера?

Здравствуйте, уважаемые эксперты! 

У меня есть вопрос по поводу настройки виртуализации на сервере с характеристиками: AMD Ryzen™ 9 7950X3D (16 ядер / 32 потока) и 128 ГБ ОЗУ. 

Планируется использование KVM виртуализации с возможным небольшим оверселлом, но без ущерба для пользователей. У нас есть следующие тарифы на VPS:

1. 1 ядро, 2 ГБ ОЗУ, 50 ГБ SSD
2. 2 ядра, 4 ГБ ОЗУ
3. 4 ядра, 8 ГБ ОЗУ
4. 8 ядер, 16 ГБ ОЗУ

Вопрос в том, сколько таких VPS можно создать, при условии, что 4-5 из них могут быть загружены? Каков порядок расчёта? Необходимо ли от общего числа ядер вычитать количество виртуальных ядер или ориентироваться на общую нагрузку на сервер? По памяти всё достаточно понятно, но с процессором не совсем ясно: каково общее количество VPS? 

Я понимаю, что нельзя игнорировать нагрузку, но можно ли считать, что 8 ядер + 8 ядер = 16 (т.е. лимит 2 VPS по 8 ядер) или же 1 + 1 + 1 + 1 ядро на VPS = 16 ядер? 

Заранее благодарю за помощь! Буду очень признателен за любые советы!
  • 9 октября 2024 г. 15:33
Ответы на вопрос 3
Здравствуйте!

Для расчета количества виртуальных частных серверов (VPS), которые можно создать на физическом сервере с заданными характеристиками, нужно учитывать как процессорные ресурсы, так и оперативную память (ОЗУ). В вашем случае, вы используете KVM виртуализацию, которая позволяет создать множество виртуальных машин, каждая из которых может занимать разные объемы ресурсов.

### Расчет на основе процессоров:

У вас есть физический сервер с 16 ядрами и 32 потоками при использовании технологии SMT (Simultaneous Multi-Threading), которая позволяет каждому ядру обрабатывать два потока. Это также означает, что можно пересчитывать количество потоков так, как если бы вы имели 32 виртуальных ядра.

Во время создания VPS, вы можете выделить количество виртуальных ядер в зависимости от тарифного плана, как вы и описали. Рассмотрим ваши тарифы и как можно посчитать общее количество VPS:

1. **1 ядро, 2 ГБ ОЗУ**
2. **2 ядра, 4 ГБ ОЗУ**
3. **4 ядра, 8 ГБ ОЗУ**
4. **8 ядер, 16 ГБ ОЗУ**

#### Оценка требуемых ресурсов:

- **1 ядро (2 ГБ)**: 16 VPS
- **2 ядра (4 ГБ)**: 8 VPS
- **4 ядра (8 ГБ)**: 4 VPS
- **8 ядер (16 ГБ)**: 2 VPS

### Оценка по ресурсам:

1. **Процессоры:**
   - Если вы выделяете лишь ядра (или потоки, в зависимости от использования), вы можете сделать различные комбинации. 
   - Максимально используя ресурсы, вы можете выделить 32 виртуальных потоков, но стоит учитывать, что эффективность может снижаться при высокой нагрузке.

2. **Оперативная память:**
   - У вас есть 128 ГБ ОЗУ. Соответственно:
     - 16 VPS по 2 ГБ: 32 ГБ
     - 8 VPS по 4 ГБ: 32 ГБ
     - 4 VPS по 8 ГБ: 32 ГБ
     - 2 VPS по 16 ГБ: 32 ГБ
   - Это значит, что по памяти ресурсов достаточно для любой из категорий, кроме 8 ядер, т.к. в этом случае общее количество ОЗУ составит 32 ГБ.

### Оптимизация и оверселлинг:

С учетом возможности оверселлинга, вы могли бы создать больше VPS, чем ваши физические ресурсы позволяют. Это значит, что если у вас 4-5 VPS могут быть в активной загрузке, на ваше усмотрение, вы можете задействовать дополнительные ресурсы, однако с риском ухудшения качества обслуживания, если нагрузка возрастет.

### Рекомендации:

- Определите желаемое значение для нагрузки, чтобы избежать влияния на производительность.
- Проверьте, сможете ли вы обеспечить необходимый баланс нагрузки, чтобы избегать ситуации, когда несколько VPS будут конкурировать за ресурсы.

### Вывод:

- При номинальном распределении ресурсов, на вашем сервере можно создать:
  - 16 VPS по 1 ядру
  - 8 VPS по 2 ядра
  - 4 VPS по 4 ядра
  - 2 VPS по 8 ядер

Таким образом, вы можете использовать разные конфигурации, чтобы распределить ресурсы наиболее эффективно в зависимости от ваших потребностей и требований к нагрузке. Надеюсь, это поможет вам в принятии решения!
Здравствуйте! Попробую объяснить расчёты виртуализации на вашем сервере с точки зрения CPU и RAM. 

Ваша конфигурация:
Процессор: AMD Ryzen™ 9 7950X3D, 16 физических ядер / 32 потока.
ОЗУ: 128 ГБ RAM.
1. Как считается количество виртуальных ядер?
У вас 16 физических ядер, но они могут выполнять 32 потока (технология SMT, многопоточность).
Виртуальные ядра (vCore) можно делить на эти потоки. Например, 1 vCore — это одно виртуальное ядро или один поток.
Оверселлинг CPU: Допустимо создавать больше vCore, чем физических ядер, но это работает, только если виртуальные машины не загружены на 100%. Если все виртуальные машины загружены на максимум, оверселлинг приведёт к потере производительности.
2. Как приблизительно считать количество виртуальных машин (VPS)?
Пример расчётов:
1-core / 2GB RAM / 50GB SSD:

Здесь каждую VPS вы выделяете одно виртуальное ядро и 2 ГБ RAM.
Если не учитывать нагрузку, то при 32 потоках (vCore) и 128 ГБ RAM можно запустить около 32 VPS (1 vCore и 2 ГБ RAM на каждую VPS). Но это без учёта оверселлинга и нагрузки на процессор.
2-core / 4GB RAM:

Каждая VPS будет занимать 2 vCore и 4 ГБ RAM.
В этом случае при 32 потоках можно разместить около 16 VPS (2 vCore и 4 ГБ RAM на VPS).
4-core / 8GB RAM:

Каждая VPS будет занимать 4 vCore и 8 ГБ RAM.
Вы можете разместить до 8 VPS с такими параметрами (4 vCore и 8 ГБ RAM на VPS).
8-core / 16GB RAM:

Каждая VPS займёт 8 vCore и 16 ГБ RAM.
При полной загрузке таких VPS вы можете запустить максимум 4 VPS (8 vCore и 16 ГБ RAM на VPS).
3. Оверселлинг:
CPU: Виртуальные ядра можно оверселить, то есть давать пользователям больше виртуальных ядер, чем у вас физических, но это работает только до тех пор, пока VPS не используют 100% CPU.
RAM: С оперативной памятью всё жёстче. В идеале, без swap или ballooning, RAM не стоит оверселить.
4. Как отслеживать нагрузку?
Процессор: Смотрите на общую загрузку процессора. Если она в среднем держится на уровне 50-70%, можно немного увеличивать количество VPS (делать оверселлинг). Но если загрузка стабильно приближается к 100%, это будет сказываться на производительности.
Память: RAM можно рассчитывать более прямо. Если у вас 128 ГБ, а каждая VPS использует, скажем, 4 ГБ, значит, вы можете поднять до 32 таких VPS без оверселлинга.
Итоговые рекомендации:
1-core VPS: около 32 штук.
2-core VPS: около 16 штук.
4-core VPS: около 8 штук.
8-core VPS: около 4 штук.
Пример расчёта: Если вы используете тариф 4-core/8GB RAM, вы сможете запустить 8 VPS, и они загрузят 32 потока и 64 ГБ RAM. Останется ещё 64 ГБ RAM для других задач или для создания дополнительных VPS.

Нагруженные VPS: Чем больше ядер и памяти выделено на VPS, тем выше нагрузка. Поэтому лучше отслеживать нагрузку с помощью таких инструментов, как htop, top, и настроить мониторинг.

Таким образом, всё сводится к учёту реальной нагрузки на CPU и RAM.
Ну без оверсела грубо говоря  16 
Все что выше уже оверсел
Ну а сколько именно оверселить уже личное дело каждого
Чувак советует 32 например но надо учитывать что это тредов 32 а может 16, и тренды не дают выигрыша в два раза
Похожие вопросы