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

VDS sunucularda ağ performansını artırmanın en etkili yöntemlerinden biri, kernel’in TCP/IP davranışını sysctl parametreleriyle optimize etmektir. Çünkü VDS, VPS’ten farklı olarak kendi çekirdeği üzerinde çalıştığı için paket işleme mekanizmasını tamamen kontrol edebilirsin.

Sysctl Nedir ve Neden Önemlidir?

Sysctl, Linux çekirdeğinin ağ paketlerini nasıl yöneteceğini belirleyen ayarların bulunduğu sistemdir.

  • TCP bağlantıları daha hızlı kurulur
  • Gecikme düşer
  • Büyük dosya transferleri daha hızlı tamamlanır
  • Sunucu aynı anda daha fazla bağlantıyı işleyebilir
  • Yük altında tıkanma oluşmaz

Oyun sunucularında düşük gecikme ve stabil bağlantı sağlamak için bu yapılandırmalar kritik öneme sahiptir. Eğer VDS üzerinde bir oyun sunucusu kurmayı planlıyorsan, daha önce hazırladığımız VPS ve VDS rehberleri de sana yol gösterebilir.

VDS ile Minecraft ve CS:GO Sunucusu Kurma

VDS Sunucularda Sysctl Ayarları Nasıl Uygulanır?

Mevcut Kernel Ağ Ayarlarını Görüntüleyelim

Sunucunun hâlihazırda kullandığı TCP ve ağ parametrelerini görmek için bu komutu çalıştıralım. Bu çıktı, kernel’in mevcut TCP davranışını ayrıntılı şekilde gösterir.

sysctl -a | grep tcp

Gerekli Sysctl Optimizasyonlarını Dosyaya Ekleyelim

Bu aşamada, ağ performansını yükselten sysctl değerlerini düzenlemeye başlayacağız. Önce yapılandırma 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 Seviyesinde Değiştirilen Kritik Parametreler

Bu parametreler, VDS sunucusunun ağ trafiğini nasıl yöneteceğini doğrudan belirleyen çekirdek değerleridir. Sunucunun aynı anda kaç bağlantıyı işleyebileceği, veriyi hangi hızda aktaracağı, bekleme kuyruklarının kapasitesi ve TCP davranışının şekli tamamen bu ayarlara bağlıdır.

• net.core.somaxconn
Sunucunun eşzamanlı kabul edebileceği yeni bağlantı sayısını belirler. Varsayılan değer düşüktür ve yoğun yükte yetersiz kalabilir.

• net.ipv4.tcp_max_syn_backlog
Yeni bağlantılar kurulurken kullanılan kuyruğun genişliğini artırır. Düşük değerlerde trafik yükseldiğinde bağlantı düşüşleri görülebilir.

• net.core.rmem_max / net.core.wmem_max
Gelen ve giden veriyi işlerken kullanılan tampon boyutlarını belirler. Yüksek bant genişliğinde aktarım hızını doğrudan artırır.

• net.ipv4.tcp_rmem
TCP için minimum, varsayılan ve maksimum tampon sınırlarını tanımlar. Bu değerler trafik durumuna göre bellek kullanımını optimize eder.

• net.ipv4.tcp_congestion_control
TCP tıkanıklık yönetim algoritmasını seçer. CUBIC yerine BBR kullanmak gecikmeyi azaltır ve veri aktarım hızını yükseltir.

Bu ayarlar doğrudan sunucunun terminali üzerinden uygulanır ve SSH ile bağlandıktan sonra sysctl.conf dosyasına eklenerek aktif edilir. Ağ optimizasyonunda kullanılan bu kernel parametreleri, VDS ile dedicated sunucular arasındaki en belirgin farklardan birini oluşturur; donanım gücü ve kontrol seviyesini karşılaştırmak istersen detaylı incelemeyi ilgili rehberde bulabilirsin.

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