Linux Sunucuda TCP Performans Ayarları
Linux tabanlı sunucularda ağ performansını optimize etmek, özellikle yüksek trafikli uygulamalarda kritik öneme sahiptir. Bu ayarların temel amacı, TCP protokolünün verimliliğini artırmak ve ağ gecikmesini minimize etmektir. İşte temel ayarların detayları ve uygulama yöntemleri:
1. TCP Yığın Bellekleri
TCP yığın ve kuyruk bellekleri, sunucunun eş zamanlı gelen bağlantıları ve veri akışını yönetmesinde önemli rol oynar. Bu ayarları
sysctl komutlarıyla yapabiliriz.
Örneğin:
12345
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'
Burada,
rmem_max ve
wmem_max maksimum alıcı ve gönderici tampon boyutlarını belirlerken,
tcp_rmem ve
tcp_wmem ise normal TCP tampon ayarlarını gösterir.
2. TCP Pencere Ölçeklendirme ve Sıkıştırma
TCP pencerelerini büyük tutmak, yüksek bant genişliği ve düşük gecikme ortamlarında performansı artırır.
Ayarlar:
123
sysctl -w net.ipv4.tcp_window_scaling=1
sysctl -w net.ipv4.tcp_timestamps=1
Bu ayarlar, TCP'nin pencerelerini dinamik olarak büyütmesine olanak tanır.
3. Sınırları ve Zaman Aşımı Ayarları
Bağlantıların zaman aşım süreleri ve yeniden deneme sayıları, yüksek performansa doğrudan etki eder.
Örneğin:
1234
sysctl -w net.ipv4.tcp_fin_timeout=15
sysctl -w net.ipv4.tcp_keepalive_time=300
sysctl -w net.ipv4.tcp_retries2=15
Bu ayarlarla, bağlantıların kapanma ve yeniden deneme süreleri optimize edilir.
4. Ağ Bağlantı Limiti ve Ağ Yükü Dengeleme
Sunucu üzerindeki toplam açık bağlantı limiti ve bağlanma sayısı,
nofile ve
nproc limitleriyle kontrol edilir. Ayrıca, yüksek trafikte yük dengeleme ve QoS ayarları da performansı destekler.
Bu ayarların kalıcı olması için
/etc/sysctl.conf veya ilgili yapılandırma dosyalarına eklenmeli ve yeniden başlatılmalıdır. Ayrıca, uygulama ve ağ altyapısına göre bu parametrelerin değeri dikkatlice ayarlanmalıdır.
Performans optimizasyonu, sadece ayarları değiştirmekle değil, aynı zamanda ağ trafiği ve sunucu yükü sürekli izlenerek ayarlamaların dinamik yapılmasıyla sağlanır. Sistem seviyesinde detaylı analiz ve testler, en uygun ayar kombinasyonunu belirlemek için vazgeçilmezdir.