"Sunucu yavaş" ifadesi tek başına bir teşhis değildir. Yavaşlığın kaynağı CPU, bellek, disk veya ağdan biridir; hangisi olduğunu birkaç komutla bulabilirsiniz.
Load average'ı doğru okumak
uptime
# 14:32:10 up 42 days, load average: 1.24, 0.98, 0.71
Üç değer sırasıyla son 1, 5 ve 15 dakikanın ortalamasıdır. Çekirdek sayınıza bölerek yorumlayın:
- 4 çekirdekli sunucuda load 4,0 → %100 kullanım
- 4 çekirdekli sunucuda load 8,0 → işler kuyrukta bekliyor, gerçek darboğaz var
- 4 çekirdekli sunucuda load 1,5 → rahat
Çekirdek sayısını nproc ile öğrenirsiniz. 15 dakikalık değerin sürekli yüksek olması, anlık bir sıçramadan çok daha önemlidir.
CPU: hangi süreç yiyor?
top -o %CPU
ps aux --sort=-%cpu | head -n 10
top ekranındaki wa (I/O wait) değerine dikkat edin. Yüksekse sorun CPU'da değil, diskte demektir.
Bellek: "free" düşük görünmesi normaldir
free -h
Linux boştaki belleği disk önbelleği olarak kullanır; bu iyi bir şeydir. Bakmanız gereken sütun available'dır. Asıl alarm işareti swap kullanımıdır:
vmstat 1 5
si ve so sütunları sürekli sıfırdan büyükse sunucu belleği yetmiyor ve diske takas yapıyor demektir — performans çöker. Çözüm: bellek artırmak ya da bellek tüketen süreci (çoğu zaman MySQL veya PHP-FPM ayarları) düzeltmek.
Disk: yer ve I/O
df -h # doluluk
du -sh /var/* | sort -h # nerede birikti
iostat -x 1 5 # I/O gecikmesi
iostat çıktısındaki %util değeri sürekli %90'ın üzerindeyse disk darboğazdasınız. NVMe diskler bu tabloyu büyük ölçüde değiştirir; klasik SATA SSD'ye göre çok daha yüksek IOPS sunar.
Dolan disk, sunucu arızalarının en sık nedenidir. Doluluk %80'i geçtiğinde uyarı alacak şekilde izleme kurun; %100'de veritabanı yazamaz ve servisler durur.
Ağ
ss -s # bağlantı özeti
ss -tn state established | wc -l
Beklenmedik sayıda açık bağlantı, bot trafiği veya saldırı işareti olabilir.
Web sunucusu ve PHP tarafı
- Apache/LiteSpeed: Eş zamanlı işlem sayısı sınırına dayanmak "site açılmıyor" olarak görünür.
- PHP-FPM:
pm.max_childrendüşükse istekler kuyrukta bekler; hata günlüğünde "server reached max_children" satırını arayın. - MySQL: Yavaş sorgu günlüğünü açın; tek bir indekssiz sorgu tüm sunucuyu yavaşlatabilir.
SHOW FULL PROCESSLIST;
Uzun süre çalışan sorguları burada görürsünüz.
Hangi eşikte müdahale etmeli?
| Metrik | Uyarı | Kritik |
|---|---|---|
| Load (çekirdek başına) | 0,7 | 1,0+ |
| Bellek (available) | %20 altı | %10 altı / swap aktif |
| Disk doluluk | %80 | %90 |
| Disk %util | %70 | %90 |
| I/O wait | %10 | %25 |
Sürekli izleme kurun
Elle bakmak sorunu ancak siz fark ettiğinizde gösterir. Netdata, Zabbix veya basit bir cron + uyarı betiği ile eşikleri izleyin; disk ve bellek uyarılarını e-posta olarak alın.
Paylaşımlı hosting kullanıyorsanız bu metriklerin cPanel karşılığı Kaynak Kullanımı ekranıdır: son 24 saatte hangi limite kaç kez takıldığınızı gösterir. Sürekli limite dayanıyorsanız VDS'e geçiş zamanı gelmiş olabilir.
Altyapımızdaki izleme ve müdahale süreçleri hakkında ayrıntı için altyapı sayfamıza göz atabilirsiniz.
