Yükleme Sırasında VPN Neden Yavaş Hissettirir: Kuyruk Gecikmesi
Paketler bir kuyrukta beklerken hızlı bir aktarım bile aramaların kesilmesine yol açabilir. VPN uç noktasını suçlamadan önce boşta ve yük altındaki gidiş-dönüş sürelerini karşılaştırın.
Bir yedekleme yüklenmeye başlar, aktarım sayacı sağlıklı görünür ve görüntülü arama allak bullak olur. Bağlantıda o sayının ima ettiği anlamda bant genişliği eksikliği yoktur; paketler bir yerde kuyrukta bekler ve etkileşimli paketler büyük verinin arkasında durur. Bu, genellikle bufferbloat denen kuyruk gecikmesidir. VPN kendi kuyruğunu ekleyebilir, ancak sorunu nadiren tek başına yaratır.
Bant genişliği ve gecikme farklı ölçümlerdir
Aktarım hızı saniyede ne kadar verinin hareket ettiğini yanıtlar, gecikme ise bir paketin yolu katetmesinin ne kadar sürdüğünü yanıtlar. Doymuş bir bağlantı büyük bir birikimi tutabilir ve yine de iyi aktarım hızı bildirebilir, çünkü patlama bittiğinde kuyruk hat hızıyla boşalır. Etkileşimli trafik önce acı çeker, çünkü bir arama birkaç milisaniyede bir paket ister, sonunda büyük bir dosya değil. Bu yüzden yalnızca hız testi sonucunu ölçmek, sizi bakmaya iten belirtiyi gizler.
Yük altındaki yöne de dikkat edin. Dolu bir yükleme arabelleği, indirme kapasitesi boşta dururken diğer her şeyi geciktirebilir.
Yük altında gidiş-dönüş süresini ölçün
Sakin bir bağlantıda temel çizgi alın, ardından kontrollü bir aktarım çalışırken aynı ölçümü tekrarlayın. Mutlak sayılar yerine iki çalıştırmayı karşılaştırın.
ping -c 20 -i 0.2 203.0.113.5
dd if=/dev/zero bs=1M count=50 | ssh [email protected] "cat > /dev/null"İlk komut gidiş-dönüş süresinden örnekler alır, ikincisi ise hız testi hizmetine gerek kalmadan sürekli bir yükleme oluşturur. Düz kalan bir temel çizginin ardından yüzlerce milisaniye yükselen yüklü bir çalıştırma, aradığınız imzadır. Bazı ağlar ICMP'nin önceliğini düşürür, bu yüzden ping'i bir ipucu olarak görün ve uygulamanın kendi gecikme göstergesiyle doğrulayın. Ölçümlü bağlantılarda testi kısa tutun, çünkü tekrarlanabilir bir karşıtlık uzun bir doygunluktan daha önemlidir.
Kuyruğu darboğazın olduğu yere taşıyın
Kuyruk yönetimi yalnızca birikimi gerçekten tutan cihazda yardımcı olur. Kurallar eklemeden önce arayüzün ne yaptığını inceleyin.
tc -s qdisc show dev eth0
tc qdisc replace dev eth0 root fq_codelshow komutu mevcut disiplini ve birikim ile düşürme sayaçlarını bildirir; bu da bu arayüzün darboğaz mı olduğunu yoksa yalnızca trafiği mi geçirdiğini söyler. Kök disiplini adil bir kuyruk algoritmasıyla değiştirmek, kısa akışlara büyük veriyle paylaşılan tek bir FIFO yerine kendi sırasını verir. Yönlendirici darboğaz olduğunda bunu yönlendiricinin WAN arayüzüne uygulayın, alışkanlıktan tünel cihazına değil. Önceki yapılandırmayı koruyun ve hem yük altındaki yanıtı hem de aktarım hızını yeniden test edin, çünkü biraz daha düşük toplu hız kullanılabilir aramalar için iyi bir takastır.
Tünel neyi değiştirir ve neyi gizler
VPN şifreleme ve bir sıçrama daha ekler, ayrıca tek tek akışları tünelin dışındaki ekipmandan gizler. Bu, üst akıştaki bir cihaz uygulama başına öncelik sunduğunda önemlidir, çünkü özgün konuşmalar yerine şifrelenmiş paketleri görür. Tüneli kendisi sonlandıran yönlendirici farklı bir görünüme ve iş yüküne sahiptir ve içinde sınıflandırma yapabilir. İki düzenlemeden hiçbiri erişim bağlantısındaki kuyruğu ortadan kaldırmaz; gecikme genellikle orada birikir.
Gecikme yükü izlemiyorsa kuyrukları ayarlamayı bırakın ve başka yere bakın: Wi-Fi koşulları, paket boyutu sorunları veya tek bir kötü çıkış yolu. Ölçüm olmadan uygulanan kuyruk ayarları yalnızca gizemi taşır.