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
usvesy, büyükr— CPU'ya bağlı; - yüksek
wa, büyükb— diske bağlı; - sıfır olmayan
siveso— 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
niceveioniceile sınırla; - haftalarca düz bir plato — rütbeni aşmışsın demektir.
Bulguyla ne yapmalı
| Darboğaz | Hızlı eylem | Uzun vadeli çözüm |
|---|---|---|
| CPU | fazladan süreci bul ve durdur | daha fazla çekirdekli bir rütbe |
| Bellek | worker'ları ve veritabanı tamponlarını sınırla, takas ekle | daha fazla bellekli bir rütbe |
| Disk | yedekleri ionice ile sınırla, logları kırp | daha yüksek bir rütbe: plato çekirdek sayısıyla büyür |
| Ağ | arka plan indirmelerini --bwlimit ile sınırla | trafik 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.
freedeğil,availableve 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 -sile kontrol et.