Perché la velocità di copia dei miei file di rete forma un'onda?


17

Con l'aggiornamento a Windows 10 ora ho questo bel grafico durante la copia dei file.

Quando copio un singolo file di grandi dimensioni, la velocità assume sempre questa forma d'onda ragionevolmente coerente. Cosa lo causa?

La connessione è

My PC <- cable -> gigabit switch <- cable -> Netgear ReadyNAS

I file vengono copiati tramite SMB, questo grafico mostra una copia del genere in circa un minuto:

Grafico della velocità di copia da Windows 10

Non c'è nessun problema qui, voglio solo capire come funzionano le cose.


1
Alcuni ulteriori dettagli sulla configurazione del disco ReadyNAS sarebbero di aiuto. Stai utilizzando RAID 5 su tre unità? Qual è la velocità di scrittura su ogni unità? Qual è il buffer su ogni unità e c'è qualche cache che ReadyNAS utilizza? Hai provato altri strumenti come TeraCopy per vedere se le tue velocità di trasferimento sono diverse? In caso contrario, potrebbe esserci un collo di bottiglia con la scrittura nella cache del disco, soprattutto se le velocità di scrittura non sono buone (ad es. Seagate Barracuda).
Dom

Hai chiuso tutti gli altri processi che potrebbero utilizzare il NAS a intervalli?
Arjan,

Risposte:


6

Risposta breve: Scrivi cache

TL; DR: prima di tutto, c'è molto meno overhead quando si copia un singolo file di grandi dimensioni, rispetto a molti più piccoli. Ciò significa che PC e NAS non stanno "sprecando" molto tempo alla ricerca di file, all'aggiornamento della tabella dei file e dei metadati del file system. Ciò significa anche un throughput molto più elevato, che probabilmente rivelerà alcuni dei colli di bottiglia della larghezza di banda nell'installazione.

I picchi e le valli nel grafico della larghezza di banda sembrano verificarsi a intervalli abbastanza regolari e dato il fatto che stai copiando un singolo file di grandi dimensioni (larghezza di banda massima, sovraccarico minimo), direi che stai vedendo l'effetto del buffering / cache .

Mi sembra che tu stia probabilmente inviando dati al NAS a una velocità maggiore di quella che è in grado di scriverli su disco. Grazie a cache / buffer di scrittura è ancora in grado di riceverlo a una velocità maggiore (i picchi del grafico), ma non è possibile continuare a ricevere dati senza eseguirne il commit su disco.

Alla fine il buffer si riempie e deve essere scritto sul disco. Nel frattempo, il NAS non può ricevere i dati più velocemente di prima, poiché non ha dove archiviarli (il buffer è pieno e i dischi sono più lenti). Questo è dove ottieni le valli del grafico.

Sembra che Windows stia livellando il grafico della velocità effettiva. Con grafici più precisi (diciamo da Performance Monitor), puoi effettivamente stimare la dimensione del buffer di scrittura, analizzando gli intervalli e i byte trasferiti.

Il motivo per cui i picchi e le valli non si verificano a intervalli perfettamente uniformi, è probabilmente perché PC, NAS o entrambi, stanno facendo "qualcos'altro" mentre si sta copiando il file.


Ciò non produrrebbe una linea orizzontale con picchi improvvisi (fino a circa zero) una volta che il buffer è pieno?
Arjan,

Il grafico della copia del file sembra essere sfumato, probabilmente per appello visivo. PerfMon produrrebbe probabilmente un grafico molto più accurato. Inoltre, dipenderebbe dall'algoritmo utilizzato per lo scaricamento su disco, ad esempio interrompere la ricezione dei dati fino a quando tutto non viene scritto sul disco anziché limitare la ricezione di dati a una velocità inferiore, che consente di scrivere su disco più velocemente della ricezione di nuovi dati.
abstrask

17

È difficile rispondere autorevolmente senza ulteriori indagini. Grazie per aver aggiornato la tua domanda con la scala temporale e il protocollo.

Potrebbe normale "capesante" TCP. TCP procede il più velocemente possibile fino a quando non si verifica una perdita di pacchetti. Quindi indietreggia leggermente e si rialza di nuovo. Quindi continua a "sbattere la testa contro il soffitto". Ecco come massimizza la larghezza di banda disponibile senza peggiorare la congestione. Di solito guardo le capesante TCP in un grafico TCPTrace, che è un po 'diverso da questo grafico. Mi aspetterei che sembri un po 'più simile a un dente di sega in questo tipo di grafico, ma potrebbe esserci qualche livellamento in corso in questo grafico. E ora che ci penso, le capesante TCP sarebbero in una scala temporale molto più piccola di quanto questo grafico sembra mostrare.

Potrebbe anche essere che il protocollo SMB (Remote Filesystem Protocol) legga il file un blocco alla volta e che i tuffi siano dove una lettura del blocco è terminata e viene richiesta la successiva.


Mi dispiace per la mancanza di dettagli, non ero sicuro di cosa le persone avrebbero bisogno di sapere. Sto usando smb e quel grafico copre un periodo di circa un minuto
Gricey,

4
@Gricey: non commentarlo: risolvi la domanda !!
Corse di leggerezza con Monica il

-1 per inutili nitpicking
user541686

@LightnessRacesinOrbit fixed
Gricey

1
@Gricey mi scuso per essere così esigente per i dettagli. Capisco il sentimento che se non sai di quali dettagli avranno bisogno le persone, è difficile voler documentare un sacco di cose. È un difficile equilibrio tra la certezza di documentare abbastanza che le persone che aiutano non saranno frustrate e la sensazione che forse stai perdendo tempo a documentare cose che non contano.
Spiff

0

Penso che Microsoft abbia introdotto questa funzionalità nella barra di avanzamento di Windows 8.

Da sinistra a destra mostra l' avanzamento in percentuale e il movimento Su-Giù mostra la velocità di trasferimento in MB / s .

Le velocità di trasferimento sono determinate dalla velocità dei supporti (BUS o rete), dal numero e dalle dimensioni dei file, dal file system e dalla disponibilità di risorse, ecc.

Inoltre durante un trasferimento di file avviene la lettura / scrittura di molti metadati.

Stai vedendo un'onda ragionevolmente coerente poiché questo overhead di lettura / scrittura di metadati è ridotto e altre risorse vengono utilizzate alla stessa velocità. I cali occasionali potrebbero essere eventi di perdita di pacchetti, lettura successiva del blocco, polling delle risorse, ecc.

Per ulteriori chiarimenti ecco ulteriori letture


3
Questo non risponde davvero alla domanda.
Corse di leggerezza con Monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.