Düşük VPN aktarım hızı bir entropi sorunu mu? Genellikle değil
Açılışta rastgele sayıları bekleyen bir takılma ile yavaş bir tünel farklı arızalardır. Seed veya arabellekleri değiştirmeden önce hangisine sahip olduğunuzu ölçün.
Tünel üzerinden yavaş aktarım hızı ile rastgele sayıları beklerken donan bir makine çok farklı deneyimler üretir, ancak yine de aynı şikâyet altında kaydedilir. Biri herhangi bir şey çalışmadan önce bir duraklama olarak görünür. Diğeri çalışan ve siz izlediğiniz sürece veriyi yavaşça taşıyan bir bağlantı olarak görünür. Hangisine sahip olduğunuzu belirlemek on dakika sürer ve bir haftalık tahminden kurtarır.
Birbirine benzeyen iki belirti
Yeni bir açılıştan sonra, tek bir bağlantıyı bile kabul etmeden önce takılan bir hizmet bir şeyi bekliyordur. Hızla kurulan ve ardından beklenen hızın bir kısmıyla aktaran bir tünel başka bir şeyle sınırlanır. Şifreleme kelimesi her iki hikâyede de geçer, bu yüzden birleştirilirler. Bir yapılandırma dosyasına dokunmadan önce onları ayırın.
Açılış, kimlik doğrulama, anahtar yeniden müzakeresi ve aktarımın kendisi etrafına zaman damgaları koyun. Tünel kullanılabilir hale gelmeden önceki uzun gecikme düşük sabit bir hız değildir ve ikisinin bir sayıda ortalamasını almak kanıtı yok eder.
systemd-analyze blame | head -10 journalctl -u [email protected] -o short-precise | head -40 cat /proc/sys/kernel/random/entropy_avail
İlk iki komut açılış işini bir zaman çizelgesine yerleştirir. Üçüncüsü çekirdeğin entropi muhasebe değerini yazdırır; bu tek bir veri noktası olarak yararlı, bant genişliği ölçer olarak yararsızdır.
Rastgele sayı beklemesi gerçekte nasıl görünür
Güvenli rastgele bayt talebi, çekirdek rastgele kaynağını başlatana kadar engellenebilir. Bu en çok sanal makinelerde ve küçük gömülü kartlarda açılışın başında, ortam gürültüsü az toplandığında önemlidir. Bundan her şifrelenmiş baytın taze entropi tükettiği sonucu çıkmaz.
Modern üreteçler bir kez seed edilir ve ardından deterministik bir yapıdan çıktı üretir, kendi programlarına göre yeniden seed edilir. Toplu aktarım bir havuzu bayt bayt boşaltmaz, bu yüzden yavaş bir aktarım sırasında düşük havuz değeri neden hakkında hiçbir şey kanıtlamaz.
strace -f -e trace=getrandom -p $(pidof openvpn) 2>&1 | head -20 dmesg | grep -i 'random\|crng'
İlk komut, siz izlerken sürecin bir rastgele sayı çağrısında oturup oturmadığını gösterir. İkincisi çekirdeğin kendi başlatma iletilerini gösterir ve erken açılış takılması tam orada görünür hale gelir.
Çekirdek sürümünü ve hizmetin gerçekte bağlandığı kitaplığı not edin, çünkü davranış uygulamalar arasında ve sürümler arasında farklıdır. Kurtarmadan sonra alınan iz genellikle duraklamayı tamamen kaçırır.
Sürekli yavaşlık gerçekte nasıl görünür
Baştan sona yavaş aktaran bir tünel veri yoluyla sınırlanır. Tek bir doymuş iş parçacığı, dış paket kaybı, yeniden iletimler veya dolu soket kuyrukları her biri bu deseni üretir ve her birinin kendi düzeltmesi vardır. Toplu CPU yüzdesi tek bir meşgul iş parçacığını gizler ve bu en yaygın yanlış okumadır. Toplam yüke bakmadan önce iş parçacığı başına süreye bakın.
Karşılaştırılabilir bir temelle her iki yönde ölçün ve uygulamanın kendi raporu yerine arabirim sayaçlarını izleyin.
ss -tin dst 203.0.113.10 nstat -az | grep -i 'drop\|retrans' ethtool -S eth0 | grep -i 'drop\|error'
İlk komut bir eş için kuyruk ve tıkanıklık durumunu gösterir. İkinci ve üçüncü, yığında ve arabirimde düşmeleri ve yeniden iletimleri bildirir; neden genellikle ilk orada ortaya çıkar.
Ölçtüğünüz darboğaz için düzeltmeyi seçin
Kanıtlar erken açılış başlatmasına işaret ediyorsa, platformun desteklediği seed yoluna bakın; bu, sanal bir makinede ana makinenin sağladığı rastgele bir aygıtı içerebilir. Birçok konuğa değişmeden kopyalanan bir seed imajı bağımsız başlatmanın yerini tutmaz.
Kanıtlar veri yoluna işaret ediyorsa, sayaçların işaret ettiği şeyi ayarlayın. Tampon boyutları kuyruklar taştığında yardımcı olur ve tek bir iş parçacığı doymuşsa hiçbir şey yapmaz. Bir sayacı yükseltmek için entropi artalan süreci kurmak aktarım onarımı değildir ve bir grafiğin daha iyi görünmesi için seed varsayımlarını değiştirmek bir güvenlik özelliğini bir sayıyla değiştirir.
Değişikliği yalnızca aynı ölçüm aynı koşullarda iyileştiğinde kabul edin. Daha büyük bir sayaç sonuç değildir; daha kısa ölçülen bekleme veya nedeni belirlenmiş daha hızlı bir aktarım sonuçtur.