VDS Sunucuda TCP Bağlantılarının Yavaşlamasına Neden Olan Ayarlar

VDS (Virtual Dedicated Server) ortamlarında TCP bağlantı süreleri, kullanıcı deneyimini doğrudan etkileyen bir faktördür. Ancak sistem yöneticilerinin sıklıkla gözden kaçırdığı çekirdek ve ağ yapılandırma ayarları, TCP oturumlarının yavaşlamasına neden olabilir. Bu yazıda, TCP performansını doğrudan etkileyen yapılandırmaları ele alıyoruz.


1. net.ipv4.tcp_syncookies Ayarı

Bu ayar SYN flood saldırılarına karşı koruma sağlar. Ancak çok sayıda geçerli bağlantı geldiğinde etkinleştirilmiş olması, bağlantıların yavaş kurulmasına neden olabilir.

  • Varsayılan: 1 (açık)
  • Performans Önerisi: Yük dengeleyici veya firewall ile SYN koruması sağlanıyorsa, bu değer 0 yapılabilir.

2. tcp_tw_reuse ve tcp_tw_recycle

  • tcp_tw_reuse=1 : TIME_WAIT bağlantılarının yeniden kullanılmasına izin verir
  • tcp_tw_recycle=1 : Daha agresif TIME_WAIT temizliği yapar (ancak NAT arkasındaki istemciler için sorun çıkarabilir)

Yavaşlama Etkisi: TIME_WAIT durumu birikirse, yeni bağlantılar gecikir.

Öneri: tcp_tw_reuse=1 kullanılırken tcp_tw_recycle devre dışı bırakılmalı (0).


3. TCP Buffer Değerlerinin Yanlış Ayarlanması

  • net.core.rmem_max
  • net.core.wmem_max
  • net.ipv4.tcp_rmem
  • net.ipv4.tcp_wmem

Varsayılan buffer değerleri düşükse, yüksek bant genişliğine sahip bağlantılarda tam performans alınamaz.

Performans Önerisi:

sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"

4. MTU (Maximum Transmission Unit) Uyumsuzluğu

MTU değeri hatalı ayarlanmışsa, paket parçalanmaları yaşanır ve bu da bağlantı gecikmelerine neden olur.

  • Önerilen: Sunucu ve istemci arasındaki yol MTU değeri uyumlu olmalı. Genelde 1500’dür.
  • Kontrol:
ip link | grep mtu  

5. TCP Delayed ACK Mekanizması

Linux TCP stack’i, ACK paketlerini geciktirerek bant genişliği verimliliğini artırır. Ancak düşük gecikme isteyen servislerde (örneğin API, finansal uygulamalar) bu durum ters tepebilir.

Çözüm:

  • Uygulama bazlı ayar gerekebilir
  • Alternatif olarak TCP_NODELAY opsiyonu kullanılmalı

6. Firewall Kurallarının Aşırı Karmaşıklığı

iptables veya nftables üzerinde yer alan:

  • Karmaşık conntrack kuralları
  • Geriye dönük (stateful) incelemeler
  • DNS veya port bazlı zincirler

Bunlar TCP bağlantı kurulum süresini uzatabilir.

Çözüm: Gereksiz kurallar sadeleştirilmeli ve bağlantı öncesi zincirler optimize edilmelidir.


7. Düşük max_syn_backlog Değeri

Çok sayıda eşzamanlı bağlantı geldiğinde SYN queue dolar ve bazı bağlantılar zaman aşımına uğrar.

sysctl -w net.ipv4.tcp_max_syn_backlog=8192

Varsayılan genelde 128’dir. Yük altında bu değer yetersiz kalır.


8. Nagle Algoritması

Nagle algoritması küçük paketleri birleştirerek ağ verimliliği sağlar, fakat düşük gecikme isteyen uygulamalarda gecikmelere neden olur.

Çözüm:

  • setsockopt() ile TCP_NODELAY aktif edilmeli
  • Nagle kapatılmalı

Sonuç

VDS ortamlarında TCP bağlantılarının yavaş çalışması çoğu zaman donanımsal değil, çekirdek parametreleri ve ağ yapılandırmalarından kaynaklanır. Özellikle yüksek trafik alan API servisleri veya düşük gecikme kritikse, yukarıdaki sistem ayarları gözden geçirilmeli ve uygun şekilde optimize edilmelidir.

Vps.com.tr