Dengan pemutakhiran ke Windows 10 sekarang saya punya grafik bagus ini saat menyalin file.
Ketika saya menyalin satu file besar, kecepatan selalu mengambil bentuk gelombang yang cukup konsisten ini. Apa yang menyebabkan itu?
Koneksinya adalah
My PC <- cable -> gigabit switch <- cable -> Netgear ReadyNAS
File disalin melalui SMB, grafik ini menunjukkan satu salinan seperti itu selama sekitar satu menit:
Tidak ada masalah di sini, saya hanya ingin memahami cara kerja.
networking
nas
Gricey
sumber
sumber
Jawaban:
Jawaban singkat: Tulis cache
TL; DR: Pertama, ada jauh lebih sedikit overhead saat menyalin satu file besar, dibandingkan dengan yang lebih kecil. Itu berarti PC dan NAS tidak "membuang-buang" banyak waktu mencari file, memperbarui tabel file dan data meta sistem file. Ini juga berarti throughput yang jauh lebih tinggi, yang kemungkinan akan mengungkapkan beberapa hambatan bandwidth dalam pengaturan.
Puncak dan lembah dalam grafik bandwidth tampaknya terjadi pada interval yang cukup teratur, dan mengingat fakta bahwa Anda menyalin satu file besar (bandwidth maksimum, overhead minimum), saya akan mengatakan Anda melihat efek buffering / caching .
Bagi saya, Anda mungkin mengirim data ke NAS dengan kecepatan lebih cepat daripada yang bisa menulisnya ke disk. Berkat menulis cache / buffer masih dapat menerimanya dengan kecepatan lebih cepat (puncak grafik), tetapi Anda tidak dapat terus menerima data tanpa melakukan itu ke disk.
Akhirnya buffer akan berjalan penuh dan harus ditulis ke disk. Sementara itu, NAS tidak dapat menerima data secepat sebelumnya, karena tidak memiliki tempat untuk menyimpannya (buffer penuh, dan disk lebih lambat). Di sinilah Anda mendapatkan lembah grafik.
Tampaknya Windows menghaluskan grafik throughput. Dengan grafik yang lebih tepat (katakanlah dari Monitor Kinerja), Anda sebenarnya dapat memperkirakan ukuran buffer tulis, dengan menganalisis interval dan byte yang ditransfer.
Alasan mengapa puncak dan lembah tidak terjadi dalam interval yang sangat seragam, mungkin karena PC, NAS atau keduanya, melakukan "sesuatu yang lain" saat Anda menyalin file.
sumber
Sulit untuk menjawab dengan otoritatif tanpa banyak penyelidikan lebih lanjut. Terima kasih telah memperbarui Pertanyaan Anda dengan skala waktu dan protokol.
Itu bisa TCP normal "kerang". TCP berjalan secepat mungkin sampai mengalami kehilangan paket. Kemudian sedikit mundur dan landai lagi. Jadi ia terus "membenturkan kepalanya ke langit-langit". Ini adalah cara memaksimalkan bandwidth yang tersedia tanpa membuat kemacetan lebih buruk. Saya biasanya melihat TCP scallop dalam grafik TCPTrace, yang sedikit berbeda dari grafik ini. Saya berharap itu akan terlihat sedikit lebih seperti gigi gergaji dalam grafik semacam ini, tetapi mungkin ada beberapa kehalusan yang terjadi dalam grafik ini. Dan sekarang saya berpikir tentang hal itu, TCP scallop akan berada dalam skala waktu yang jauh lebih kecil daripada yang tampak pada grafik ini.
Bisa juga protokol sistem file jarak jauh (SMB) Anda membaca file sekaligus, dan kemiringan adalah di mana satu potongan telah selesai dan yang berikutnya diminta.
sumber
Saya pikir Microsoft memperkenalkan fitur ini di progress bar di Windows 8.
Kiri ke Kanan menunjukkan kemajuan dalam persentase & gerakan Atas-Bawah menunjukkan kecepatan transfer dalam MB / s .
Kecepatan transfer didorong oleh kecepatan media (BUS atau Jaringan), jumlah & ukuran file, sistem file & ketersediaan sumber daya, dll ...
Juga selama banyak transfer file metadata baca / tulis berlangsung.
Anda melihat gelombang yang cukup konsisten karena metadata baca / tulis ini dikurangi dan sumber daya lain sedang digunakan pada tingkat yang sama. Dips sesekali bisa menjadi peristiwa packet loss, pembacaan chunk berikutnya, polling sumber daya, dll.
Untuk klarifikasi lebih lanjut, berikut bacaan selanjutnya
sumber