Bir internet bağlantısı depolama yazma hızından daha hızlı olduğunda ne olur?


28

Bir kişi 500 Mb / sn (100 MB / sn) hızında, 500 Mb / sn (62.5 MB / sn) yazma hızında bir sabit sürücüye indirmeyi denediyse, ne olurdu? Sistem indirme hızını sınırlar mı?


5
Bu ve ağların başlangıcından beri, hızlı bir ağdayken, yoğun saatler dışındaki bir üniversitedeki gibi, genel bir durum.
Peter - Monica

4
Programlayabildiğiniz için, bunu kolayca kendiniz gözlemleyebilirsiniz. Basit bir TCP sunucusu ve istemcisi yazın (tercih ettiğiniz dilde soket kütüphanesi için örnekler bulabilmelisiniz), servisin verilerini olabildiğince hızlı teslim etmesine izin verin ve müşteriyi bu verileri yalnızca belirtilen bir hızda okuyacak şekilde değiştirin (okur arasındaki uyku). Verilerin eksiksiz alındığını kontrol edin. Wireshark veya benzeri bir ürünle gönderilen paketleri bile gözlemleyebilirsiniz.
Carsten S

3
@ PeterA.Schneider'in gönderisinde anlatıldığı gibi bir deneyime sahip olduktan sonra, işletim sisteminin RAM tamponlarını göz önünde bulundurmanız gerektiğini söyleyebilirim. Onlar doluncaya kadar, indirilen verileri RAM hızında etkili bir şekilde saklayabilirsiniz. (Genellikle saniyede binlerce megabayt.)
Hiç kimse

Hiç kimse Ve, elbette, tipik bilgisayarınızın RAM'ının bile dayanamayacağı kadar hızlı veri ileten internet omurgasını oluşturan saçma borular her zaman vardır!
Cort Ammon - Monica

Bilgisayarınız ICMP isteğini yavaşlatmasını söyleyerek değiştirebilir. Ancak, bu yetersiz hızlarda bir SSD veya M.2 ssd elde edebilirsiniz ve şimdi yazma hızınız o kadar yüksek ki 100 mb / sn kolay olacaktır. Bazı M.2'ler 1500 MB / sn'dir. Bir RAID'e 2 veya daha fazlasını koyun ve bu hızı çok kez artırabilirsiniz. sade SSD, kapasiteye ve markaya bağlı olarak 300-450 MB / sn olabilir. storagereview.com/samsung_960_pro_m2_nvme_ssd_review
cybernard

Yanıtlar:


41

İnternette en yaygın kullanılan protokol olan TCP de dahil olmak üzere birçok protokol akış kontrolü denilen bir şey kullanır. Akış kontrolü basitçe, TCP'nin, göndericinin, arabelleğini boşaltabileceğinden daha hızlı paketler göndererek bir alıcıya zorlamadığından emin olmasını sağlar. Buradaki fikir, veri alan bir düğümün, mevcut durumu hakkında bilgi vermek için verileri gönderen düğüme bir tür geri bildirim göndereceğidir. Bu nedenle, iki yönlü geri bildirim, her iki makinenin kaynaklarını en iyi şekilde kullanmalarını ve donanımlarındaki uyuşmazlık nedeniyle oluşabilecek sorunları önlemelerini sağlar.

https://en.wikipedia.org/wiki/Flow_control_(data)


