Skip to content
VDS · Вирішення проблем

Сервер гальмує: з чого почати

П'ятихвилинна процедура діагностики: CPU, пам'ять, диск, мережа — як кількома командами визначити, що саме є вузьким місцем, і що робити далі.

Оновлено 23 серпня 2026 р.

«Усе гальмує» — це не діагноз. Є лише чотири вузькі місця: CPU, пам'ять, диск і мережа. Нижче — порядок перевірок, який за п'ять хвилин вкаже на одне з них.

Крок 1: загальна картина

uptime
free -h
df -h

Три команди одразу відкидають половину варіантів. Якщо середнє навантаження помітно вище за кількість ядер на вашому тарифі, є черга — дивіться Load average. available близько до нуля означає пам'ять. Якщо розділ заповнений на 100%, далі шукати нічого — читайте Out of space.

Крок 2: що саме є вузьким місцем

vmstat 2 5

Дивіться на усереднені стовпці, усі, крім першого рядка:

  • високі us і sy, великий r — впирається в CPU;
  • високий wa, великий b — впирається в диск;
  • ненульові si і so — відбувається свопінг, а отже, бракує пам'яті;
  • високий st — час, який забирає гіпервізор, це зовнішня причина, звертайтеся до підтримки.

Крок 3: знайдіть винуватця

ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10
iotop -boPan 3 | head -20        # apt install iotop
ss -tn state established | wc -l

Живу картину легше читати в htop або btop. Стежте за процесами в стані D — вони чекають на диск і розганяють навантаження.

Якщо винуватець — ваш застосунок, наступне питання вже про нього: повільні запити до бази даних, відсутній індекс, забагато воркерів, нескінченний цикл після деплою. Зіставте момент початку гальмування з логом:

journalctl --since "1 hour ago" -p warning

Крок 4: перевірте історію

Відкрийте «Overview» у панелі /hosting/vds/m/<id> і подивіться на графіки за останню добу та тиждень. Три типові картини:

  • стрибок угору в конкретний момент — щось змінилося: деплой, оновлення, нове завдання cron;
  • регулярний пік за розкладом — фонове завдання; перенесіть його на ніч або обмежте через nice та ionice;
  • плато без змін тижнями — ви просто переросли свій тариф.

Що робити зі знахідкою

Вузьке місцеШвидка діяДовгострокове рішення
CPUзнайти й зупинити зайвий процестариф із більшою кількістю ядер
Пам'ятьобмежити воркери й буфери бази даних, додати swapтариф із більшим обсягом пам'яті
Дискобмежити бекапи через ionice, підрізати логивищий тариф: плато зростає разом із кількістю ядер
Мережаобмежити фонові завантаження через --bwlimitдослідити джерело трафіку

Плато диска розраховується так: 60 MB/s запису на ядро, не нижче за 60 і не вище за 400, читання — удвічі більше. Якщо ви стабільно на плато, швидшим диск без переходу на вищий тариф не стане — дивіться Benchmark.

Типові помилки

  • Одразу перезавантажити машину. Перезавантаження стирає картину, і за годину все повториться. Спершу зберіть цифри.
  • Довіряти одному кадру. Сплеск у момент запуску htop нічого не означає — дивіться хвилину.
  • Вважати заповнену пам'ять проблемою. Дивіться на available і swap, а не на free.
  • Змінювати тариф, не розібравшись. Витік пам'яті або зациклений скрипт переїде на новий тариф разом із вами. Повернення на нижчий тариф не підтримується.

Якщо CPU, пам'ять і диск спокійні, а застосунок гальмує, вузьке місце поза машиною: повільний зовнішній API, DNS або мережа клієнта. Перевірте curl -w '%{time_total}\n' -o /dev/null -s за потрібною вам адресою.