VDS sunucularda ağ performansını artırmanın en etkili yollarından biri, kernel’in TCP/IP davranışını sysctl üzerinden düzenlemektir. Çünkü VDS, VPS’ten farklı olarak kendi çekirdeğini kullanır ve sistemin paket işleme şekli üzerinde tam kontrol sağlarsın.
Sysctl Nedir ve Neden Performansı Artırır?
Sysctl, Linux çekirdeğinin ağ paketlerini nasıl işleyeceğini belirleyen ayarların olduğu sistemdir.
- TCP bağlantıları daha hızlı açılır
- Gecikme azalır
- Büyük dosya transferleri hızlanır
- Sunucu aynı anda daha fazla bağlantı kabul eder
- Yük altında tıkanma yaşanmaz
Oyun sunucularında düşük gecikme ve stabil bağlantı sağlamak için bu ayarlar özellikle önemlidir. Eğer VDS üzerinde bir oyun sunucusu kurmayı düşünüyorsan, daha önce hazırladığımız VPS ve VDS ile Oyun Sunucusu Nasıl Açılır? rehberine de göz atabilirsiniz.
VDS Sunucularda Sysctl Ayarları Nasıl Uygulanır?
Mevcut Kernel Ağ Ayarlarını Kontrol Edelim
Sunucunun şu anki TCP ve network ayarlarını görmek için bu komutu kullanalım. TCP davranışlarını mevcut değerini gösterir.
sysctl -a | grep tcpTüm Optimize Ayarları Uygun Dosyaya Ekleyelim
Şimdi ağ performansını artıran sysctl değerlerini düzenleyeceğiz.
Konfigürasyon dosyasını açalım,
nano /etc/sysctl.confAşağıdaki ayarları dosyanın en altına ekleyelim.
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65536
net.ipv4.tcp_max_syn_backlog = 8192
net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.ipv4.tcp_rmem = 4096 87380 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_syncookies = 1Yaptığımız bu ayarlar sayesinde gecikme düşer, bağlantı kabul hızını artırılır, dosya transferleri hızlandırılır.
Ayarların Aktif Olması İçin Sysctl’i Yeniden Yükleyelim
Dosyayı kaydedip sysctl’i yeniden yüklemek için komutu girelim. Eğer hata görünmüyorsa ayarlarımız başarılıdır.
sysctl -pBBR Aktif mi Kontrol Edelim
BBR, Google’ın geliştirdiği modern bir TCP hızlandırma algoritmasıdır ve VDS üzerinde ciddi performans artışı sağlar.
Kontrol etmek için
sysctl net.ipv4.tcp_congestion_controlÇıktı şöyleyse her şey doğru uygulanmış demektir.
net.ipv4.tcp_congestion_control = bbrBBR aktif değilse kernel bunu desteklemiyor olabilir. Modül görünüyorsa tamamdır.
lsmod | grep bbrBağlantı Kuyruğu Artmış mı Kontrol Edelim
sysctl net.core.somaxconnEğer çıktı böyle ise sunucunun aynı anda kabul edebileceği bağlantı kapasitesi ciddi şekilde arttı demektir.
net.core.somaxconn = 65535Sunucu Trafiğini Test Edelim
Aşağıdaki komut, paketlerin gecikme davranışını hızlıca anlamanı sağlar
ping -c 5 google.comYüksek gecikme sunucu dışındaki bir ağ problemine işaret eder. Gecikme düşük ama sunucuda trafik yavaşsa sorun kernel ayarlarıyla düzelir.
Ağ verimliliğini artıran bir diğer testi deneyelim.
iperf3 -c <hedef_ip>Kernel Seviyesinde Değiştirilen Kritik Parametreler
Bu parametreler, VDS sunucunun ağ trafiğini nasıl yöneteceğini doğrudan etkileyen çekirdek parametreleridir. Sunucunun aynı anda kaç bağlantıyı karşılayabileceği, veriyi ne kadar hızlı işleyebileceği, bekleme kuyruklarının ne kadar geniş olacağı ve TCP bağlantılarının nasıl davranacağı tamamen bu değerlerle belirlenir.
• net.core.somaxconn
Bu ayar, sunucunun aynı anda kaç yeni bağlantıyı kabul edebileceğini belirler. Varsayılan değer düşüktür ve yoğun trafik altında yetersiz kalır.
• net.ipv4.tcp_max_syn_backlog
Yeni bağlantılar kurulurken kullanılan bekleme kuyruğunun kapasitesini genişletir. Değer düşük olduğunda trafik arttığında bağlantılar reddedilebilir.
• net.core.rmem_max ve net.core.wmem_max
Sunucunun gelen ve giden veriyi işlerken kullandığı tampon alanı belirler. Bu alanın büyütülmesi, özellikle yüksek bant genişliği kullanan uygulamalarda veri akışını hızlandırır.
• net.ipv4.tcp_rmem
TCP bağlantılarının minimum, varsayılan ve maksimum tampon boyutlarını belirler. Bu değerler, düşük trafikte gereksiz bellek kullanmamak, yüksek trafikte ise akıcı veri aktarımı sağlamak için optimize edilir.
• net.ipv4.tcp_congestion_control
TCP trafiğinin nasıl yönetileceğini belirleyen algoritmayı seçer. Varsayılan cubic yerine BBR kullanmak, daha düşük gecikme ve daha yüksek hız sağlar.

Bu ayarlar doğrudan sunucunun terminali üzerinden uygulanır. SSH ile sunucuya bağlandıktan sonra sysctl.conf dosyasına eklenerek aktif hale getirilir.
Ağ optimizasyonu yaparken kullanılan bu kernel ayarları, VDS ile dedicated sunucu arasındaki en büyük farklardan birini oluşturur. Donanım gücü ve kontrol seviyesini karşılaştırmak istersen, detaylı incelemeyi burada bulabilirsiniz.
Sık Sorulan Sorular
Sysctl ayarlarını uyguladıktan sonra ağ performansını nasıl test edebilirim?
Temel gecikme için ping, bant genişliği için iperf3, bağlantı kuyruğu için ss -lnt ve aktif bağlantı yönetimi için netstat -s kullanabilirsin. Bu testler, yapılan değişikliğin gerçek etkisini görmek için en doğru yöntemdir.
net.core.netdev_max_backlog değerini artırmak ne zaman faydalı olur?
Bu değer ağ kartının çok hızlı paket aldığı durumlarda, kernel paketleri işleyemeden yoğunluk oluştuğunda devreye girer.
Sysctl ayarlarını yaptıktan sonra hangi log dosyalarını kontrol etmeliyim?
Kernel ile ilgili hatalar genellikle şu loglarda görülür. Ayarların aşırı yüksek olması durumunda buffer uyarıları, port tükenmesi veya conntrack uyarıları bu loglarda görünür.
/var/log/kern.log/var/log/syslogdmesg