2
... ideal olarak. Bufferbloat , birkaç anahtarın sürekli büyüyen bir paket destesini saklamak ve iletmek için muhtemel olacağı anlamına gelir (bu, zaman zaman ACK'ların devam etmesini gerektiren bir transfer protokolüyle hafifletilebilir).
Eric Towers

3
Bunun, tüketici kapasitesine bakılmaksızın, mutlu bir şekilde göndermeye devam edecek olan TCP'yi (hey, adına göre kontrolü var) ayırdığını söyleyebilirsiniz.
Peter - Monica

5
@Fabian Bu zaten her zaman olan şey. İşletim sisteminin sabit disk önbelleği, verilerin RAM belleğindeki önbelleği doldurarak ve en kısa sürede diske yazılabileceğinden çok daha hızlı bir şekilde HDD'ye gönderilmesine izin verir. Bu nedenle, makinenizdeki (kullanılmayan) RAM miktarına bağlı olarak, OS, diske ulaşmadan önce düzinelerce ila yüzlerce MB'lik dosyayı RAM'da tamponlayabilir. Bununla birlikte, önbellek boyutu bir uzlaşmadır, çünkü uygulamanın diskte kalıcı olduğunu düşündüğü veriler, (güç) arızası veya benzeri durumlarda beklenmeyen veri kaybına neden olabilecek belirli bir süre olmayabilir.
JimmyB

2
@Fabian: Windows'ta dosya kopyalama iletişim kutusunda 8.1'den itibaren görebilirsiniz. Genişletilmiş modda, aktarım hızını gösterir ve bir saniyenin ilk yarısının çok hızlı olduğunu ve dosyanın bu sırada aktarılabilecek olandan daha büyük olması durumunda hızın önemli ölçüde düştüğünü gözlemleyebilirsiniz. sabit bir oran. Başlangıçtaki bu hızlı hız önbellekten kaynaklanıyordu. Doldurulduktan sonra, hız azaltılır.
vsz

1
@EricTowers Hayır, arabellek yalnızca bir ağ bağlantısı tıkanıklık olduğunda gerçekleşir. (Diğer sabit disk işlemleri yavaşlatacaktır o, sabit sürücünün en bufferbloat biçimi görebilirsiniz, ancak diğer ağ bağlantıları etkilemez)
user253751

12

ne olacaktı

  • Zaman içinde HDD’ye yazılamayan baytlar geçici olarak bir yerde tamponlanır; büyük olasılıkla bazıları ağ trafiğini "HDD trafiğine" (yani, tarayıcınıza) "dönüştüren" uygulamada ve daha uzun tıkanıklık durumunda, yığının alt düzey kısımlarını (yani PC) daha düşük seviyelerde tamponlara sahip olacak, bu da doluncaya kadar dolduracaktı.
  • Verilerin çok hızlı geldiğine dair bilgiler gönderene bir şekilde geri gönderilir. TCP / IP durumunda, bu, gönderene göndermeyi durdurması gerektiğini söyleyen TCP protokolünün bir parçası olduğu anlamına gelir. TCP / IP'deki Wikipedia sayfası en iyisini söylediğinde şunu söyler:

    [TCP] sorumluluğu, temel ağdan bağımsız olarak uçtan uca mesaj aktarımını, hata kontrolünü, bölümlendirmeyi, akış kontrolünü, tıkanıklığı kontrolünü ve ...

  • Günün sonunda, "sistem" (mutlaka alıcının bilgisayarı değil, gönderen, ağ ve alıcıdan oluşan toplam sistem) dolaylı olarak indirme hızını "sınırlar". Hiçbir noktada, var olan bir "hız" değişkeni değildir. Hem ağ trafiği hem de HDD trafiği blok temellidir, yani, bu bloklar arasındaki gecikmeler, net "hız" (verim) ortalamadaki daha düşük hızla aynı olana kadar yeterince uzun olacaktır (ağ tarafında) HDD.

Sistem indirme hızını sınırlar mı?

Kelimenin tam anlamıyla değil. Birkaç düzine yıl önce, bilgisayarlar gerçekten senkron hızlarla (yani sabit hız ayarlı modemler) haberleşiyorlardı. Bu, göreceli olarak düşük bir seviyede, bugün de oluyor; yani, DSL veya kablolu modeminiz muhtemelen doğrudan fiziksel yukarı bağlantı bileşeni ile iletişim kurduğu belirli bir hıza sahip olacaktır. Ancak 2017'de, bunların tümü, neredeyse tüm bileşenlerin oldukça dinamik olması için yeterince karmaşıktır. Eski güzel günlerde modemler genellikle fiziksel olarak yalnızca belirli bir hızda konuşabiliyorlardı ve hatta aramadan önce kurulması bile gerekiyordu. Eşzamanlı bir geniş alan ağı elde etmeye çalışan ATM gibi bazı ağ protokolleri vardı. ancak TCP / IP ile karşılaştırıldığında çok iyi sonuçlanmadılar.

Bugün, etkili hız genellikle tamponlama, akış kontrolü ve benzeri ile genellikle her zaman örtük olarak elde edilir.

Ayrıca, örneğinizde daha fazla katılımcı olabileceğini de unutmayın. Ağ arayüzünün yapacak daha fazla işi olabilir (PC'nize diğer bağlantılar). Yol boyunca ağın bir kısmı meşgul olabilir (sörf yapan veya video izleyen bir aile üyesi). HDD, aynı anda 3 büyük dosya yazarlığı yapıyor olabilir. Bu yüzden, özellikle kapatılabilecek bir "hız" ayarlamak mantıklı olmaz.


2

Dosya indirmeleri (genellikle) TCP adlı bir protokol üzerinden gerçekleşir. TCP'de, gönderici, alıcı onu almaya hazır olana kadar herhangi bir veri göndermez.

Gerçekleşecek olan şey, bilgisayarınızın alınan verileri geçici olarak sabit sürücünüze yazmadan önce tutmak için bir miktar RAM ayırmasıdır (buna tampon olarak adlandırılır). Sonra göndericiden arabellek doldurmak için yeterli veri ister. Veri alırken, arabellekten sabit sürücüye veri yazmaya başlayacaktır - ancak arabellek neredeyse dolu iken daha fazla veri istemeyecektir.

Genel etki, gönderenin alıcının göndermeye devam etmeden önce yakalamasını beklemesidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.