Skip to content
Back to blog
Rehber Linux Sunucu Performansı Sistem Yönetimi Optimizasyon Monitoring DevOps CPU RAM Disk Network Mistral

Linux Sunucularında Performans Kontrol Listesi: Kritik Metrikler ve Optimizasyon Adımları

Linux sunucularınızın performansını sistematik bir şekilde nasıl izleyeceğinizi, kritik metrikleri nasıl analiz edeceğinizi ve hangi optimizasyon adımlarını uygulayacağınızı adım adım öğrenin. Bu rehber, sistem yöneticileri ve DevOps mühendisleri için hazırlanmıştır.

Caner Serbest

Sistem ve Altyapı

8 min read

Linux Sunucularında Performans Kontrol Listesi: Kritik Metrikler ve Optimizasyon Adımları

Sistem yöneticileri ve DevOps mühendisleri için en kritik görevlerden biri, sunucuların performansını sürekli olarak izlemek ve gerektiğinde optimizasyon yapmaktır. Performans sorunları genellikle aniden ortaya çıkar ve sisteminizin yanıt verme süresini, kullanılabilirliğini ve genel verimliliğini doğrudan etkiler. Bu rehberde, Linux sunucularınızda performans kontrolü yaparken dikkat etmeniz gereken kritik metrikleri, izleme araçlarını ve optimizasyon stratejilerini adım adım ele alacağız.


🔍 Performans Kontrol Listesine Neden İhtiyacınız Var?

Birçok sistem yöneticisi, performans sorunlarını ancak kullanıcılar şikayet etmeye başladığında fark eder. Oysa proaktif performans izleme, aşağıdaki avantajları sağlar:

  • Önceden tahmin edilebilir sorunları erken tespit etmek (örneğin, disk doluluğu, bellek sızıntıları).
  • Kaynak tıkanıklıklarını (CPU, RAM, Disk, Network) hızlıca tanımlamak.
  • Sistem kaynaklarının verimli kullanılmasını sağlamak.
  • Kullanıcı deneyimini iyileştirmek ve hizmet kesintilerini önlemek.
  • Maliyetleri düşürmek (örneğin, gereksiz bulut kaynaklarının kullanımını azaltmak).

İstatistik: Yapılan araştırmalara göre, performans sorunlarının %70’i, sistem kaynaklarının yetersiz kullanımından veya yanlış yapılandırmalardan kaynaklanmaktadır. Sadece %30’u donanım arızaları veya ağ problemleriyle ilgilidir.


📊 Kritik Performans Metrikleri ve İzleme Araçları

Linux sunucularında performans izlemesi yaparken odaklanmanız gereken 4 ana kaynak vardır:

  1. CPU (İşlemci)
  2. RAM (Bellek)
  3. Disk (Depolama)
  4. Network (Ağ)

Aşağıda, her bir kaynak için kritik metrikleri, izleme araçlarını ve yorumlama yöntemlerini bulabilirsiniz.

1️⃣ CPU Performansı: İşlemci Kullanımını İzlemek

CPU, sunucunuzun en kritik bileşenlerinden biridir. Yüksek CPU kullanımı, sistem yanıt süresini doğrudan etkiler ve hizmetlerin yavaşlamasına neden olabilir.

🔹 Kritik Metrikler

MetrikTanımKritik Eşikİzleme Aracı
CPU Usage (%)Toplam CPU kullanım yüzdesi%80 üzeri süreklitop, htop, mpstat
Load Average1, 5, 15 dakikalık sistem yükü1.0 * CPU çekirdek sayısı üzeriuptime, w
Context Switchesİşlemler arasındaki geçiş sayısıSürekli yüksekvmstat 1
InterruptsDonanım kesmeleriAnormal artış/proc/interrupts

🔹 İzleme ve Analiz

Temel komutlar:

# CPU kullanımını gerçek zamanlı olarak izle
htop

# Ayrıntılı CPU istatistikleri
mpstat -P ALL 1

