Skip to content
VDS · Sorun giderme

Sunucu yavaş: nereden başlamalı

Beş dakikalık teşhis prosedürü: CPU, bellek, disk, ağ — birkaç komutla tam olarak neyin darboğaz olduğunu nasıl belirlersin ve sonra ne yaparsın.

23 Ağustos 2026 tarihinde güncellendi

“Her şey yavaş” bir teşhis değil. Sadece dört darboğaz var: CPU, bellek, disk ve ağ. Aşağıda beş dakikada bunlardan birini işaret eden bir kontrol sırası var.

Adım 1: büyük resim

uptime
free -h
df -h

Üç komut seçeneklerin yarısını anında eler. Ortalama yük, rütbendeki çekirdek sayısından belirgin şekilde yüksekse bir kuyruk var demektir — bkz. Ortalama yük. available sıfıra yakınsa bellek demektir. Bölüm %100 doluysa daha uzağa bakma — Yer kalmadı yazısını oku.

Adım 2: tam olarak darboğaz ne

vmstat 2 5

İlk satır hariç ortalanmış sütunlara bak:

  • yüksek us ve sy, büyük r — CPU'ya bağlı;
  • yüksek wa, büyük b — diske bağlı;
  • sıfır olmayan si ve so — takas yapılıyor, yani bellek tükeniyor;
  • yüksek st — hipervizörün harcadığı zaman, bu dış bir nedendir, desteğe başvur.

Adım 3: suçluyu bul

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

Canlı görüntüyü htop veya btop ile okumak daha kolay. D durumundaki süreçlere dikkat et — disk bekliyorlar ve yükü yükseltiyorlar.

Suçlu senin uygulaman ise sıradaki soru onunla ilgili: yavaş veritabanı sorguları, eksik bir indeks, çok fazla worker, bir dağıtımdan sonra sonsuz döngü. Yavaşlamanın başladığı anı logla ilişkilendir:

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

Adım 4: geçmişi kontrol et

Panelde /hosting/vds/m/<id> adresindeki “Overview” bölümünü aç ve son gün ile haftanın grafiklerine bak. Üç tipik desen:

  • belirli bir anda bir sıçrama — bir şey değişti: bir dağıtım, bir güncelleme, yeni bir cron görevi;
  • programa göre düzenli bir tepe — bir arka plan görevi; onu geceye taşı ya da nice ve ionice ile sınırla;
  • haftalarca düz bir plato — rütbeni aşmışsın demektir.

Bulguyla ne yapmalı

DarboğazHızlı eylemUzun vadeli çözüm
CPUfazladan süreci bul ve durdurdaha fazla çekirdekli bir rütbe
Bellekworker'ları ve veritabanı tamponlarını sınırla, takas ekledaha fazla bellekli bir rütbe
Diskyedekleri ionice ile sınırla, logları kırpdaha yüksek bir rütbe: plato çekirdek sayısıyla büyür
Ağarka plan indirmelerini --bwlimit ile sınırlatrafik kaynağını araştır

Disk platosu şöyle hesaplanır: çekirdek başına 60 MB/s yazma, 60'tan düşük ve 400'den yüksek olmamak kaydıyla, okumalar bunun iki katı. Sürekli platoda kalıyorsan disk, yukarı çıkmadan hızlanmaz — bkz. Benchmark.

Sık yapılan hatalar

  • Makineyi hemen yeniden başlatmak. Yeniden başlatma görüntüyü siler ve bir saat sonra her şey tekrarlanır. Önce sayıları topla.
  • Tek bir kareye güvenmek. htop'u başlattığın andaki bir sıçrama hiçbir şey ifade etmez — bir dakika izle.
  • Dolu belleği sorun sanmak. free değil, available ve takasa bak.
  • Anlamadan rütbeni değiştirmek. Bir bellek sızıntısı ya da döngüye giren bir betik seninle birlikte yeni rütbeye taşınır. Geri düşürmek desteklenmez.

CPU, bellek ve disk sakinsa ama uygulama yavaşsa darboğaz makinenin dışındadır: yavaş bir harici API, DNS ya da istemcinin ağı. İhtiyacın olan adrese curl -w '%{time_total}\n' -o /dev/null -s ile kontrol et.