Linux Sunucuda TCP SYN Backlog Ayarı

Linux sunucularında TCP SYN backlog ayarı, yüksek trafik yükü altında bağlantı kabul etme kapasitesini optimize etmek için kritik bir konfigürasyondur.

Reklam Alanı

Linux sunucularında TCP SYN backlog ayarı, yüksek trafik yükü altında bağlantı kabul etme kapasitesini optimize etmek için kritik bir konfigürasyondur. Bu ayar, TCP üçlü el sıkışma sürecinde yarım açık bağlantıların (SYN bekleyen) tutulduğu kuyruğun boyutunu belirler. Yoğun ağ trafiğinde varsayılan değerler yetersiz kalabilir ve bu da bağlantı reddine (SYN flood benzeri durumlar) yol açabilir. Makalede, bu parametrenin detaylı açıklamasını, yapılandırma adımlarını ve pratik optimizasyon ipuçlarını ele alacağız. Sunucu yöneticileri için somut adımlar sunarak, sistem performansını artırmaya yönelik rehberlik sağlayacağız.

TCP SYN Backlog Kavramı ve Önemi

TCP SYN backlog, Linux çekirdeğinde netfilter ve socket katmanlarında yönetilen bir kuyruk mekanizmasıdır. Bir istemci TCP bağlantısı başlattığında SYN paketi gönderir ve sunucu bu paketi kabul etmek için bir backlog kuyruğuna yerleştirir. Bu kuyruk dolduğunda yeni SYN istekleri reddedilir, bu da hizmet kesintilerine neden olur. İki ana parametre devreye girer: net.core.somaxconn (uygulama seviyesinde maksimum backlog) ve net.ipv4.tcp_max_syn_backlog (çekirdek seviyesinde SYN kuyruğu). Varsayılan değerler genellikle 128 veya 256’dır, ancak modern sunucularda 1024-4096 aralığı önerilir.

Yüksek concurrency’li web sunucuları (örneğin Nginx veya Apache) için bu ayarlar hayati öneme sahiptir. Örneğin, DDoS ataklarında SYN flood, backlog’u hızla doldurur ve meşru bağlantıları engeller. Uygun ayarlamayla, sunucu saniyede binlerce bağlantıyı daha verimli işleyebilir. Pratikte, bu parametreleri artırmak CPU ve bellek kullanımını hafifçe yükseltir, ancak bağlantı başarı oranını önemli ölçüde iyileştirir. Sunucu yükünüzü analiz ederek (örneğin ss -s komutuyla) mevcut backlog doluluğunu gözlemleyin ve buna göre ölçeklendirin.

Sistem Parametrelerini Yapılandırma

Geçici Ayar Yapma

Değişiklikleri hızlıca test etmek için sysctl komutunu kullanın. Önce mevcut değerleri kontrol edin: sysctl net.core.somaxconn ve sysctl net.ipv4.tcp_max_syn_backlog. Ardından geçici ayar için şu komutları çalıştırın:

  • sysctl -w net.core.somaxconn=4096
  • sysctl -w net.ipv4.tcp_max_syn_backlog=4096

Bu ayarlar yeniden başlatmada kaybolur, ancak anlık test için idealdir. Değişiklik sonrası ss -ltn ile dinleme soketlerini inceleyin; Recv-Q değeri backlog boyutunu yansıtır. Web sunucunuzu yeniden yükleyin (örneğin nginx -s reload) ve yük testi yapın (Apache Bench gibi araçlarla). Bu adım, 70 kelimeyi aşan pratik bir yaklaşım sunar ve sunucunuzun tepkisini doğrudan gözlemler.

Kalıcı Yapılandırma

Kalıcı değişiklik için /etc/sysctl.conf dosyasını düzenleyin. Aşağıdaki satırları ekleyin veya güncelleyin:

net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 4096

Sonra sysctl -p ile yükleyin. Bu, reboot sonrası ayarları korur. Ek olarak, net.ipv4.tcp_syncookies=1 etkinleştirerek SYN flood koruması ekleyin. Sunucunuzun donanımına göre (örneğin 16 GB RAM için 8192’ye çıkın) değerleri uyarlayın. Yapılandırma sonrası logları (/var/log/syslog) izleyin ve bağlantı reddi olaylarını kontrol edin. Bu yöntem, üretim ortamlarında standarttır ve sistem kararlılığını sağlar.

İzleme, Test ve Optimizasyon

Ayarları uyguladıktan sonra etkinliğini doğrulamak için araçlar kullanın. netstat -an | grep SYN_RECV veya modern ss -t -o state syn-recv ile SYN kuyruğunu takip edin. Prometheus ve Grafana gibi araçlarla backlog doluluğunu grafikleştirin. Yük testi için ab -n 10000 -c 100 http://localhost/ çalıştırın ve hata oranlarını karşılaştırın. Optimizasyon için, net.ipv4.tcp_tw_reuse=1 ve net.ipv4.tcp_fin_timeout=15 gibi tamamlayıcı ayarları değerlendirin.

Her sunucu benzersizdir; bulut ortamlarında (AWS EC2 gibi) instance tipine göre ayarlayın. Düzenli izleme ile backlog’u %80’in altında tutun. Bu yaklaşım, proaktif yönetim sağlar ve kesinti riskini minimize eder. Pratik takeaway: Haftalık ss raporları oluşturun ve eşik aşımlarında otomatik uyarı kurun.

Sonuç olarak, TCP SYN backlog ayarını doğru yapılandırmak, Linux sunucularınızın ağ kapasitesini önemli ölçüde artırır. Bu rehberdeki adımları takip ederek, yüksek trafik senaryolarında daha güvenilir hizmet sunabilirsiniz. Düzenli test ve ince ayarlarla sisteminizi sürekli optimize edin, böylece iş sürekliliğinizi güvence altına alın.

Yazar: root
İçerik: 510 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 14-03-2026
Güncelleme: 14-03-2026
Benzer İçerikler
Dijital Dönüşüm kategorisinden ilginize çekebilecek benzer içerikler