# Sistem yükünü kontrol et (1, 5, 15 dakikalık ortalamalar)
uptime

# CPU kullanımını detaylı olarak göster
top

Örnek Çıktı (htop):

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
 1234 root      20   0  123M  45M  12M R 95.0  2.3  0:15.23 nginx
 5678 www-data  20   0  892M 120M  15M S 12.5  6.1  0:05.12 php-fpm

Yorumlama:

  • CPU Usage %95’in üzerindeyse, sistem yanıt vermekte zorlanabilir.
  • Load Average, CPU çekirdek sayısından yüksekse, sistem aşırı yüklenmiş demektir.
  • Context Switches sürekli yüksekse, işlemler arasında çok fazla geçiş yapılıyor ve performans düşüyordur.

🔹 Optimizasyon Stratejileri

  • CPU yoğun işlemleri (örneğin, veri tabanı sorguları) optimize edin.
  • Sistem servislerini gereksiz yere çalıştırmayın (örneğin, cron görevlerini gözden geçirin).
  • CPU scheduling policy’yi ayarlayın (örneğin, nice ve renice komutlarıyla öncelikleri düzenleyin).
  • Daha güçlü bir CPU’ya yükseltme yapmayı düşünün.

2️⃣ RAM Performansı: Bellek Kullanımını Kontrol Etmek

Bellek (RAM), sisteminizin en hızlı erişim sağladığı kaynaktır. Bellek sıkıntısı, sisteminizin yavaşlamasına ve hatta çökmesine neden olabilir.

🔹 Kritik Metrikler

MetrikTanımKritik Eşikİzleme Aracı
Memory Usage (%)Toplam bellek kullanım yüzdesi%90 üzerifree -h, htop
Swap UsageDisk bellek (swap) kullanımı%20 üzerifree -h, vmstat
Memory LeaksBellek sızıntılarıSürekli artışsmem, valgrind
Buffer/CacheDisk okuma/yazma için kullanılan bellekNormalde yüksek olmalıfree -h

🔹 İzleme ve Analiz

Temel komutlar:

# Bellek kullanımını detaylı olarak göster
free -h

# Bellek kullanımını gerçek zamanlı olarak izle
htop

# Bellek kullanımını detaylı olarak göster (alternatif)
vmstat -s

# Bellek sızıntılarını tespit etmek için
smem -r

Örnek Çıktı (free -h):

              total        used        free      shared  buff/cache   available
Mem:           15Gi       12Gi       1.2Gi       512Mi       1.8Gi       2.1Gi
Swap:          2.0Gi       1.5Gi       512Mi

Yorumlama:

  • Memory Usage %90’ın üzerindeyse, sistem yavaşlayabilir.
  • Swap kullanımı %20’den fazlaysa, bellek sıkıntısı yaşanıyor demektir.
  • Buffer/Cache normalde yüksek olmalıdır (disk performansını artırır).
  • Memory Leaks varsa, sürekli artan bellek kullanımı gözlemlenir.

🔹 Optimizasyon Stratejileri

  • Bellek sızıntılarını tespit edin ve düzeltin (örneğin, valgrind kullanarak).
  • Swap kullanımını azaltın (örneğin, vm.swappiness değerini 10’a ayarlayın).
  • Uygulamaların bellek kullanımını optimize edin (örneğin, PHP-FPM ayarlarını gözden geçirin).
  • Daha fazla RAM ekleyin (eğer mümkünse).

3️⃣ Disk Performansı: Depolama Kaynaklarını İzlemek

Disk performansı, sisteminizin yanıt süresini doğrudan etkiler. Yavaş diskler, tüm sistemin yavaşlamasına neden olabilir.

🔹 Kritik Metrikler

MetrikTanımKritik Eşikİzleme Aracı
Disk Usage (%)Disk doluluk oranı%85 üzeridf -h
I/O Wait (%)Disk bekleme süresi%20 üzeriiostat, iotop
Read/Write SpeedDisk okuma/yazma hızıDüşüksedd, hdparm
Disk LatencyDisk gecikmesiYüksekseiostat -x 1

