15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
25.08.2025

Linux Sunucunuzu Yüksek Performanslı Uygulamalar için Nasıl Optimize Edersiniz?

Linux Sunucunuzu Yüksek Performanslı Uygulamalar için Nasıl Optimize Edersiniz?

Yüksek performanslı uygulamaları Linux‘da çalıştırmak, güçlü donanımdan daha fazlasını gerektirir; bu, işletim sisteminin, çekirdek parametrelerinin ve yazılım yığınlarının dikkatli bir şekilde ayarlanmasını gerektirir. Doğru optimizasyon, daha düşük gecikme süresi, daha yüksek veri akışı ve geliştirilmiş güvenilirlik sağlar; bu, veritabanları, web uygulamaları veya hesaplama yoğun iş yüklerini ölçeklendirdiğinizde kritik öneme sahiptir.

Sistemi İnce Tutun

Yüksek performanslı bir sunucu yalnızca gerekli hizmetleri çalıştırmalıdır. Ekstra daemonlar CPU döngülerini, belleği ve I/O bant genişliğini tüketir, kritik iş yükleri için mevcut kaynakları azaltır. Etkinleştirilen sistem hizmetlerini denetleyerek başlayın:

systemctl list-unit-files --state=enabled

Bluetooth, yazdırma sistemleri veya otomatik keşif daemonları gibi gereksiz hizmetleri devre dışı bırakın:

systemctl disable bluetooth.service
systemctl disable cups.service
systemctl disable avahi-daemon.service

SSH, güvenlik duvarı hizmetleri, izleme ajanları ve uygulama daemonları gibi yalnızca zorunlu bileşenleri tutun. Bu, hem performans yükünü hem de saldırı yüzeyini en aza indirir.

CPU Zamanlamasını Optimize Edin

Linux varsayılan olarak Tamamen Adil Zamanlayıcı (CFS) kullanır ve CPU zamanını süreçler arasında dengeler. Gecikmeye duyarlı veya gerçek zamanlı iş yükleri için, şunları düşünün:

  • Süreç önceliklerini
    renice
    ile ayarlamak:
    renice -n -10 -p <PID>
  • Gerçek zamanlı zamanlama atamak için
    chrt
    kullanmak:
    chrt -f 99 <command>
  • Süreçleri belirli CPU çekirdeklerine bağlamak:
    taskset -c 0-3 <command>

Bu yöntemler, veritabanları, VoIP veya akış uygulamaları gibi iş yükleri için CPU tahmin edilebilirliğini artırır ve gecikme değişimini azaltır.

Bellek Yönetimini Ayarlayın

Verimli bellek kullanımı performans için kritik öneme sahiptir:

  • Swapping’i azaltın:
    sysctl -w vm.swappiness=10
  • Dosya sistemi önbellek baskısını ayarlayın:
    sysctl -w vm.vfs_cache_pressure=50
  • HugePages’i yapılandırın (ve THP’yi ayrı yönetin):
    sysctl -w vm.nr_hugepages=1024
  • Bellek aşımını kontrol edin:
    sysctl -w vm.overcommit_memory=1

Bu ayarları

/etc/sysctl.conf
veya
/etc/sysctl.d/
içinde tutarak yeniden başlatmalarda tutarlılığı sağlayın.

Disk ve I/O Performansını Artırın

Disk I/O, genellikle yüksek performanslı uygulamalar için birincil darboğazdır.

  • Doğru I/O zamanlayıcısını seçin (SSD’ler için:
    none
    veya
    mq-deadline
    ):
    echo none > /sys/block/sda/queue/scheduler
    Not: blk-mq olan sistemlerde, zamanlayıcılar
    /sys/block/<device>/mq/
    altında yapılandırılır.
  • Performansa yönelik seçeneklerle monte edin:
    mount -o noatime,nodiratime /dev/sda1 /data
  • Yüksek performanslı dosya sistemlerini kullanın:
    XFS, eşzamanlılık yoğun iş yükleri için; ext4, veri akışı için ayarlanmış.
  • RAID’i düşünün:
    Veritabanları için RAID 10, geçici hesaplama iş yükleri için RAID 0.

