Mengapa kecepatan salin file jaringan saya membentuk gelombang?

16

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:

Grafik kecepatan penyalinan dari Windows 10

Tidak ada masalah di sini, saya hanya ingin memahami cara kerja.

Gricey
sumber
1
Beberapa detail lebih lanjut tentang konfigurasi disk ReadyNAS akan membantu. Apakah Anda menggunakan RAID 5 pada tiga drive? Berapa kecepatan tulis pada setiap drive? Apa buffer di setiap drive dan apakah ada cache yang ReadyNAS gunakan? Sudahkah Anda mencoba alat lain seperti TeraCopy untuk melihat apakah tarif transfer Anda berbeda? Jika tidak, mungkin ada hambatan dengan penulisan cache disk, terutama jika tingkat penulisan Anda tidak baik (misalnya Seagate Barracuda).
Minggu
Apakah Anda menutup semua proses lain yang mungkin menggunakan NAS dalam interval?
Arjan

Jawaban:

6

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.

abstrask
sumber
Bukankah itu menghasilkan garis horizontal dengan lonjakan mendadak (turun ke sekitar nol) setelah buffer penuh?
Arjan
Grafik salinan file tampaknya dihaluskan, mungkin untuk daya tarik visual. PerfMon kemungkinan akan menghasilkan grafik yang jauh lebih akurat. Juga, itu akan tergantung pada algoritma yang digunakan untuk membilas ke disk - misalnya berhenti menerima data sampai semua ditulis ke disk vs membatasi menerima data ke tingkat yang lebih lambat, yang memungkinkan penulisan ke disk lebih cepat daripada data baru diterima.
abstrask
17

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.

Spiff
sumber
Maaf tentang kurangnya detail, saya tidak yakin apa yang perlu diketahui orang. Saya menggunakan seseorang dan grafik itu mencakup periode sekitar satu menit
Gricey
4
@Gricey: Jangan berkomentar: perbaiki pertanyaan !!
Lightness Races dengan Monica
-1 untuk nitpicking yang tidak perlu
user541686
@LightnessRacesinOrbit diperbaiki
Gricey
1
@ Gricey Saya minta maaf karena sangat pilih-pilih tentang detail. Saya mengerti sentimen bahwa jika Anda tidak tahu detail apa yang dibutuhkan orang, sulit untuk mendokumentasikan banyak hal. Ini adalah keseimbangan yang sulit antara memastikan untuk cukup mendokumentasikan sehingga orang yang membantu tidak akan frustrasi, dan merasa seperti mungkin Anda membuang-buang waktu untuk mendokumentasikan hal-hal yang tidak penting.
Spiff
0

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

permainan kata-kata
sumber
3
Ini tidak benar-benar menjawab pertanyaan.
Lightness Races dengan Monica