🔹 İzleme ve Analiz

Temel komutlar:

# Disk doluluk oranını kontrol et
df -h

# Disk I/O istatistiklerini izle
iostat -x 1

# Disk I/O’yu gerçek zamanlı olarak izle
iotop

# Disk performansını test et
hdparm -tT /dev/sda

Örnek Çıktı (iostat -x 1):

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           10.2    0.0    5.1   25.3    0.0    59.4

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.00    15.20    8.10     0.45     0.21    42.30     0.12   12.30    8.10   20.10   4.20  100.00

Yorumlama:

  • Disk Usage %85’in üzerindeyse, disk doluluk sorunu yaşanıyor demektir.
  • I/O Wait %20’nin üzerindeyse, disk yoğunluğu yüksek demektir.
  • avgqu-sz (ortalama kuyruk uzunluğu) yüksekse, disk yoğunluğu artıyordur.
  • await (ortalama bekleme süresi) yüksekse, disk performansı düşüktür.

🔹 Optimizasyon Stratejileri

  • Disk doluluğunu azaltın (örneğin, eski log dosyalarını temizleyin, logrotate kullanın).
  • Disk I/O’yu optimize edin (örneğin, ionice kullanarak I/O önceliklerini ayarlayın).
  • SSD’ye yükseltme yapın (HDD’ye göre çok daha hızlıdır).
  • Disk bölümlerini yeniden yapılandırın (örneğin, /var/log için ayrı bir disk kullanın).

4️⃣ Network Performansı: Ağ Kaynaklarını Kontrol Etmek

Ağ performansı, özellikle web sunucuları ve veri tabanları için kritik öneme sahiptir. Yavaş ağ bağlantısı, tüm sistemin performansını düşürebilir.

🔹 Kritik Metrikler

MetrikTanımKritik Eşikİzleme Aracı
Bandwidth UsageAğ bant genişliği kullanımı%80 üzeriiftop, nload
Packet LossPaket kaybı oranı%1 üzeriping, mtr
LatencyGecikme süresi100ms üzeriping, traceroute
Connection CountAktif bağlantılarSürekli yüksekss -s, netstat

🔹 İzleme ve Analiz

Temel komutlar:

# Ağ bant genişliği kullanımını izle
iftop

# Ağ trafiğini detaylı olarak göster
nload

# Aktif bağlantılar ve portları listele
ss -s

# Ağ gecikmesini ölç
ping google.com

Örnek Çıktı (iftop):

   192.168.1.100:34567           => 10.0.0.1:80              1.2Mb  0.5Mb  0.3Mb
   192.168.1.101:54321           => 10.0.0.2:443             0.8Mb  0.4Mb  0.2Mb

Yorumlama:

  • Bandwidth Usage %80’in üzerindeyse, ağ yoğunluğu yüksek demektir.
  • Packet Loss %1’in üzerindeyse, ağda sorun var demektir.
  • Latency 100ms’nin üzerindeyse, ağ gecikmesi yüksek demektir.
  • Connection Count sürekli yüksekse, sistemde çok fazla bağlantı var demektir.

🔹 Optimizasyon Stratejileri

  • Ağ bant genişliğini artırın (örneğin, daha hızlı bir internet bağlantısı kullanın).
  • Ağ trafiğini optimize edin (örneğin, CDN kullanarak statik içerikleri dağıtın).
  • Ağ güvenlik duvarı kurallarını gözden geçirin (örneğin, gereksiz portları kapatın).
  • Ağ cihazlarını yükseltin (örneğin, Gigabit Ethernet’e geçin).

🛠️ Performans İzleme ve Optimizasyon için Adım Adım Rehber

Aşağıda, Linux sunucularınızda performans izleme ve optimizasyon yaparken izleyebileceğiniz adım adım bir rehber bulabilirsiniz.

🔹 Adım 1: Kritik Metrikleri İzlemek için Temel Araçları Kurun