Ağ Yığını Optimizasyonu

Yüksek performanslı ve ağ yoğun uygulamalar, TCP/IP yığını ayarlamayı gerektirir:

  • Dosya tanımlayıcılarını artırın:
    ulimit -n 65535
    Bunu kalıcı hale getirmek için
    /etc/security/limits.conf
    dosyasını düzenleyin.
  • TCP tampon boyutlarını artırın:
    sysctl -w net.core.rmem_max=268435456
    sysctl -w net.core.wmem_max=268435456
    sysctl -w net.ipv4.tcp_rmem="4096 87380 268435456"
    sysctl -w net.ipv4.tcp_wmem="4096 65536 268435456"
  • TCP Hızlı Açma’yı etkinleştirin:
    sysctl -w net.ipv4.tcp_fastopen=3
  • IRQ dengelemesini etkinleştirin (genellikle çok çekirdekli NIC için):
    systemctl enable irqbalance
    systemctl start irqbalance
    Not: ultra düşük gecikmeli ağ iletişimi (DPDK iş yükleri) için irqbalance genellikle devre dışı bırakılır ve IRQ’lar manuel olarak sabitlenir.
  • Ek çekirdek parametrelerini ayarlayın:
    net.core.netdev_max_backlog
    , paket işleme için çekirdekler arasında dengeleme için RSS/RPS.

Çekirdek ve Sistem Düzeyi Ayarlamaları

Modern uygulamalar, daha derin çekirdek ayarlamalarından faydalanır:

  • Paylaşılan bellek sınırlarını artırın:
    sysctl -w kernel.shmmax=68719476736
    sysctl -w kernel.shmall=4294967296
  • Açık dosya tanımlayıcılarının maksimumunu artırın:
    sysctl -w fs.file-max=2097152
  • cgroups ve ad alanlarını kullanın:
    Konteynerleştirilmiş veya çok kiracı ortamlarında kaynakları tahsis edin ve izole edin.
  • Düşük gecikmeli çekirdekleri düşünün:
    Aşırı yanıt verme için PREEMPT_RT (ticaret, telekom).

Uygulama Düzeyi Optimizasyonu

Sistem düzeyi ayarlamaları, uygulamaya özgü ayarlamalarla tamamlanmalıdır:

  • Veritabanları (MySQL/PostgreSQL): önbellek havuzlarını, kontrol noktalarını, önbellekleme, bağlantı havuzlamayı ayarlayın.
  • Web sunucuları (Nginx/Apache): işçileri, keepalive, önbellekleme, sıkıştırmayı ayarlayın.
  • Java: yığın boyutlarını ayarlayın, G1GC/ZGC kullanın, JVM bayraklarını ayarlayın.
  • Sanalizasyon: hipervizör I/O ve ağ ayarlarını yapın, vCPU/vRAM’ı dikkatlice tahsis edin.

İzleme ve Performans Testi

Optimizasyon yalnızca ölçüldüğünde etkilidir.

  • htop
    ,
    iotop
    ve
    vmstat
    ile gerçek zamanlı izleme yapın.
  • Sistem bileşenlerini test edin:
    • CPU ve veritabanları ile
      sysbench
      .
    • Disk ile
      fio
      .
    • Ağ veri akışı ile
      iperf3
      .
  • Sürekli izleme uygulayın ve metrikleri Grafana ile görselleştirin.

Performans eğilimleri ve günlük verilerinin düzenli analizi, gerilemeleri tespit etmeye ve iyileştirmeleri doğrulamaya yardımcı olur.

Sonuç

Bir Linux sunucusunu yüksek performanslı uygulamalar için optimize etmek, gereksiz hizmetleri kaldırmak, CPU ve belleği ayarlamak, depolama ve ağı optimize etmek ve uygulamaları performans odaklı yapılandırmak gibi bütünsel bir yaklaşım gerektirir. Tekrar eden performans testleri ve izleme ile bu iyileştirmeler, ham donanımı öngörülebilir, düşük gecikmeli ve güvenilir bir performansa dönüştürür, böylece talepkar iş yüklerinin ölçeklendirilmeden çalışmasını sağlar.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın