Як розрахувати кількість віртуальних ЦП (vCPU)
У сучасному світі інформаційних технологій віртуалізація відіграє ключову роль, забезпечуючи оптимізацію ресурсів серверів та покращення гнучкості в управлінні обчислювальними ресурсами.
У контексті віртуалізації, віртуальні процесори (vCPU) займають важливе місце, і в цій статті ми розглянемо, чим вони є, як працюють і як оптимально використовувати їх у віртуалізованих середовищах.
Що таке фізичний, логічний та віртуальний процесори?
Фізичний процесор (CPU) – це реальний обчислювальний компонент, встановлений на сервері. Він складається з одного або декількох ядер, кожне з яких здатне виконувати інструкції та обробляти дані.
Віртуальний процесор (vCPU), з іншого боку, є абстрактним уявленням процесора, яке призначається віртуальній машині (ВМ). Він є її частиною та забезпечує виконання обчислювальних завдань усередині цієї машини.
Віртуальні процесори дозволяють одному фізичному серверу обслуговувати кілька віртуальних машин, що підвищує ефективність використання ресурсів. А кількість vCPU визначає скільки обчислювальних ресурсів може використовувати кожна віртуальна машина.
Логічний процесор – це абстракція фізичного ядра процесора. Таким чином, кількість логічних процесорів дорівнює загальній кількості ядер всіх процесорів сервера.
Що таке ядро
Фізичні ядра CPU (pCPU) - це основна обчислювальна одиниця процесора, що відповідає за виконання інструкцій та обробку даних. Фізичний процесор може містити одне або кілька ядер, кожне з яких здатне працювати незалежно один від одного.Це дозволяє паралельно виконувати кілька завдань та забезпечує високу продуктивність.
Окреме фізичне ядро зазвичай здатне обробляти один потік інструкцій (у деяких випадках може бути підтримка багатопоточності, що дозволяє ядру обробляти кілька потоків паралельно)
Як працює віртуальний процесор (vCPU)
Віртуальний процесор працює у тісному взаємодії з гіпервізором - програмним забезпеченням, управляючим віртуалізованим апаратним забезпеченням.
Коли створюється віртуальна машина, їй призначається певна кількість vCPU, які будуть обробляти обчислювальні завдання для цієї машини. Фактично ці завдання виконуються на фізичних ядрах процесора хост-системи, і гіпервізор забезпечує розподіл ресурсів між віртуальними машинами, враховуючи їхнє навантаження та пріоритети. Кількість vCPU, призначених одній віртуальній машині, не може перевищувати кількість логічних процесорів хоста.
Кількість vCPU віртуальної машини є максимальною кількістю потоків, які віртуальна машина може запускати в будь-який момент часу. Кожен віртуальний процесор розглядається операційною системою ВМ як одне фізичне ядро процесора
Як розрахувати співвідношення vCPU до pCPU
Розрахувати співвідношення vCPU (віртуальних процесорів) до pCPU (фізичних процесорів) можна, враховуючи конкретні характеристики фізичного сервера та кількість ВМ та вимоги до їх продуктивності
Зазвичай рекомендується співвідношення 1:1, тобто. один vCPU на один pCPU, але воно може змінюватися в залежності від конкретних вимог вашої програми та характеристик вашого сервера.
Залежно від необхідної продуктивності, системний адміністратор може виділити більше віртуальних процесорів, ніж кількість існуючих фізичних ядер на хост-системі.
Співвідношення можуть бути такими:
- 1:1 (один до одного): кожній віртуальній машині призначається один vCPU на кожне фізичне ядро. Таке співвідношення рекомендується для високонавантажених систем, таких як сервер баз даних, сервер 1с, великі сервери віддалених робочих столів
- 3:1 (три до одного): кілька віртуальних машин можуть поділяти один фізичний процесор. Рекомендується використовувати це співвідношення для серверів із середнім навантаженням – невеликі сервери віддалених робочих столів, поштові сервери, хостинг середніх сайтів
- 5:1 (п'ять до одного): допускається для використання серверами з мінімальними вимогами до продуктивності – файлові сервери, контролери домену, хостинг невеликих сайтів
Розрахувати співвідношення vCPU до (pCPU) можна, враховуючи кількість фізичних ядер процесора та вимоги вашого застосування до процесорних ресурсів. Зазвичай рекомендується співвідношення 1:1, тобто. один vCPU на кожне фізичне ядро процесора, але це може змінюватись в залежності від конкретних вимог вашої програми
Всі ці аспекти важливі для розуміння та ефективного використання vCPU у віртуалізованих середовищах, забезпечуючи максимальну продуктивність та оптимальне використання ресурсів сервера.
Посібник з вибору оптимальної кількості vCPU та ядер для віртуальної машини — корисні поради та рекомендації
У сучасному світі IT-інфраструктури правильно розподілені ресурси відіграють ключову роль ефективної роботи систем.При налаштуванні віртуальних машин важливо враховувати безліч факторів, що впливають на продуктивність та надійність. Розуміння того, як і скільки ресурсів, таких як пам'ять і процесорні потужності, необхідні для кожної віртуальної машини, можуть суттєво вплинути на загальну ефективність роботи вашої системи.
При плануванні конфігурацій віртуальних машин ви стикаєтеся із завданням оптимізації ресурсів, щоб забезпечити баланс між потужністю та стабільністю роботи. Необхідно враховувати, що продуктивність може залежати від багатьох параметрів: від кількості доступних процесорів до правильного налаштування cpushares і cpucfs_period_us. Наприклад, занадто багато виділених ресурсів може призвести до неефективного використання або перевантаження хостингу, а недолік – до уповільнення виконання операцій.
При цьому важливо розуміти, що кожен випадок унікальний і потребує індивідуального підходу. Моніторинг та аналіз роботи вашої інфраструктури дозволять своєчасно виявити вузькі місця та скоригувати налаштування. Підбір потрібного числа ресурсів допоможе вам не тільки покращити продуктивність, а й уникнути ситуацій, коли ресурси перевищують Фактичні потреби вашої системи.
Читайте також: Що робити, якщо комп'ютер з Windows несподівано вимикаєтьсяВибір кількості vCPU та ядер для віртуальної машини
Коли ви налаштовуєте віртуальні сервери, важливо розуміти, яка кількість ресурсів процесора вам потрібна для оптимальної роботи вашої системи. Важливо враховувати, що ресурси, які ви виділите, можуть безпосередньо вплинути на продуктивність та ефективність роботи ваших програм.Тому розуміння того, як правильно налаштувати ці параметри, дозволить вам досягти кращих результатів та знизити витрати на експлуатацію.
Спочатку слід оцінити, які завдання виконуватимуться на віртуальному сервері. Якщо планується робота з ресурсомісткими програмами, такими як бази даних або складні обчислювальні завдання, можливо, буде потрібно більше процесорних ресурсів. У цьому випадку важливо заздалегідь оцінити, який розмір та кількість ресурсів вам знадобляться, щоб уникнути ситуації, коли сервер буде перевантажений.
Існує кілька способів визначення необхідної кількості ресурсів. Наприклад, можна почати з меншої кількості і потім поступово збільшувати його, стежачи за продуктивністю. Важливо пам'ятати, що збільшення ресурсів може вплинути на решту хостів, які ви використовуєте, тому необхідно враховувати загальне навантаження на систему.
Також варто враховувати, що кількість виділених ресурсів можна скоригувати. Якщо ви помітили, що сервер працює неефективно або навпаки, надмірно, ви можете настроїти конфігурацію, додаючи або зменшуючи кількість процесорних ресурсів. Деякі панелі керування віртуальними машинами включають можливість налаштування параметрів через кнопки та меню, що спрощує процес змін.
Перш ніж вносити зміни, оцініть поточну конфігурацію та її вплив на робочі процеси. Це допоможе вам уникнути несподіваних ситуацій та оптимізувати використання ресурсів. Наприклад, якщо ви використовуєте інструмент growpart для керування дисками, переконайтеся, що ви правильно виділили місце для розширення та коректно вказали розмір розділів.
| Тип завдання | Рекомендована кількість vCPU |
|---|---|
| Невеликі веб-програми | 1-2 |
| Середні корпоративні програми | 2-4 |
| Інтенсивні обчислення або бази даних | 4+ |
Читайте також: Як усунути помилку 800B0001 у Windows Update - Детальний посібник із вирішення проблеми
На завершення, важливо враховувати, що ваше рішення має бути засноване на конкретних вимогах додатків і робочого навантаження. У цьому процесі можуть допомогти досвідчені фахівці та ваше власне розуміння поточних потреб системи. Регулярна перевірка та коригування конфігурації допоможуть вам забезпечити стабільну роботу та оптимальне використання ресурсів.
Визначення вимог вашого навантаження
Для ефективного управління віртуальними серверами важливо розуміти, які ресурси будуть потрібні для стабільної роботи вашого навантаження. Цей процес вимагає ретельного аналізу, щоб підібрати оптимальні конфігурації, які зможуть задовольнити потреби вашої програми чи сервісу. Важливо враховувати, як різні параметри взаємодіють один з одним, щоб запобігти проблемам, таким як брак ресурсів або надмірні витрати.
Почніть з визначення основних потреб вашої програми. Наприклад, якщо ваше навантаження передбачає роботу з великими обсягами даних або інтенсивні обчислення, вам знадобиться більше процесорних ресурсів та пам'яті. Програми, що працюють у середовищі Linux або інших операційних системах, можуть мати різні вимоги, залежно від їх особливостей. Оцініть, наскільки активно додаток використовує процесорний час, скільки даних обробляється і які завдання повинні виконуватися паралельно.
Моніторинг та аналіз поточних показників допоможуть вам зробити більш обґрунтований вибір.Зверніть увагу на такі параметри, як споживання ресурсів, кількість активних процесів та їх вплив на загальну продуктивність системи. Ви можете використовувати інструменти моніторингу, щоб стежити за використанням процесора та пам'яті, що спростить процес налаштування та допоможе уникнути ситуацій, коли ресурси стають вузьким місцем у вашій інфраструктурі.
Під час планування параметрів конфігурації враховуйте можливі сценарії навантаження. У випадках, коли програма може зазнавати різких стрибків активності, краще заздалегідь передбачити деякий запас ресурсів. Це допоможе уникнути проблем, пов'язаних із недостатніми потужностями, та забезпечити безперебійну роботу. Також важливо пам'ятати, що у разі появи нових вимог або змін у навантаженні, можливо, потрібно буде коригувати поточні налаштування.
Правильне розподілення ресурсів між віртуальними машинами та їх ефективне використання залежать від ваших цілей та особливостей роботи програми. Якщо ви плануєте запуск декількох віртуальних серверів на одному хості, розподіліть ресурси так, щоб жодна з віртуальних машин не мала значних обмежень. Це забезпечить баланс та оптимальне використання доступних ресурсів.
Аналіз типових робочих навантажень
p align="justify"> При проектуванні віртуальних серверів важливо враховувати характер робочих процесів, які будуть виконуватися на платформі. Процес вибору потрібної кількості ресурсів часто залежить від того, як розподіляються навантаження та які завдання будуть вирішуватись. Вивчення типових сценаріїв використання допоможе зрозуміти, скільки процесорних ресурсів необхідне забезпечення належної продуктивності.Розуміння таких аспектів дозволить ефективно налаштувати серверні хости для оптимального виконання операцій.
У кожному випадку важливо враховувати характер навантаження на сервер. Якщо ваша система оброблятиме безліч паралельних запитів, то ви можете зіткнутися з високим значенням load-average. Для додатків, які вимагають інтенсивного використання процесора, таких як обчислювальні завдання або обробка великих обсягів даних, кількість постійних ресурсів має вирішальне значення. В інших сценаріях, наприклад, під час обслуговування великого числа тонких клієнтів або запитів може бути достатнім невелика кількість тимчасових ресурсів.
Застосування утиліт для моніторингу, таких як pcpu, і розуміння того, як працюють ваші сервіси, допоможуть вам оцінити поточне навантаження та необхідну кількість ресурсів. Незважаючи на те, що багато провайдерів пропонують базові параметри, кожен проект може мати свої особливості. Тому, якщо ви плануєте масштабування чи додавання нових завдань, важливо заздалегідь проаналізувати вимоги та оптимально розподілити ресурси.
Нарешті, під час роботи з різними платформами може виникнути необхідність адаптації. Наприклад, ви можете зіткнутися із ситуацією, коли ресурси, запропоновані провайдерами, не задовольняють вашим вимогам, що вимагатиме додаткового уваги до конфігурації та, можливо, перегляду стратегії розподілу ресурсів.
Оцінка ресурсів для обчислювальних завдань
При плануванні обчислювальних завдань важливо розуміти, які ресурси необхідні ефективного виконання додатків.Оцінка повинна враховувати вимоги до процесорного часу, обсягів оперативної та дискової пам'яті, а також особливостей програмного забезпечення та середовищ їх використання. Ухвалені рішення вплинуть на продуктивність і стійкість системи, тому важливо виважено підходити до кожного аспекту конфігурації.
У разі активного використання обчислювальних ресурсів, наприклад, на серверах з операційною системою Linux, важливо враховувати такі параметри як процесорний час, обсяг пам'яті та дискового простору. Наприклад, якщо робоча програма вимагає значних обчислювальних потужностей, кількість виділених CPU має бути відповідним. Неправильний вибір може призвести до зниження продуктивності та збільшення часу виконання завдань.
| Тип завдання | Рекомендації щодо ресурсів |
|---|---|
| Обробка великих даних | Багато процесорних ресурсів, великий обсяг оперативної пам'яті та дискового простору |
| Веб-сервіси з високим трафіком | Оптимальне співвідношення CPU та RAM, можливість збільшення ресурсів при зростанні навантаження |
| Запуск легковажних програм | Мінімальна кількість процесорних ядер, достатній обсяг оперативної пам'яті |
В умовах динамічної зміни навантаження, таких як випадки з активними користувачами або великими обсягами даних, може виникнути необхідність зміни виділених ресурсів. Використання інструментів, таких як cpushares та growpart, може допомогти в управлінні розподілом ресурсів та збільшенні їх за потреби. Також важливо враховувати, що надмірна кількість ресурсів може виявитися марною, а їх недолік призведе до зниження продуктивності.
Ухвалення рішення про виділення ресурсів має враховувати поточний стан та майбутні потреби системи.Наприклад, якщо програма потребує значних обчислювальних потужностей, слід передбачити можливість збільшення ресурсів у разі зростання навантаження. Маючи уявлення про необхідні параметри, можна ефективно керувати ресурсами та забезпечити стабільну роботу системи в будь-яких умовах.
Тонка настройка віртуальних машин
При створенні та налаштуванні віртуальних машин важливо враховувати не лише базові параметри, а й тонкощі, які можуть значно вплинути на продуктивність та надійність систем. Зненацька виникають ситуації, коли стандартні установки виявляються недостатніми для коректної роботи додатків або систем. Тому правильне налаштування може вимагати уважного аналізу та оптимізації параметрів.
Ось кілька аспектів, які варто враховувати при тонкому налаштуванні:
- Моніторинг та аналіз. Перед тим як вносити зміни, важливо уважно відстежувати поведінку віртуальних машин та процесів. Це дозволить виявити вузькі місця та визначити, які ресурси використовуються найактивніше.
- Налаштування ресурсів. Ви повинні переконатися, що ресурси, такі як пам'ять та процесорний час, коректно розподілені між віртуальними машинами. Занадто маленький об'єм виділеної пам'яті може значно знизити продуктивність, тоді як надлишкові налаштування можуть спричинити зайве навантаження на хост-систему.
- Продуктивність додатків. При налаштуванні віртуальних машин важливо також враховувати, як конкретні програми використовують ресурси. Наприклад, для ресурсоємних додатків може знадобитися налаштування, яке враховує їх особливості та вимоги.
- Системні налаштування. Параметри, такі як cpucfs_period_us , pcpu та інші можуть впливати на розподіл часу процесора між віртуальними машинами. Правильне налаштування цих параметрів допоможе уникнути ситуацій, коли один процес або програма займає занадто багато ресурсів, через що інші процеси починають працювати повільно.
- Вплив на надійність. Зміни у налаштуваннях віртуальних машин можуть вплинути на надійність та стабільність роботи систем. Тому рекомендується тестувати всі зміни у тестовому середовищі перед застосуванням у виробничому.
Тонка настройка віртуальних машин потребує ретельного підходу та розуміння специфіки роботи додатків та систем. За допомогою правильного моніторингу та коректного налаштування можна значно покращити продуктивність та надійність ваших віртуальних середовищ.
Оптимізація продуктивності та ефективності
При налаштуванні віртуальних серверів важливо не лише визначити розмір ресурсів, а й уважно підійти до оптимізації їхньої роботи. Грамотний розподіл процесорного часу та використання ресурсів впливає на продуктивність системи загалом. Неправильна конфігурація може призвести до зайвого споживанню ресурсів, зниження ефективності та збільшення часу відгуку. Оптимізація включає в себе налаштування параметрів віртуальних машин, таких як механізми розподіл ресурсів та їх взаємодія з реальним залізом.
Кожен віртуальний процесор має свої особливості і важливо враховувати їх при плануванні навантаження. Наприклад, сервери на базі Xeon можуть мати певні параметриякі впливають на продуктивність. При налаштуванні віртуальних ресурсів слід звернути увагу на дискові ресурси, а також на використання утиліти для моніторингу завантаження та продуктивності. Інструменти моніторингу, такі як утиліта top в Linux, можуть допомогти відстежувати, як вибір віртуальних ресурсів впливає на продуктивність.
Для підвищення ефективності рекомендується використовувати механізми управління процесорним часом, такі як sigstop і необхідну налаштування продуктивності. Оптимальні відсоткові Значення використання ресурсів можуть бути досягнуті через ретельне налаштування параметрів та моніторинг роботи. Це особливо важливо у ситуаціях, коли ресурси shared між кількома віртуальними машинами
Не забувайте також про відкат конфігурацій у разі виникнення проблем. Наявність плану та інструменту для відкату Налаштування допоможе швидко відновити стабільність системи. Регулярний моніторинг та коригування налаштувань сприятимуть підтримці оптимального рівня продуктивності, що у результаті забезпечить ефективне використання доступних ресурсів.
Питання-відповідь:
Яка кількість vCPU та ядер мені вибрати для віртуальної машини залежно від типу навантаження?
При виборі кількості vCPU та ядер для віртуальної машини важливо враховувати характер навантаження, яке ви плануєте на неї покласти. Якщо ваша віртуальна машина буде виконувати завдання, що вимагають високої обчислювальної потужності, такі як обробка даних, рендеринг або робота з великими базами даних, то є сенс вибрати більшу кількість vCPU та ядер. Для таких завдань рекомендується починати з двох-чотирьох vCPU і збільшувати цю кількість за необхідності.У разі менш ресурсоємних завдань, таких як веб-сервери або прості програми, достатньо може бути одного-двох vCPU. Крім того, важливо розуміти, що кількість vCPU повинна відповідати не тільки необхідної обчислювальної потужності, але й пам'яті, оскільки недолік пам'яті може стати вузьким місцем навіть за великої кількості процесорів.
Як правильно розрахувати кількість vCPU та ядер для віртуальної машини у хмарі?
Правильний розрахунок кількості vCPU та ядер для віртуальної машини у хмарі залежить від кількох факторів: передбачуване навантаження, тип програми, очікувана кількість користувачів та вимоги до продуктивності. Почніть із аналізу поточних потреб програми, визначте його споживання процесорних ресурсів у межах тестування чи основі попередніх даних. У хмарних платформах часто є можливість масштабування, тому рекомендується почати з базової конфігурації та налаштовувати її за необхідності. Також врахуйте, що надто велика кількість vCPU може призвести до неефективного використання ресурсів та збільшення витрат, тому оптимізація є ключем до успішного вибору конфігурації.
Чи впливає кількість vCPU та ядер на вартість віртуальної машини?
Так, кількість vCPU та ядер безпосередньо впливає на вартість віртуальної машини. У більшості хмарних платформ ціна розраховується на основі ресурсів, які ви використовуєте, включаючи процесори, пам'ять та сховище. Чим більше vCPU та ядер, тим вища вартість оренди віртуальної машини. Тому важливо вибрати таку кількість ресурсів, яка буде відповідати вашим реальним вимогам, щоби не переплачувати за надмірні потужності.Оптимізація ресурсів дозволить вам збалансувати витрати та продуктивність, уникаючи як недоліку, так і надмірності обчислювальних ресурсів.
Що краще вибрати: більше vCPU чи більше ядер для віртуальної машини?
Вибір між великою кількістю vCPU та великою кількістю ядер залежить від типу роботи, яку виконуватиме віртуальна машина. Якщо ваш додаток або робоче навантаження добре масштабується на кілька потоків, то краще вибирати більше ядер, оскільки це дозволить застосуванню паралельно виконувати більше завдань. В іншому випадку, якщо навантаження більш однопоточне або вимагає високої продуктивності на одиничному потоці, то більше vCPU може покращити продуктивність. В ідеалі вам потрібно підібрати конфігурацію, яка оптимально відповідає вашим вимогам і дозволяє ефективно використовувати можливості віртуальної машини.
Як часто потрібно переглядати та коригувати кількість vCPU та ядер для віртуальної машини?
Кількість vCPU та ядер слід переглядати та коригувати в міру зміни вимог до робочого навантаження або додатків. Якщо ваша програма починає працювати повільніше або виникає нестача ресурсів, це може бути сигналом, що потрібно збільшити кількість vCPU або ядер. Аналогічно, якщо ви помічаєте, що ресурси використовуються не повністю або є надмірні потужності, зменшення кількості vCPU або ядер може допомогти заощадити кошти. Регулярний моніторинг продуктивності та використання інструментів аналізу допоможуть своєчасно виявляти такі зміни та коригувати конфігурацію віртуальної машини, щоб підтримувати баланс між продуктивністю та вартістю.
Вибираємо IaaS: що таке vCPU і скільки ядер вам потрібно
Від віртуальних процесорів великою мірою залежить продуктивність хмарної інфраструктури. Що таке vCPU, як розрахувати кількість процесорів під конкретний проект, і в чому відмінність від фізичних CPUs? Сергій Афанасьєв, тимлід команди Compute у Selectel.
Що таке vCPU та яка його продуктивність
vCPU – це віртуальний процесор, який «відрізає» гіпервізор від фізичного CPU під час створення віртуальних машин (ВМ). vCPU містить щонайменше одне ядро.
Від кількості ядер віртуального процесора залежить кількість потоків, якими може оперувати програму, отже — його можливості.
Гіпервізор поряд з іншими ресурсами може нарізати vCPU та віддавати його віртуальним машинам. Основне завдання – правильно розподілити час фізичних CPU між vCPU.
Щоб зібралася повна картина, зараз необхідно запровадити ще кілька термінів.
Почнемо з визначення ядер. Ядра це самостійні обчислювальні блоки в архітектурі процесорів. Основна проблема ядер у тому, що вони виконують команди послідовно. Якщо навантажити одне ядро декількома послідовностями завдань, воно перемикатиметься між ними по завершенню кожної, що негативно вплине на швидкість роботи системи.
Ще важливо знати про потоки обробки. Цим терміном називають виділену область усередині фізичного ядра процесора. Ресурси ядра поділяються потоками. Це дозволяє обробляти паралельно кілька послідовностей команд.
На рівні операційної системи кожен потік сприймається як окремий обчислювальний центр, тому така модель використання ресурсів ядра має більшу швидкість обчислень.
Сам факт такого поділу можливий, тому що навіть найінтенсивніші завдання не використовують 100% ЦП весь час.Тому vCPU іноді розглядають не як окремий процесор, а як частину часу, проведеного в ядрі процесора.
Скільки vCPU вибрати в залежності від проекту
Оцінити продуктивність vCPU можна з прикладу параметра CPU Usage. Він показує відсоток використання CPU за заданий період часу. Якщо ядра віртуальної машини стабільно навантажуються до 80% і вище, такі показники говорять про те, що вона близька або знаходиться на піку свого навантаження. У такому випадку можна порадити збільшити кількість vCPU або мігрувати ВМ на сервер з більш продуктивними процесорами. Другий шлях складніший, оскільки не кожен провайдер може надати відповідну конфігурацію.
Важливо розуміти, що ядра віртуальної машини не повинні навантажуватися до свого піку, завжди має бути запас (40-50%). В іншому випадку віртуальна машина може не впоратися з навантаженням, що надходить на неї, яка може раптово різко зрости.
Для розрахунку правильної кількості vCPU для проекту немає єдиної формули – це число зазвичай виявляється емпіричним шляхом. Для цього потрібно знати характер завдань програми.
Наприклад, у випадку з інтернет-магазином навантаження прямо пропорційне кількості активних користувачів: чим їх більше, тим вище навантаження. Навряд чи на старті одразу у нього виявиться 10000 користувачів, які забезпечать високе навантаження. Тому вкладатися наперед у ресурси неефективно. Масштабуватися слід поступово, залежно від фактичного навантаження на сайт чи додаток. Важливо, щоб з боку провайдера цей процес був побудований максимально комфортно: панель управління інтуїтивно зрозуміла, підтримка працює 24/7.
Можна підключити системи моніторингу для відстеження показників віртуальної машини, зокрема навантаження. Такий підхід допоможе оперативно реагувати на різко зростаюче навантаження і не дати «захлинутися» додатку від неї. У період маркетингових активностей і свят доглядати систему слід щільніше.
Варто звернути увагу на параметр CPU Steal Time. Він показує час, протягом якого віртуальна машина мала отримувати ресурси від хостової ОС, але щось пішло негаразд, і за підсумком вони були отримані. А значить, і обчислення ВМ також не були виконані. Нормою цього параметра вважаються значення трохи більше 5-10%.
Причин виникнення steal може бути кілька: одна з них – висока завантаженість віртуалізації хоста. Це може бути спровоковано системними завданнями хоста або великою кількістю інших віртуальних машин, які теж його навантажують. У такому разі збільшення кількості vCPU ніяк не допоможе у вирішенні цієї проблеми, від цього ВМ не стане продуктивнішим.
У більшості випадків це вирішується на стороні хмарного провайдера, наприклад, зміною значення параметра перепідписки (vCPU: pCPU) або зменшенням кількості віртуальних машин на цьому хості. Зазвичай, хмарні провайдери стежать за цим і намагаються не допускати перевищення допустимого порога значень.
Чи можна керувати кількістю та продуктивністю vCPU у віртуальній машині
На початковому етапі навіть базова конфігурація ВМ може бути надмірною, а платити за ресурси, що не використовуються, — сумнівне задоволення. У разі відмінно працює нарізка ядер на частки для робочих ВМ.
Частина налаштувань, пов'язаних із ресурсами ВМ, знаходиться на стороні провайдера, тому змінити їх можна лише за запитом.Втім, зазвичай, це не займає багато часу.
З хмарними серверами Shared Line ситуація набагато простіша. У цій лінійці можна вибрати будь-яку продуктивність ядра: 10%, 20% або 50% залежно від завдань та не платити за інше. Якщо інші ресурси ядра доступні, то продуктивність збільшується до 100% без будь-яких доплат. Цього цілком вистачає для підтримки dev-середовищ, хостингу простих сайтів, чат-ботів/Telegram-ботів або квізів.
Якщо частину сервера, що залишилася, ніхто в цей момент не використовує — продуктивність може доходити до 100%.
Головне, що слід враховувати під час розподілу vCPU — історію спостережень та фактор сезонності, а також маркетингові активності (наприклад, можна зарезервувати ресурси перед початком розпродажу).
Можливо, якісь місяці кількість користувачів різко збільшується, тому слід надати їм належний рівень сервісу і виділити достатньо ресурсів.
