Salut,
il me semble avoir déjà évoqué ce truc : quand j'utilise un disque dur externe en USB2.0 (voire un USB3 sur port USB2), le débit est à pleurer, particulièrement en écriture. Cela démarre fort, puis très vite cela chute à 12-13Mo/s...
Comme cette carte mère semble avoir quelques soucis avec la gestion de l'alimentation des ports USB, suite à conseil de Patrick, j'ai essayé par le biais d'un Hub externe alimenté, d'abord un ancien, certainement en USB1.1, puis ce jour en USB2.0, sans que cela ne change quoique ce soit!
Un lsusb donne : Bus 001 Device 008: ID 1058:1078 Western Digital Technologies, Inc. Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB Bus 001 Device 004: ID 05e3:0723 Genesys Logic, Inc. GL827L SD/MMC/MS Flash Card Reader Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 058f:9360 Alcor Micro Corp. 8-in-1 Media Card Reader Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
De ce que je comprends, je suis bien connecté sur le Bus 001, qui est en en USB 2.0.
Une idée?
Merci, Vincent.
Le 13/12/2015 10:23, Vincent a écrit :
Salut,
il me semble avoir déjà évoqué ce truc : quand j'utilise un disque dur externe en USB2.0 (voire un USB3 sur port USB2), le débit est à pleurer, particulièrement en écriture. Cela démarre fort, puis très vite cela chute à 12-13Mo/s...
Zut, je viens de voir que je copier à partir d'une clé USB branchée sur l'autre bus.... en USB1.1.
Donc, je viens de refaire un test directement à partir de mon disque dur en SATA, et j'obtiens un débit qui démarre à 50Mo/s puis très vite descend à 24Mo/s. C'est mieux, mais pas terrible quand même... Quand j'écris du disque sda au sda, le débit est très variable, il oscille entre 50 et 20Mo/s ... Donc cela ne doit pas avoir grand chose avec les limitations du bus USB... Une idée?
A+ Vincent.
On 12/13/2015 10:29 AM, Vincent wrote: ..
Donc, je viens de refaire un test directement à partir de mon disque dur en SATA, et j'obtiens un débit qui démarre à 50Mo/s puis très vite descend à 24Mo/s. C'est mieux, mais pas terrible quand même...
Pour ce qui est des bonnes performances du début, on dirait l'effet du "buffering" en mémoire.
Si tu veux évaluer rapidement les performances (en lecture) d'un disque, tu peux utiliser cette commande :
# hdparm -tT /dev/sdX
Cet outil élimine l'effet du cache.
Quand j'écris du disque sda au sda, le débit est très variable, il oscille entre 50 et 20Mo/s ... Donc cela ne doit pas avoir grand chose avec les limitations du bus USB...
L'USB2 te donne à peu près 50 MB/s vers un disque dur dans le meilleur des cas : ça peut jouer.
Regarde les performances en lecture de chacun de tes disques dans un premier temps. Ca devrait suffir à expliquer les performances que tu vois.
A noter aussi un effet peu connu des disques rotationnels : le début du disque dur (l'extérieur) a un débit à peu près deux fois supérieur à la fin (l'intérieur).
http://www.coker.com.au/bonnie++/zcav/results.html
Dans ton cas ça ne devrait pas être dominant comme effet, mais suivant l'emplacement des fichiers sur le disque, ça peut jouer.
Vincent.
Le 13/12/2015 16:22, Vincent Stehlé a écrit :
Pour ce qui est des bonnes performances du début, on dirait l'effet du "buffering" en mémoire. Si tu veux évaluer rapidement les performances (en lecture) d'un disque, tu peux utiliser cette commande : # hdparm -tT /dev/sdX Cet outil élimine l'effet du cache.
Merci Vincent pour cette suggestion! Alors, j'ai fait quelques tests avec ou sans le hub, sur les prises avant ou arrière... Et ça ne change pas grand chose!
Le SATA interne pour avoir une référence : ~$ sudo hdparm -tT /dev/sda
/dev/sda: Timing cached reads: 3730 MB in 2.00 seconds = 1864.52 MB/sec Timing buffered disk reads: 230 MB in 3.02 seconds = 76.27 MB/sec
Puis un des disques externes (USB2), et ça oscille autour entre 19 et 22 avec ou sans le Hub,
~$ sudo hdparm -tT /dev/sdf
/dev/sdf: Timing cached reads: 3622 MB in 2.00 seconds = 1811.26 MB/sec Timing buffered disk reads: 68 MB in 3.06 seconds = 22.20 MB/sec
Puis un disque externe (USB3), et le résultat est beaucoup plus stable, mais autour des 21 Mo/s, même en le connectant dans le bus de façade théoriquement en USB1.1 (ah ben non, je viens de voir avec lsusb que c'est seulement le lecteur de cartes intégré qui est sur ce bus... ouf!).
~$ sudo hdparm -tT /dev/sdg
/dev/sdg: Timing cached reads: 3822 MB in 2.00 seconds = 1910.49 MB/sec Timing buffered disk reads: 64 MB in 3.06 seconds = 20.90 MB/sec
Quand j'écris du disque sda au sda, le débit est très variable, il oscille entre 50 et 20Mo/s ... Donc cela ne doit pas avoir grand chose avec les limitations du bus USB...
L'USB2 te donne à peu près 50 MB/s vers un disque dur dans le meilleur des cas : ça peut jouer.
Ok, mais le sda, c'est le SATA interne... avec un écart conséquent avec le test!
Regarde les performances en lecture de chacun de tes disques dans un premier temps. Ca devrait suffir à expliquer les performances que tu vois.
Ben non, vu que j'obtiens pour ces disques externes des performances bien supérieures sur d'autres machines...
J'ai regardé le man hdparm, impressionnant cet outil, surtout pour le genre de dégâts qu'on peut faire avec! Puis j'ai usé de l'option -I pour différencier les 2 disques externes, et je suis tombé sur cette info : * Gen1 signaling speed (1.5Gb/s) * Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)
La dernière ligne en concernant que l'USB3... mais cela ne m'a même pas fait sourire!
Et puisque tu évoques les disques mécaniques, j'en profite pour demander à Max, s'il nous lit, où a t'il bien pu trouver des SSD @256Go à 70€?
Merci et bonne nuit, Vincent.
P.S.: une autre info dans le man de hdparm, qui fait carrément peur
-J Get/set the Western Digital (WD) Green Drive's "idle3"
timeout value. This timeout controls how often the drive parks its heads and enters a low power consump‐ tion state. The factory default is eight (8) seconds, which is a very poor choice for use with Linux. Leaving it at the default will result in hundreds of thousands of head load/unload cycles in a very short period of time. The drive mechanism is only rated for 300,000 to 1,000,000 cycles, so leaving it at the default could result in premature failure, not to mention the performance impact of the drive often having to wake-up before doing routine I/O.
WD supply a WDIDLE3.EXE DOS utility for tweaking this
setting, and you should use that program instead of hdparm if at all possible. The reverse-engineered implementation in hdparm is not as complete as the original official program, even though it does seem to work on at a least a few drives. A full power cycle is required for any change in setting to take effect, regardless of which program is used to tweak things.
A setting of 30 seconds is recommended for Linux use.
Permitted values are from 8 to 12 seconds, and from 30 to 300 seconds in 30-second increments. Specify a value of zero (0) to disable the WD idle3 timer completely (NOT RECOMMENDED!).