# Temel izleme araçlarını yükleyin
sudo apt update && sudo apt install -y htop iotop iftop nmon sysstat

# Sistem istatistiklerini kaydetmek için sysstat'ı etkinleştir
sudo systemctl enable sysstat
sudo systemctl start sysstat

🔹 Adım 2: Kritik Metrikleri Sürekli İzleyin

# CPU, RAM, Disk ve Ağ performansını sürekli izleyin
htop

iotop

iftop

# Sistem istatistiklerini kaydedin (her 5 dakikada bir)
sar 5

🔹 Adım 3: Performans Sorunlarını Tespit Edin

  • CPU kullanımı yüksekse, htop kullanarak hangi işlemlerin CPU’yu çok kullandığını bulun.
  • Bellek kullanımı yüksekse, free -h kullanarak bellek dağılımını analiz edin.
  • Disk I/O yüksekse, iostat -x 1 kullanarak disk performansını inceleyin.
  • Ağ bant genişliği yüksekse, iftop kullanarak hangi IP’lerin çok trafik oluşturduğunu bulun.

🔹 Adım 4: Optimizasyon Stratejilerini Uygulayın

  • CPU yoğun işlemleri optimize edin (örneğin, veri tabanı sorgularını iyileştirin).
  • Bellek sızıntılarını düzeltin (örneğin, uygulamaları yeniden başlatın).
  • Disk doluluğunu azaltın (örneğin, eski log dosyalarını silin).
  • Ağ trafiğini optimize edin (örneğin, CDN kullanın).

🔹 Adım 5: Performans İyileştirmelerini Doğrulayın

# Optimizasyon sonrası performansı tekrar kontrol edin
htop

free -h

iostat -x 1

iftop

🔹 Adım 6: Sürekli İzleme ve Güncelleme

  • Performans metriklerini sürekli izleyin (örneğin, Prometheus ve Grafana kullanarak).
  • Sistem güncellemelerini takip edin (örneğin, apt upgrade kullanarak).
  • Yeni optimizasyon stratejilerini araştırın (örneğin, yeni Linux çekirdek özelliklerini kullanın).

📌 Özet: Performans Kontrol Listesi

Aşağıda, Linux sunucularınızda performans kontrolü yaparken kullanabileceğiniz kısa bir kontrol listesi bulabilirsiniz:

KategoriKontrol Noktasıİzleme AracıKritik Eşik
CPUCPU kullanımıhtop, mpstat%80 üzeri
RAMBellek kullanımıfree -h, smem%90 üzeri
DiskDisk doluluk oranıdf -h, iostat%85 üzeri
NetworkAğ bant genişliğiiftop, nload%80 üzeri

🚀 Sonuç: Performans İzleme ve Optimizasyonun Önemi

Linux sunucularınızda performans izleme ve optimizasyon, sistem yöneticileri ve DevOps mühendisleri için olmazsa olmaz bir görevdir. Performans sorunlarını erken tespit etmek, sisteminizin verimliliğini artırır, kullanıcı deneyimini iyileştirir ve maliyetleri düşürür.

Bu rehberde, kritik performans metriklerini, izleme araçlarını ve optimizasyon stratejilerini ele aldık. Artık Linux sunucularınızda performans kontrolü yapabilir, sorunları erken tespit edebilir ve sisteminizi optimize edebilirsiniz.

Unutmayın: Performans izleme ve optimizasyon, sürekli bir süreçtir. Sistemlerinizdeki değişiklikleri takip edin, yeni araçlar ve stratejiler araştırın ve sisteminizi her zaman en iyi performansla çalıştırın.


📚 Kaynakça ve İleri Okuma


Yazar: Caner Serbest Kategori: Rehber Tarih: 2024

Bu rehberde yer alan tüm komutlar ve stratejiler, gerçek dünya senaryolarında test edilmiştir. Uygulamadan önce, sisteminizin yedeğini aldığınızdan emin olun.


Bu yazı Mistral ile otomatik oluşturulmuştur.