Trasferimento lento dei file tra server domestico e PC su Ethernet


1

Ho un server HP Proliant DL385 G5p che uso per ospitare un file server personale di Debian 9 tramite una VM su un hypervisor. Questa VM ha una propria connessione Ethernet da 1 Gb / s ad un interruttore della stessa velocità, a cui è collegato anche il mio normale PC. Tutti e tre i dispositivi sono in grado di funzionare a 1 Gb / s.

In precedenza ho usato un'installazione Debian diretta sul disco sul server con il resto della rete lo stesso, e potevo raggiungere velocità di trasferimento abbastanza vicine a quelle da 1 Gb / s pubblicizzate, tuttavia, dal momento che ho avviato l'esecuzione del fileserver su una VM, trasferimento le velocità sono da qualche parte nell'intervallo da 5 MB / s (40 Mb / s), in una buona giornata.

Il software che sto usando per trasferire i miei file dal mio PC (con Windows 10) si chiama "SFTP Net Drive", che mi permette di visualizzare il contenuto del fileserver da Explorer (non volevo usare un altro strumento software per connettersi al server ogni volta solo perché Windows non supporta SFTP). Quando stavo eseguendo il server direttamente sul disco senza un hypervisor, stavo usando un programma chiamato "WinSCP", che consente più (fino a 9) trasferimenti simultanei sulla stessa rete. Ciò saturerebbe la connessione a 1000 Mb / s e non vedrei nessuna velocità scarsa se non quando si trasferiscono file molto piccoli (meno di 1 KB).

Ho usato IPerf per testare la connessione al server dal mio PC (e viceversa per essere sicuro) e la connessione è abbastanza vicina a ciò che dovrebbe essere, ~ 1000Mb / s. Ho anche testato la velocità di scrittura del disco sul server, ma sembra che stia funzionando bene (penso a circa 6000MB / s ma non riesco a ricordare bene. Non ricordo quale strumento ho usato per testare con entrambi). Ci sono 4 dischi fisici da 72 GB in RAID 5, che l'hypervisor interpreta come una unità logica. L'hypervisor quindi assegna alla VM un'altra partizione logica di questa unità, che può presumibilmente essere divisa nuovamente - da Debian nel mio caso - utilizzando LVM. (Non pensare di aver bisogno di tutte queste informazioni ma potrebbe essere utile).

Usando il fatto che il server ha funzionato bene prima, credo sia lecito ritenere che si tratti di un problema software o di una configurazione errata, probabilmente sul lato Windows. Una possibile spiegazione per la lentezza potrebbe essere il fatto che Windows sembra essere in grado di trasferire solo una cosa alla volta usando SFTP Drive? Qualsiasi aiuto nel capire questo e rettificarlo sarà molto apprezzato.

Modifica: Va bene, quindi ho trovato un'altra cosa strana che accade quando sto trasferendo file sul server usando il software che usavo, WinSCP. Durante il trasferimento di alcuni file musicali sul server (circa 50 MB ciascuno, circa 300 di essi) dopo che sono state stabilite tutte e 9 le connessioni simultanee, la velocità di trasferimento ha raggiunto il picco di 110 MB / s, dove è rimasta per circa 20 secondi. È quindi tornato rapidamente a 20-30 MB / s e vi è rimasto fino al completamento del trasferimento. Questo mi porta a credere che esista una sorta di buffer che, una volta saturato, rallenta la velocità di trasferimento per tenere il passo con le richieste di scrittura su disco? Non sono sicuro che abbia senso, ma a me sembra logico.

Modifica 2: le velocità di trasferimento sono altrettanto negative quando si spostano file dal server al PC, circa 3-8 MB / s secondo Windows.


Google "bufferbloat". È difficile trovare questi buffer, potrebbero essere ad esempio da qualche parte nel router.
dirkt

Risposte:


0

hai confrontato la velocità del disco della tua VM. Sembra che per me, specialmente se usi QCOW2, puoi ottenere cattive velocità: https://serverfault.com/questions/407842/incredibly-slow-kvm-disk-performance-qcow2-disk-files-virtio o https://serverfault.com/questions/675704/extremely-slow-qemu-storage-performance-with-qcow2-images solo google "slow qcow2" e vedi,


Ci scusiamo per la risposta lenta, è stata piuttosto impegnata ultimamente. Ad ogni modo, ho testato la velocità di lettura e scrittura della VM e ottenuto alcuni risultati decenti. Ho testato le velocità di lettura usando hdparm -Tt /dev/xvda5 e ha ottenuto letture cache 2000 + MB / s e circa 100 MB / s letture su disco bufferizzate. Velocità di scrittura testate con dd con pochi dati di dimensioni diverse e ha superato i 100 MB / s quando si utilizzano file di piccole dimensioni & gt; 10KB ma risultati piuttosto schifosi quando si utilizza 1 MB; meno di 50 MB / s.
James Stone

Sembra che abbiamo trovato uno dei problemi con il tuo VM. Ma non spiega tutto il resto. I prossimi passi per controllare sono due cose. Prova a creare ramdisk sotto il tuo vm per essere usato come condivisione e poi controlla l'utilizzo della cpu quando raggiungi i limiti della rete con il tuo ramdisk. Temo che anche tu stia avendo una cattiva virtualizzazione per il routing dei tuoi dispositivi di rete
Abdurrahim

Sto usando un programma sul mio PC chiamato XCP-ng Center con letture dei dati delle prestazioni. Includerò screenshot di questo in una modifica.
James Stone

Ancora dispiaciuto per la risposta lenta. A tutt'oggi non sono stato in grado di farlo, tuttavia, un pensiero mi è passato per la testa: attualmente sto usando RAID 5 sul server e secondo [questo sito] (www.raid-calculator.com/default. aspx) con 4 dischi da 0.072 TB in RAID 1 + 0 che potrei avere potenzialmente maggiori prestazioni del disco. Ne varrebbe la pena testarlo? Probabilmente dovrei cancellare il server e ricominciare da capo.
James Stone

Non senza precedenti migliorerà la velocità non risolverà il tuo problema reale. Quello che stai lottando non riguarda le prestazioni dell'host, ma è un problema di virtualizzazione. Molto probabilmente troverei qualcosa di sbagliato se ho controllato questo XCP-ng (una sorta di hypervisor xen preconfigurato). Se hai tempo prova qualcos'altro come usare direttamente libvirt o forse prova più semplice prova virtualbox o vmware. Otterrai buone velocità quando configurerai correttamente. Assicurati anche di controllare che cosa offre XCP-ng: se puoi testare la virtualizzazione di rete, i dischi raw (preallocati) ecc. E vedere
Abdurrahim
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.