
VPS Ağ Performansı ve Optimizasyonu
VPS sunucunuzun ağ performansını nasıl ölçer ve optimize edersiniz? Bant genişliği, gecikme, TCP optimizasyonu.
Elif Demir
Cloud Solutions Architect
API yanıt süreleriniz yüksek mi, dosya indirme hızları beklentinin altında mı kalıyor? VPS'inizin CPU ve RAM'i yeterli olsa bile, varsayılan Linux kernel ağ ayarları çoğu sunucu iş yükü için optimize değildir. VPS ağ performansı optimizasyonu - TCP congestion control algoritması değişikliği, buffer boyutları ayarı ve bağlantı limitleri yapılandırması - throughput'u artırır ve latency'yi azaltır. Bu rehberde somut sysctl ayarları ve izleme araçlarıyla ağ performansınızı iyileştireceğiz.
Temel Ağ Metrikleri
| Metrik | Tanım | İdeal Değer |
|---|---|---|
| Latency (RTT) | Paketin gidiş-dönüş süresi | Aynı kıta: <30 ms, kıtalar arası: <150 ms |
| Bandwidth (Throughput) | Saniyede aktarılan veri miktarı | Planınızın %80'i+ kullanılabilir olmalı |
| Packet Loss | Kaybolan paket oranı | <%0.1 (sıfıra yakın) |
| Jitter | Latency'deki tutarsızlık | <5 ms |
TCP BBR ile Throughput Artırma
Google tarafından geliştirilen BBR (Bottleneck Bandwidth and Round-trip propagation time), geleneksel kayıp tabanlı congestion control algoritmalarından farklı olarak bant genişliği ve RTT'yi modelleyerek çalışır. Özellikle yüksek latency veya paket kaybı olan bağlantılarda throughput'u önemli ölçüde artırır.
# Mevcut congestion control algoritmasını kontrol et
sysctl net.ipv4.tcp_congestion_control
# BBR'ı etkinleştir
sudo sysctl -w net.core.default_qdisc=fq
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
# Kalıcı hale getir
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
# Doğrula
sysctl net.ipv4.tcp_congestion_control
# Çıktı: net.ipv4.tcp_congestion_control = bbr
Kernel Network Parametreleri
Varsayılan Linux kernel ağ ayarları düşük kaynaklı sistemler için tasarlanmıştır. Web sunucuları ve API'ler için aşağıdaki sysctl ayarlarını optimize edin:
# TCP buffer boyutları (yüksek bant genişliği için)
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# Bağlantı kuyruğu (yoğun trafik için)
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
# TIME_WAIT soketlerini hızlı geri dönüştür
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
# TCP keepalive (bağlantı canlılık kontrolü)
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5
# SYN flood koruması
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 65535
⚠️ Önemli Uyarı: Bu ayarları uygulamadan önce mevcut değerleri yedekleyin: sysctl -a > /tmp/sysctl-backup.conf. Değişiklikler sonrası sudo sysctl -p ile uygulayın ve ağ performansını test edin. Sorun yaşarsanız yedekten geri dönebilirsiniz.
DNS Optimizasyonu
Her HTTP isteği bir DNS çözümlemesiyle başlar. Yavaş DNS, tüm bağlantıları yavaşlatır. Yerel DNS önbelleği kurarak tekrarlayan sorguları hızlandırabilirsiniz:
# systemd-resolved ile yerel DNS önbelleği
sudo systemctl enable --now systemd-resolved
# DNS çözümleme süresini test et
dig hosted.cloud | grep "Query time"
# Hızlı DNS sunucuları kullan (/etc/systemd/resolved.conf)
# DNS=1.1.1.1 8.8.8.8
# FallbackDNS=9.9.9.9 8.8.4.4
Ağ İzleme Araçları
# Bant genişliği testi (iperf3)
sudo apt install iperf3 -y
iperf3 -c speedtest.serverius.net -p 5002
# Latency ve paket kaybı testi
mtr --report --report-cycles 100 google.com
# Anlık bant genişliği izleme
nload eth0
# Bağlantı durumu özeti
ss -s
Sunucu performansını kapsamlı izlemek için kaynak izleme rehberimizi de inceleyebilirsiniz. Ağ performansı, Hosted Cloud bulut sunucularında yüksek bant genişliği ve düşük latency ile optimize edilmiştir.
Sıkça Sorulan Sorular
BBR tüm Linux çekirdeklerinde çalışır mı?
BBR, Linux kernel 4.9+ ile kullanılabilir. Ubuntu 18.04+, Debian 10+ ve CentOS 8+ varsayılan olarak destekler. uname -r ile çekirdek sürümünüzü kontrol edin.
Sysctl ayarları sunucuyu yeniden başlatmadan uygulanır mı?
Evet. sudo sysctl -p komutu değişiklikleri anında uygular. Ancak kalıcı olması için /etc/sysctl.conf dosyasına yazılmalıdır.
Latency yüksek ama sunucu yakın lokasyonda, neden?
Olası nedenler: DNS çözümleme gecikmesi, TCP handshake süresi (SSL/TLS dahil), sunucu tarafında yavaş uygulama yanıtı veya ağ yolundaki (routing) sorunlar. mtr ile hop-by-hop analiz yaparak darboğazı tespit edin.
Sonuç
VPS ağ performansı optimizasyonu, TCP BBR etkinleştirme, kernel buffer boyutlarını ayarlama ve DNS önbelleği kurma gibi somut adımlarla başlar. Bu değişiklikler genellikle birkaç dakikada uygulanır ve throughput'ta belirgin iyileşme sağlar. Değişiklik öncesi mevcut ayarları yedekleyin ve iperf3 ile öncesi/sonrası karşılaştırma yapın.
Düşük Latency, Yüksek Bant Genişliği
Hosted Cloud bulut sunucuları, premium ağ altyapısı ile düşük latency ve yüksek throughput sunar.
Bulut Sunucu Planlarını İncele →Elif Demir
Cloud Solutions Architect
Kurumsal bulut geçiş projeleri ve hibrit altyapı tasarımı konusunda uzman. AWS, Azure ve özel bulut ortamlarında 8 yıllık deneyime sahiptir.
Yorumlar yakında