1. Anasayfa
  2. Linux

FreeBSD 14.2 ve Debian 12.10’ sürümlerinde VMware vSphere Ortamında Ağ Performansı ve CPU Verimliliği Karşılaştırması


FreeBSD 2.2.8 den bu yana FreeBSD’nin TCP/IP ağ yığını konusunda sektördeki en iyi sistem olduğuna inanıyordum. Ancak yakın zamanda gerçekleştirdiğim bazı testler bu inancımı yeniden sorgulamama neden oldu. Özellikle VMware sanal makineleri (VM) üzerinde yaptığım ağ performansı testleri Debian 12.10’un varsayılan ayarlarla FreeBSD 14.2’den çok daha yüksek bir ağ verimliliği sunduğunu gösterdi.

Bu makalede FreeBSD ve Debian’ın aynı donanım ve sanallaştırma koşullarında gerçekleştirdiğim ağ veri aktarım test sonuçlarını ve bu sonuçlar doğrultusunda yaptığım sistem ayarlarını detaylı bir şekilde ele alacağım.

Test Ortamı

  • Sanal Makineler: VMware ESXi 8.0.3 üzerinde çalıştırılan iki VM
  • Donanım: Intel Xeon E5-2680 v4 @ 2.40GHz
  • VM Yapılandırması:
    • 1 vCPU (2000 MHz ile sınırlı)
    • 2 GB RAM
    • Ağ kartı: vmxnet3
  • Test Aracı: iperf
  • Komutlar:
    • Sunucu: iperf -s
    • İstemci: iperf -c [IP] -t600 -i5

Varsayılan Ayarlarla Test Sonuçları

FreeBSD 14.2
  • Ağ Hızı: 1.34 Gb/s
  • CPU Kullanımı: Her iki VM’de ~%40
  • MTU: 1500 (varsayılan)
Debian 12.10
  • Ağ Hızı: 9.5 Gb/s
  • CPU Kullanımı: İstemci %50, sunucu %60
  • MTU: 1500 (varsayılan)

FreeBSD Performans İyileştirme Denemeleri

1. Ağ Tamponlarını Artırmak:

  • kern.ipc.maxsockbuf: 2MB → 8MB
  • net.inet.tcp.sendspace: 32KB → 4MB
  • net.inet.tcp.recvspace: 64KB → 4MB

Sonuç: Performans 1.34 Gb/s’ten 1.2 Gb/s’e düştü. Beklenen iyileşme sağlanamadı.

2. Jumbo Frames Aktifleştirme:

  • Komut: ifconfig vmx0 mtu 9000
  • Performans: 5 Gb/s
  • CPU Kullanımı: Her iki VM’de %20

Jumbo Frames etkinleştirildiğinde önemli bir iyileşme gözlemlendi; throughput 3.7 kat arttı ve CPU kullanımı azaldı. Ancak Debian’da Jumbo Frames etkinleştirilse bile herhangi bir fark yaratmadı.

3. TCP Offloading Aktifleştirme (LRO):

  • Komut: ifconfig vmx0 txcsum rxcsum tso4 tso6 lro
  • Performans: 7.29 Gb/s
  • CPU Kullanımı: İstemci %20, sunucu %25

LRO özelliği açıkken ağ performansı belirgin şekilde iyileşti. Ancak hâlâ Debian’ın varsayılan performansının gerisinde kalıyor.

4. LRO + Jumbo Frames Kombinasyonu:

  • Komut: ifconfig vmx0 mtu 9000 txcsum rxcsum tso4 tso6 lro
  • Performans: 8.9 Gb/s
  • CPU Kullanımı: İstemci %25, sunucu %30

FreeBSD’nin en yüksek performansı bu kombinasyonla elde edildi. Debian’ın 9.5 Gb/s’lik varsayılan performansına oldukça yaklaştı.

SistemMTULROAğ Hızı (Gb/s)CPU Kullanımı (%)
FreeBSD1500Yok1.34~%40
FreeBSD9000Yok5.0~%20
FreeBSD1500Var7.29%20 / %25
FreeBSD9000Var8.9%25 / %30
Debian1500Var9.5%50 / %60
Debian9000Var9.5%50 / %60

Debian, varsayılan kurulumuyla FreeBSD’ye kıyasla 7 kat daha yüksek ağ veri aktarımı sağlıyor.

FreeBSD, LRO ve Jumbo Frames etkinleştirildiğinde performans olarak Debian’a yaklaşabiliyor ancak varsayılan durumda zayıf kalıyor.

Debian, daha yüksek throughput sunmasına rağmen daha fazla CPU kullanıyor. FreeBSD ise daha düşük CPU ile benzer değerlere ulaşabiliyor (LRO + Jumbo ile).

Debian’daki ilginç durum: Jumbo Frames etkinleştirilmesine rağmen performansta hiçbir değişiklik olmuyor.

FreeBSD’de LRO özelliğinin varsayılan olarak devre dışı olması, düşük VMXNET3 performansının ana sebebi.

FreeBSD, ayarlamalarla Debian’a yaklaşabiliyor ama varsayılan kurulumda çok geride.

Debian, varsayılan olarak tüm TCP offloading özelliklerini aktif hale getiriyor.

Jumbo Frames, sadece FreeBSD üzerinde performansa etki ediyor.

İlginizi Çekebilir