Sobes.tech
Middle+

Sunucu yüksek yük altındayken sorun giderme prosedürünü nasıl gerçekleştirirsiniz? Hangi göstergeleri analiz edeceksiniz ve hangi araçları kullanacaksınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yüksek yükün nedenlerini belirlemek için sistem metriklerini analiz ederek başlayacağım.

Analiz için temel göstergeler:

  • load average: bekleyen işlem sayısının ortalaması. Yüksek değer, CPU aşırı yükü veya giriş/çıkış beklemesini gösterir.
  • CPU utilization: CPU kullanım yüzdesi. Kullanıcı işlemleri, sistem çağrıları veya boşta olan CPU oranını anlamaya olanak tanır.
  • Memory utilization: RAM kullanımı. Yüksek tüketim aktif takaslamaya yol açabilir, bu da performansı ciddi şekilde düşürür.
  • Disk I/O: Disk okuma/yazma işlemlerinin yoğunluğu. Yüksek aktivite darboğaz olabilir.
  • Network activity: Giden ve gelen trafik, ağ bağlantısı sayısı. Ağ sorunları veya DoS saldırıları yüksek yüklenmeye neden olabilir.
  • Process list: Çalışan süreçlerin listesi, kaynak kullanımı ve durumu. Yükü oluşturan belirli süreçleri tanımlamaya yardımcı olur.

Tanılama araçları:

  • top / htop: Sistem kaynaklarının ve süreçlerin gerçek zamanlı etkileşimli izlenmesi. CPU, bellek kullanımı gibi süreçleri sıralamaya olanak tanır.

    # top -c // tam komut satırını gösterir
    
  • vmstat: Sanal bellek, süreçler, CPU ve giriş/çıkış aktivitesi raporu.

    # vmstat 1 // her saniye çıktı
    
  • iostat: Disk aygıtlarının aktivitesi ve performansını izleme.

    # iostat -xz 1 // genişletilmiş çıktı, her saniye
    
  • netstat / ss: Ağ bağlantıları, yönlendirmeler ve arayüz istatistikleri.

    # netstat -tunapl // TCP/UDP bağlantıları, dinleme soketleri, portlar, PID
    # ss -tunapl
    
  • sar: Sistem aktivitesinin toplanması, raporlanması ve analizi. Geçmiş performans analizi için kullanılır.

    # sar -u 5 5 // CPU, her 5 saniyede bir, 5 kez
    # sar -d 5 5 // Disk, her 5 saniyede bir, 5 kez
    # sar -n DEV 5 5 // Ağ, her 5 saniyede bir, 5 kez
    
  • iftop / nethogs: Ağ trafiğinin etkileşimli izlenmesi.

    # iftop -i eth0 // eth0 arayüzü
    # nethogs eth0 // eth0 üzerindeki süreçlerin trafiği
    
  • dstat: vmstat, iostat, netstat özelliklerini birleştiren evrensel araç.

    # dstat -c -m -d -n // CPU, bellek, disk, ağ
    
  • strace / lsof: Belirli bir süreç için sistem çağrılarını izleme ve açık dosyaların listesini alma.

    # strace -p <PID> // PID ile süreç izleme
    # lsof -p <PID> // süreç açık dosyaları
    

Yöntem yinelemeli olacak: metriklere göre darboğazı tespit ediyorum, detaylandırmak için uygun aracı kullanıyorum, kök nedeni analiz ediyorum (örneğin, belirli bir süreç), ve düzeltici adımlar atıyorum (örneğin, uygulamayı yeniden başlatmak veya optimize etmek, kaynakları artırmak). Ayrıca uygulama ve sistem günlüklerini (journalctl, /var/log/*) kontrol etmek de önemlidir.