BBR
BBR, Google tarafından hazırlanmış açık kaynaklı bir TCP ağ tıkanıklığı optimizasyon algoritmasıdır ve iki sorunu çözmeye kendini adamıştır: belirli bir paket kaybı oranına sahip ağ bağlantılarında bant genişliğinin tam kullanımını sağlamak. Ağ bağlantılarında tampon doluluğunu azaltarak gecikmeyi azaltın. TCP tıkanıklık kontrolünün amacı, ağdaki darboğaz bağlantılarının bant genişliğini maksimize etmektir.
TCP BBR, Google tarafından tasarlanıp yayımlanan bir TCP tıkanıklık kontrol algoritmaları setidir. Yeni çekirdek için desteğin yavaş olması ve Linux 4.9 çekirdeğinden beri TCP BBR için varsayılan destek nedeniyle, sunucu tek taraflı hızlandırma için zamanla ilk tercih haline gelmiştir. BBRplus, orijinal BBR'nin CSDN internet kullanıcısı dog250 tarafından modifiye edilmiş geliştirilmiş bir versiyonudur. BBRv2 ise, orijinal BBR'nin bir devam sürümüdür ve hâlâ beta aşamasında.
Ancak, çok çeşitli BBR türevleri karşısında, internette yatay karşılaştırma incelemeleri görmek nadirdir. Mevcut değerlendirmelerin bazıları genellikle deneyim ve öznel izlenimlere veya kontrol edilemeyen değişkenlerle saha dışı testlere dayanıyor. Bu yüzden Reizhi, BBR BBRplus ve BBR2 ile yerel yatay bir test yapmak için zaman ayırmaya karar verdi.
Test ortamı
VMware iş istasyonunu kullanarak iki Debian sanal makinesini açın, bu makinenin sunucusu A makinedir, Nginx üzerinden bir web servisi kurun ve indirme hızı testi için 100mb'lik bir dosya yerleştirin; Makine B bir istemci makinedir ve wget ile indirirsiniz. İki sanal makine sanal bir iç ağ üzerinden bağlanmış ve her ikisi de SSD SSD üzerindedir.
Test metodolojisi
A makinesinin ağ kartı, tc komutu üzerinden 150ms ± 15ms (rastgele dalgalanmalar) gecikmeye ayarlanır ve genel bir ağ ortamını simüle etmek için %8 paket kaybı kullanılır. Farklı BBR dal hızlandırma yükledikten sonra, 100MB'lik test dosyasını B makinesinden wget'e birkaç kez (≥5 kez) indirin ve ortalama en hızlı hızı 3 kez alın.
Test sonuçları
Test sonuçlarına doğrudan bakalım, BBRv2, hâlâ beta aşamasında, bu testte en yavaş olanıdır ve 4.19 çekirdeğindeki varsayılan kübik algoritma ile neredeyse aynı hıza sahiptir. Şaşırtıcı bir şekilde, BBRplus, orijinal BBR'den önemli ölçüde daha hızlı olmasına rağmen, 5.5 çekirdek ile BBR'nin çok gerisinde.
Testlerimde çok şaşırtıcı olan şey, indirmeyi başlattıktan sonra BBRplus dalının çok hızlı tırmanmasıydı. Ama nedense, indirme yaklaşık %50 ~ %60'a geçtiğinde hız aniden düşüyor. Aşağıdaki grafik, BBRplus 4.14.129'un hız değişimlerini tamamen kaydetmektedir.
BBRplus 4.14.129
Başta Reizhi bunun bir test hatası ya da başka sebepler olduğunu düşündü, ancak yeniden başlatma, sistemi yeniden kurma, çekirdeği yeniden yükleme, çekirdeği manuel olarak derlemek ve BBRplus'u açmak gibi durumlarda iyileşmedi. Aynı test ortamında BBR 5.5'in hız performansı çok daha istikrarlıdır.
BBR 5.5.10
BBR 5.5.10, başlangıç hızı ve zirve hız açısından BBRplus kadar hızlı olmasa da, indirme süreci boyunca çok iyi bir hız sürdürür ve genel zaman tüketimi BBRplus'tan çok daha düşüktür. Bu, BBRplus'un küçük trafik patlamaları için daha uygun olduğu anlamına mı geliyor, oysa BBR büyük hacimlerde ve sürekli veri aktarımında üstün mi?
Ek açıklama -ları
Bu testte Sharp Speed ve Net-speeder'ı da denedik, ancak BBR2'ye benzer şekilde, genel hızları sadece çift haneli olduğu için sonuçlar burada yer almıyor.
BBR2 5.4.0-rc6
Yukarıdaki hız, yavaş hız nedeniyle tam olarak indirilmemiş BBR2'nin hızıdır.
Orijinal bağlantı:Bağlantı girişi görünür.
|