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 verirtcp_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ırkentcp_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()
ileTCP_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.