Makale Başlıkları
Kısaca
Sunucu yükü (load average), belirli bir anda işlem yapmayı bekleyen veya işlem gören görevlerin ortalama sayısıdır. Linux bunu 1, 5 ve 15 dakikalık üç ortalama olarak gösterir. Bu sayının “yüksek” mi “düşük” mü olduğu tek başına anlamlı değildir; her zaman sunucunun çekirdek (CPU) sayısıyla birlikte yorumlanır.
- Kabaca kural: yük değeri çekirdek sayısına eşitse sunucu tam kapasite, altındaysa rahat, üstündeyse sıra birikmiş demektir.
- Yük yalnızca CPU’yu değil, disk ve ağ beklemesini (I/O wait) de kapsar — bu yüzden CPU boşken bile yük yüksek olabilir.
- Önemli olan anlık değer değil, eğilimdir: 1-5-15 dakika sayılarının yönü size sorunun büyüyüp büyümediğini söyler.
Sunucunuz yavaşladığında ilk bakılan yerlerden biri “load average” yani sunucu yüküdür. Ama bu üç sayıyı ilk kez görenler çoğu zaman şaşırır: “0.7” iyi mi kötü mü? “4.0” panik sebebi mi? Cevap, herkesin sandığından daha nüanslıdır ve tek bir sayıya bakarak verilemez. Bu yazıda sunucu yükünün gerçekte ne ölçtüğünü, üç sayının ne anlama geldiğini, neden çekirdek sayısı olmadan yorumlanamayacağını ve yük yükseldiğinde nereye bakmanız gerektiğini adım adım anlatıyoruz.
Sunucu yükü (load average) nedir?
Load average, sistemin belirli bir zaman aralığındaki ortalama iş kuyruğu uzunluğudur. Daha somut söylersek: o anda çalışan (running) artı çalışmak için sırada bekleyen (runnable) süreçlerin ortalama sayısıdır. Linux’ta bu değer, CPU’yu bekleyen görevlerin yanı sıra kesintisiz disk/ağ beklemesindeki görevleri de içerir.
Bir benzetme yardımcı olur: Bir markette tek kasa (tek çekirdek) düşünün. Kasada kimse yoksa yük 0’dır. Tam bir müşteri işlem görüyorsa ve kimse beklemiyorsa yük 1’dir — kasa tam kapasite ama kuyruk yok. Kasada bir müşteri varken arkada üç kişi daha bekliyorsa yük yaklaşık 4’tür; yani kapasitenin dört katı talep vardır. İşte load average, bu “kasadaki + kuyruktaki” ortalama kalabalığı ölçer.
Üç sayı ne anlama gelir?
uptime komutu size şuna benzer bir çıktı verir: load average: 0.52, 0.98, 1.34. Bu üç sayı sırasıyla son 1 dakika, son 5 dakika ve son 15 dakikalık ortalamalardır:
- 1 dakika: Anlık durum. Ani bir yük sıçramasını yakalar ama gürültülüdür.
- 5 dakika: Yakın geçmişin eğilimi. Sorunun sürüp sürmediğini gösterir.
- 15 dakika: Genel tablo. Kalıcı bir darboğazın olup olmadığını anlatır.
Asıl değeri bu üçünü birlikte okumak verir. 1 dakika değeri 15 dakikadan büyükse yük artıyor demektir; tersi ise sorunun geçmekte olduğunu gösterir. Yani tek bir fotoğrafa değil, üç kareli küçük bir filme bakarsınız.
Yük yüksek mi? Çekirdek sayısı belirler
En kritik kural budur: load average, çekirdek sayısıyla birlikte yorumlanır. 4 çekirdekli bir sunucuda 4.0 yük, her çekirdeğin tam kullanıldığı ama kuyruğun henüz oluşmadığı sağlıklı bir tam kapasite noktasıdır. Aynı 4.0 değeri tek çekirdekli bir sunucuda ise ciddi bir tıkanıklık, dört kat aşırı yük demektir.
Pratik bir yöntem, yükü çekirdek sayısına bölmektir. Sonuç:
- 1’in belirgin altında (ör. 0.5): Sunucu rahat, boş kapasite var.
- 1’e yakın: Tam kapasiteye yaklaşılıyor; izlemeye değer.
- 1’in üstünde: Talep kapasiteyi aşıyor, işler sıraya giriyor, gecikmeler başlıyor.
Çekirdek sayısını nproc komutuyla öğrenebilirsiniz. Yani “yük 8 çok mu?” sorusunun cevabı, önce “kaç çekirdeğin var?” sorusuyla verilir.
Yükü nasıl görürsünüz?
Load average değerine ulaşmanın birkaç kolay yolu vardır:
# Hızlı özet (çekirdek sayısını da öğrenin)
uptime
nproc
# Canlı izleme: yük + hangi süreçler yüklüyor
top # veya daha okunaklısı: htop
top ve htop yalnızca yükü göstermez; yükü kimin ürettiğini, yani en çok CPU ve bellek tüketen süreçleri de sıralar. Sorunu çözmenin ilk adımı, çoğu zaman bu listede tepede duran süreci tanımaktır.
Load average, CPU kullanımıyla aynı şey değildir
En yaygın yanılgı budur. CPU kullanımı işlemcinin ne kadarının meşgul olduğunu yüzdeyle söyler; load average ise kaç görevin işlem beklediğini söyler. Aradaki fark özellikle disk darboğazlarında ortaya çıkar.
Şöyle bir durum düşünün: Süreçler yavaş bir diskten veri okumayı bekliyor. Bu görevler “kesintisiz bekleme” (uninterruptible sleep) durumundadır ve load average’a dâhil edilir. Sonuçta CPU neredeyse boş görünürken yük 10’a tırmanabilir. Bu, “CPU’m boş ama sunucu neden bu kadar yavaş?” sorusunun klasik cevabıdır: sorun işlemcide değil, I/O beklemesindedir. Bu yüzden yükü yorumlarken sadece CPU’ya değil, disk ve ağ beklemesine de bakmak gerekir.
Yük yükseldiğinde ne yapmalı?
Kalıcı olarak yüksek yükle karşılaşınca sırayla şu adımlar iş görür:
- Kaynağı bulun:
top/htopile en çok tüketen süreci belirleyin. Genellikle tek bir süreç ya da tek bir sorunlu işlem öne çıkar. - CPU mu, I/O mu ayırın: Yük yüksek ama CPU boşsa, disk/veritabanı beklemesine odaklanın. Yük ve CPU birlikte yüksekse, hesaplama yükü baskındır.
- Yavaş sorguları avlayın: Web sunucularında yükün baş sebebi çoğu zaman optimize edilmemiş veritabanı sorguları veya eksik dizinlerdir (index).
- Önbelleklemeyi devreye alın: Sayfa önbelleği ve OPcache, aynı işi tekrar tekrar yaptırmayı önleyerek yükü belirgin biçimde düşürür.
- Gerekirse ölçeklendirin: Talep gerçekten kapasiteyi aşıyorsa, kaynak artırımı (daha fazla çekirdek/RAM) veya daha güçlü bir pakete geçiş doğru çözümdür.
Alastyr’da sunucu yükü yönetimi
Alastyr altyapısında sunucu yükü sürekli izlenir; anormal yük eğilimleri, kullanıcı fark etmeden önce ekip tarafından görülür. Paylaşımlı hosting tarafında CloudLinux’un LVE (Lightweight Virtual Environment) teknolojisi, her hesabın kaynaklarını ayırarak tek bir sitenin aşırı yükünün komşu siteleri etkilemesini engeller; böylece “komşu etkisi” en aza iner. OPcache ve LiteSpeed önbellekleme katmanları, PHP ve sayfa üretim yükünü baştan düşürecek şekilde yapılandırılmıştır. Tüm bu izleme ve kaynak yönetimi altyapısı, Alastyr Veri Merkezi’ndeki modern sunucular üzerinde çalışır; ihtiyaç büyüdüğünde ise kaynaklarınızı ölçeklendirmek hızlı ve sorunsuzdur.
Sıkça Sorulan Sorular
Load average kaç olmalı?
Tek bir “ideal” değer yoktur; yük her zaman çekirdek sayısına göre yorumlanır. Kaba kural olarak yükün çekirdek sayısına bölümü 1’in altındaysa sunucu rahat, 1 civarındaysa tam kapasite, 1’in belirgin üstündeyse aşırı yüklü demektir.
Yük 1.0 kötü mü?
Tek çekirdekli bir sunucuda 1.0 tam kapasite anlamına gelir ve genelde sorun değildir. Dört çekirdekli bir sunucuda ise 1.0 oldukça rahat bir durumdur. Yani cevap, sunucunuzun çekirdek sayısına bağlıdır.
Load average ile CPU kullanımı aynı şey mi?
Hayır. CPU kullanımı işlemcinin ne kadar meşgul olduğunu, load average ise kaç görevin işlem beklediğini gösterir. Disk beklemesi (I/O wait) nedeniyle CPU boşken bile yük yüksek olabilir.
CPU’m boş ama yük yüksek, neden?
Büyük olasılıkla süreçler yavaş bir diskten ya da ağdan veri gelmesini bekliyordur. Bu bekleme load average’a dâhildir; bu yüzden CPU boşken bile yük tırmanabilir. Bu durumda disk ve veritabanı performansına bakmak gerekir.
Üç sayıdan hangisine bakmalıyım?
Üçünü birlikte okumak en doğrusudur. 1 dakikalık değer 15 dakikalıktan yüksekse yük artıyor, düşükse azalıyor demektir. Kalıcı bir sorun için 5 ve 15 dakikalık değerler daha güvenilir bir tablo verir.
Yüksek yükü nasıl düşürürüm?
Önce yükü üreten süreci bulun, ardından yavaş veritabanı sorgularını optimize edin ve önbellekleme (OPcache, sayfa önbelleği) kullanın. Talep gerçekten kapasiteyi aşıyorsa kaynak artırımı veya daha güçlü bir pakete geçiş gerekir.
Load average’ı nereden görebilirim?
uptime, top veya htop komutları load average değerini gösterir. Kontrol panellerinin çoğu da sunucu yükünü grafiklerle sunar. Çekirdek sayısını ise nproc ile öğrenebilirsiniz.
Paylaşımlı hostingde yükle uğraşmam gerekir mi?
Genellikle hayır. Paylaşımlı hostingde sunucu yükünü sağlayıcı yönetir ve CloudLinux LVE gibi teknolojilerle hesaplar birbirinden izole edilir. Sizin odaklanmanız gereken, kendi sitenizin verimli ve önbelleklenmiş çalışmasıdır.





