Ana içeriğe geç
Kategoriye Dön

Oyun Sunucusu Optimizasyonu: Performans ve Gecikme Azaltma

Oyun sunucusu performans optimizasyonu rehberi. CPU/RAM yönetimi, tick rate ayarları, network tuning ve kernel optimizasyonu.

Okuma süresi: 16 dk Oyun Sunucusu Kurulumları
optimizasyonperformansgecikmetick ratekernel tuningoyun sunucusunetwork

İçindekiler

Giriş

Oyun sunucusu performansı, oyuncu deneyimini doğrudan etkileyen kritik bir faktördür. Yüksek gecikme (latency), düşük tick rate ve yetersiz kaynak yönetimi oyuncuların sunucudan ayrılmasına neden olabilir. Bu rehberde REXE VDS üzerinde oyun sunucunuzu optimize etmek için CPU, RAM, network ve kernel düzeyinde yapılabilecek iyileştirmeleri detaylı olarak anlatacağız.

CPU Optimizasyonu

CPU Governor Ayarı

Varsayılan olarak Linux CPU frekansını dinamik olarak ayarlar. Oyun sunucuları için sabit yüksek frekans önerilir:

hljs bash
# Mevcut governor'ı kontrol et
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# Performance moduna geç
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

# Kalıcı yapmak için
sudo apt install cpufrequtils -y
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl restart cpufrequtils

CPU Affinity (taskset)

Oyun sunucusunu belirli CPU çekirdeklerine bağlayarak performansı artırabilirsiniz:

hljs bash
# Sunucuyu çekirdek 0 ve 1'e bağla
taskset -c 0,1 ./server_binary

# Çalışan bir process'i bağla
taskset -cp 0,1 $(pidof server_binary)

CPU İzolasyonu

Kernel parametresi ile belirli çekirdekleri oyun sunucusu için ayırın:

hljs bash
sudo nano /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT satırına ekleyin:
# isolcpus=2,3 nohz_full=2,3 rcu_nocbs=2,3
sudo update-grub
sudo reboot

RAM Optimizasyonu

Swap Ayarları

Oyun sunucuları için swap kullanımını minimize edin:

hljs bash
# Mevcut swappiness değerini kontrol et
cat /proc/sys/vm/swappiness

# Swappiness'i düşür (varsayılan 60)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

# Dirty page ayarları
echo 'vm.dirty_ratio=15' | sudo tee -a /etc/sysctl.conf
echo 'vm.dirty_background_ratio=5' | sudo tee -a /etc/sysctl.conf

sudo sysctl -p

Huge Pages

Büyük bellek sayfaları kullanarak TLB miss'lerini azaltın:

hljs bash
# Huge pages ayarla (2MB sayfa, 2048 adet = 4GB)
echo 'vm.nr_hugepages=2048' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# Kontrol et
cat /proc/meminfo | grep HugePages

OOM Killer Koruması

Oyun sunucusu process'ini OOM killer'dan koruyun:

hljs bash
# Process'in OOM score'unu düşür
echo -17 > /proc/$(pidof server_binary)/oom_adj

Tick Rate Optimizasyonu

Tick Rate Nedir?

Tick rate, sunucunun saniyede kaç kez oyun durumunu güncellediğini belirler. Yüksek tick rate daha akıcı oyun deneyimi sağlar ancak daha fazla CPU ve bant genişliği gerektirir.

OyunVarsayılan Tick RateÖnerilen
CS264128
Minecraft2020
Rust3030
FiveM3060
V Rising3030-60

Tick Rate Ayarlama

hljs bash
# CS2 için 128 tick
./cs2 -dedicated -tickrate 128

# Minecraft için (server.properties)
# Tick rate sabit 20'dir, TPS optimizasyonu yapılır

# FiveM için (server.cfg)
sv_maxclients 64
set sv_enforceGameBuild 3095

Network Optimizasyonu

Kernel Network Parametreleri

