İçeriğe geç

VDS Sunucularda Sysctl ile Performans Arttırma

Kategori: Sunucu Sistemleri, ve Web Sunucuları

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 tcp

Tü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.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 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.

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

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir