Linux sunucu performansını optimize etmek, CPU, RAM, disk ve ağ kaynaklarını en verimli şekilde kullanmayı gerektirir. Sunucu kaynaklarının doğru yönetilmemesi, sistemin yavaş çalışmasına, servis kesintilerine ve aşırı kaynak tüketimine neden olabilir.
1. CPU Kullanımını İzleme ve Optimize Etme
Linux’ta CPU kullanımı, sunucunun genel performansını doğrudan etkileyen en önemli faktörlerden biridir. Yüksek CPU kullanımı, işlemlerin yavaşlamasına neden olabilir.
1.1. CPU Kullanımını İzleme
CPU kullanımını kontrol etmek için aşağıdaki komutları kullanabilirsiniz:
🔹 top: Çalışan süreçleri ve CPU kullanımını canlı izlemek için:
top
🔹 htop: Daha detaylı ve renkli bir arayüz için (yüklemek gerekiyorsa):
sudo apt install htop -y
htop
🔹 mpstat: Her bir CPU çekirdeğinin kullanımını görmek için:
mpstat -P ALL 1
1.2. Yüksek CPU Kullanan Süreçleri Tespit Etme
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -10
Bu komut, en fazla CPU tüketen ilk 10 süreci listeler.
1.3. Gereksiz Yüksek CPU Kullanan Servisleri Sınırlandırma
cpulimit aracıyla belirli bir işlemin CPU kullanımını sınırlayabilirsiniz:
sudo apt install cpulimit -y
sudo cpulimit -p 1234 -l 20
Bu komut, PID 1234 olan sürecin CPU kullanımını %20 ile sınırlandırır.
2. RAM Kullanımını Optimize Etme
Yetersiz RAM, sistemin swap alanını kullanmasına ve sunucunun yavaşlamasına neden olabilir.
2.1. RAM Kullanımını Kontrol Etme
RAM kullanımını görmek için şu komutları çalıştırabilirsiniz:
free -h
vmstat 1 5
🔹 top veya htop ile bellek kullanımını detaylı görebilirsiniz.
2.2. Gereksiz Süreçleri Kapatma
Fazla bellek tüketen süreçleri bulup sonlandırmak için:
ps aux --sort=-%mem | head -10
sudo kill -9 PID
2.3. Swap Kullanımını Azaltma
Eğer sunucu aşırı swap kullanıyorsa, swappiness değerini düşürerek RAM kullanımını optimize edebilirsiniz:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Bu ayar, sistemin RAM dolana kadar swap kullanımını geciktirmesini sağlar.
3. Disk Performansını Artırma
Disk giriş/çıkış (I/O) işlemleri sunucunun en büyük darboğazlarından biridir. Aşırı disk kullanımı sunucunun genel performansını olumsuz etkileyebilir.
3.1. Disk Kullanımını Kontrol Etme
Disk alanını kontrol etmek için:
df -h
Disk I/O (giriş/çıkış) kullanımını görmek için:
iostat -xm 1 5
🔹 iotop ile en fazla disk kullanan süreçleri görebilirsiniz:
sudo apt install iotop -y
sudo iotop
3.2. Gereksiz Dosyaları Temizleme
Disk alanını boşaltmak için:
sudo du -sh /var/log
sudo rm -rf /var/log/*.log
Gereksiz cache ve geçici dosyaları temizlemek için:
sudo apt autoremove -y
sudo apt autoclean
3.3. SSD Kullanıyorsanız TRIM Aktifleştirme
SSD diskler için TRIM özelliğini etkinleştirmek performansı artırabilir:
sudo fstrim -av
4. Ağ Performansını İyileştirme
Yavaş ağ bağlantıları, özellikle web sunucuları için büyük bir performans kaybına yol açabilir.
4.1. Mevcut Bağlantıları ve Bant Genişliğini Kontrol Etme
Ağ trafiğini analiz etmek için:
sudo iftop -i eth0
Ağ trafiğini özetlemek için:
sudo nload
4.2. TCP Bağlantı Sayısını Artırma
Varsayılan olarak, Linux çekirdeği belirli bir TCP bağlantı sınırına sahiptir. Bu sınırı artırmak için /etc/sysctl.conf dosyasına şu satırları ekleyin:
net.core.somaxconn = 1024
net.ipv4.tcp_max_syn_backlog = 4096
Uygulamak için:
sudo sysctl -p
Bu ayar, TCP bağlantılarının daha verimli yönetilmesini sağlar.
5. Arkaplan Süreçlerini ve Otomatik Servisleri Optimize Etme
Sunucuda gereksiz çalışan servisleri kapatmak, kaynak tüketimini azaltacaktır.
5.1. Otomatik Başlayan Servisleri Kontrol Etme
Başlangıçta otomatik çalışan servisleri görmek için:
sudo systemctl list-unit-files --type=service | grep enabled
Gereksiz servisleri devre dışı bırakmak için:
sudo systemctl disable servis_adi
Örneğin, kullanılmayan bir Bluetooth servisini kapatmak için:
sudo systemctl disable bluetooth
💡 Unutmayın: Performans optimizasyonu sürekli bir süreçtir. Sunucunuzun kaynak kullanımını düzenli olarak izleyerek, gereksiz yükleri minimize edebilir ve sisteminizin daha verimli çalışmasını sağlayabilirsiniz!
Yorum gönder