Sysctl ile VDS Performansı Nasıl Arttırılır?

VDS sunucularda yüksek ağ performansı elde etmek için en etkili yöntem, çekirdekteki TCP/IP parametrelerini sysctl üzerinden düzenlemektir. VDS kendi kernel’ini kullanarak (VDS, VPS’ten farklı olarak ) paket işleme davranışını doğrudan kontrol etmene imkân tanır.

Sysctl’in Avantajı Nedir?

Sysctl, Linux çekirdeğinin ağ paketlerini nasıl işlediğini belirleyen ayar mekanizmasıdır.

  • TCP bağlantıları daha hızlı başlar
  • Gecikme seviyeleri azalır
  • Büyük dosya kopyalama/transfer süreçleri hızlanır
  • Eşzamanlı bağlantı kapasitesi artar
  • Yük altında tıkanmalar ortadan kalkar

Bu yapılandırmalar özellikle oyun sunucularında düşük gecikme ve kararlı bağlantı sağlamak için önem taşır. VDS üzerinde oyun sunucusu kuruyorsan, VPS/VDS rehberimizi incelemeni öneririm.

VPS ve VDS Kullanarak Online Oyun Sunucusu Kurma

VDS Sunucularda Sysctl Parametreleri Nasıl Yapılandırılır?

Kernel’in Güncel Ağ Ayarlarını Kontrol Edelim

Sunucuda geçerli olan TCP ve network ayarlarını incelemek için aşağıdaki komutu kullanalım. Çıktı, TCP işleyişinin şu anki tüm değerlerini listeler.

sysctl -a | grep tcp

Performans Ayarlarını Sysctl Dosyasına Uygulayalım

Ağ verimliliğini artıran sysctl parametrelerini şimdi düzenleyeceğiz. Bunun için ilgili konfigürasyon dosyasını açalım.

nano /etc/sysctl.conf

Aş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 = 1

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 -p

BBR 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 = bbr

BBR aktif değilse kernel bunu desteklemiyor olabilir. Modül görünüyorsa tamamdır.

lsmod | grep bbr

Bağlantı Kuyruğu Artmış mı Kontrol Edelim

sysctl net.core.somaxconn

Eğer çıktı böyle ise sunucunun aynı anda kabul edebileceği bağlantı kapasitesi ciddi şekilde arttı demektir.

net.core.somaxconn = 65535

Sunucu Trafiğini Test Edelim

Aşağıdaki komut, paketlerin gecikme davranışını hızlıca anlamanı sağlar

ping -c 5 google.com

Yü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 Düzeyinde Ayarlanan Önemli Parametreler


Bu değerler, VDS sunucunun ağ trafiğini nasıl işlediğini belirleyen temel çekirdek ayarlarıdır. Sunucunun bağlantı kapasitesi, paket işleme hızı, kuyruk boyutları ve TCP trafiğinin davranışı tamamen bu parametrelerle şekillenir.

• net.core.somaxconn
Aynı anda kabul edilebilecek yeni bağlantı miktarını belirler. Varsayılan değer yoğun trafikte yetersiz kalabilir.

• net.ipv4.tcp_max_syn_backlog
Bağlantı kurulumu sırasında kullanılan kuyruğun kapasitesini artırır. Düşük ayarlarda trafik altında bağlantılar reddedilebilir.

• net.core.rmem_max / net.core.wmem_max
Gelen-giden paketlerin işlendiği tampon alanını belirler. Bu tamponun artırılması yüksek bant genişliğinde aktarımı hızlandırır.

• net.ipv4.tcp_rmem
TCP için minimum, normal ve maksimum bellek tamponlarını tanımlar. Bu değerler hem düşük hem yüksek trafikte stabil performans sağlar.

• net.ipv4.tcp_congestion_control
TCP’nin trafik yönetim algoritmasını seçer. CUBIC yerine BBR kullanmak daha akıcı ve düşük gecikmeli bağlantı sağlar.

Bu parametreler, sunucuya SSH ile bağlandıktan sonra terminal üzerinden sysctl.conf dosyasına yazılarak uygulanır ve böylece devreye alınır. Ağ tarafındaki bu kernel ayarları, VDS ile dedicated sunucular arasındaki en kritik ayrım noktalarından birini oluşturur; donanım kapasitesi ve yönetim kontrolünü karşılaştırmak için detaylı incelemeye göz atabilirsin.

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/syslog
  • dmesg

Yorum yapın