hljs bash
sudo nano /etc/sysctl.conf
hljs ini
# UDP Buffer boyutları
net.core.rmem_max=26214400
net.core.wmem_max=26214400
net.core.rmem_default=1048576
net.core.wmem_default=1048576

# Network queue boyutu
net.core.netdev_max_backlog=65536
net.core.somaxconn=65535

# TCP optimizasyonu
net.ipv4.tcp_rmem=4096 87380 26214400
net.ipv4.tcp_wmem=4096 65536 26214400
net.ipv4.tcp_max_syn_backlog=65536
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_keepalive_time=300
net.ipv4.tcp_keepalive_intvl=15
net.ipv4.tcp_keepalive_probes=5

# UDP optimizasyonu
net.ipv4.udp_rmem_min=8192
net.ipv4.udp_wmem_min=8192

# Bağlantı izleme
net.netfilter.nf_conntrack_max=1048576
net.nf_conntrack_max=1048576
hljs bash
sudo sysctl -p

Network Interface Optimizasyonu

hljs bash
# Ring buffer boyutunu artır
sudo ethtool -G eth0 rx 4096 tx 4096

# Interrupt coalescing
sudo ethtool -C eth0 rx-usecs 50 tx-usecs 50

# TCP offloading kontrol
sudo ethtool -k eth0

Kernel Tuning

I/O Scheduler

Oyun sunucuları için uygun I/O scheduler seçin:

hljs bash
# Mevcut scheduler'ı kontrol et
cat /sys/block/sda/queue/scheduler

# NVMe için none (noop) önerilir
echo none | sudo tee /sys/block/nvme0n1/queue/scheduler

# SSD için mq-deadline önerilir
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler

File Descriptor Limitleri

hljs bash
sudo nano /etc/security/limits.conf
hljs ini
steam soft nofile 1000000
steam hard nofile 1000000
steam soft nproc 65535
steam hard nproc 65535

Kernel Timer Frekansı

Daha hassas zamanlama için kernel timer frekansını kontrol edin:

hljs bash
# Mevcut timer frekansını kontrol et
cat /boot/config-$(uname -r) | grep CONFIG_HZ

# 1000 Hz önerilir (kernel derleme gerektirir)

İzleme Araçları

Performans İzleme

hljs bash
# CPU ve RAM kullanımı
htop

# Disk I/O izleme
sudo iotop -o

# Network bağlantıları
ss -tuln

# Network trafiği
sudo iftop -i eth0

# Detaylı process izleme
pidstat -p $(pidof server_binary) 1

Gecikme Testi

hljs bash
# Sunucu gecikmesini test et
ping -c 100 SUNUCU_IP

# MTR ile detaylı yol analizi
mtr --report SUNUCU_IP

# Network jitter testi
ping -c 100 SUNUCU_IP | awk -F'/' 'END{print "avg="$5" ms"}'

Otomatik Optimizasyon Scripti

hljs bash
nano ~/optimize_gameserver.sh
hljs bash
#!/bin/bash
echo "=== Oyun Sunucusu Optimizasyonu ==="

# CPU Governor
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 2>/dev/null

# Sysctl ayarları
sudo sysctl -w vm.swappiness=10
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400
sudo sysctl -w net.core.netdev_max_backlog=65536

# File descriptor limitleri
ulimit -n 1000000

echo "Optimizasyon tamamlandı."
hljs bash
chmod +x ~/optimize_gameserver.sh

Sonuç

Oyun sunucusu optimizasyonu CPU, RAM, network ve kernel düzeyinde yapılan iyileştirmelerle önemli performans artışı sağlar. Düzenli izleme ve doğru yapılandırma ile oyuncularınıza düşük gecikmeli, akıcı bir oyun deneyimi sunabilirsiniz. REXE VDS'in yüksek performanslı donanımı ve Path.net DDoS koruması ile sunucunuz en iyi performansta çalışır.