Meu PC possui 24 GB de RAM DDR3, i7-4770 (8 núcleos) e várias portas USB3. Esse sistema local RAID0 (md) tem apresentado bons desempenhos até agora, 900 - 1000 MBps com
dd if=/dev/zero of=./testdata bs=1024 count=1048576
Todos os sistemas de arquivos são XFS (sou um aficionado por XFS desde os primeiros dias). Ao copiar um arquivo grande (5+GB) de um único disco USB3 "TOSHIBA External USB 3.0 0101" dificilmente mantenho 110MiBps, a média fica em 60 a 80 MiBps (conforme relatado pela notificação de status do KDE).
Que rendimento devo esperar? Eu estava desejando algo na faixa de 100-200 MiBps. O que não consegui (culpa minha) entender é se isso se deve a:
- sistema de arquivos que escolhi,
- Desempenho de E/S USB
- configurações do kernel
- algo mais
Há algo que eu possa verificar/modificar?
Meu lspci -v diz (apenas para coisas USB):
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04) (prog-if 30 [XHCI])
Subsystem: Hewlett-Packard Company Device 18eb
Flags: bus master, medium devsel, latency 0, IRQ 26
Memory at f7f00000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: xhci_hcd
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04) (prog-if 20 [EHCI])
Subsystem: Hewlett-Packard Company Device 18eb
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at f7f18000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04) (prog-if 20 [EHCI])
Subsystem: Hewlett-Packard Company Device 18eb
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at f7f17000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
O desempenho de leitura USB3 "simples" é de cerca de 100 MBps:
~ dd if=/dev/sdg1 of=/dev/null bs=4096 count=1048576
1048576+0 records in
1048576+0 records out
4294967296 bytes (4,3 GB) copied, 42,5934 s, 101 MB/s
Embora um flash USB Kingston Data Traveler mostre menor rendimento:
~ dd if=/dev/sde1 of=/dev/null bs=4096 count=1048576
1048576+0 records in
1048576+0 records out
4294967296 bytes (4,3 GB) copied, 63,324 s, 67,8 MB/s
Portanto, eu excluiria o tipo específico de sistema de arquivos em uso e focaria em outra coisa. Certo?
Responder1
Você está procurando no lugar errado. Se o Toshiba for uma mídia rotativa, então esse é o gargalo. Além disso, transferir zeros é uma referência irrealista e você não disse como o conjunto RAID com o qual você o compara está configurado.
Se você testar vários discos rotacionais individuais com dados e cargas de trabalho reais (dd não é uma ferramenta de benchmarking apropriada apenas porque pode exibir estatísticas), você descobrirá que 60-80 MB/s é o desempenho típico para alguns discos mais lentos integrados em unidades externas. Você também pode encontrar esses números mais realistas nas folhas de dados se souber o nome exato do modelo e onde procurar.
Pensando bem, gabinetes USB 3.0 (BOT) regulares podem limitar as velocidades de transferência e, especialmente, SSDs de desempenho devem ser colocados emUASPrecintos. Tenho experiência com um gabinete de 2 baias que atinge desempenho decente (100-150 MB/s no total) e um gabinete de 8 baias com 6 discos atingindo desempenho ruim (60-80 MB/stotal, mas a velocidade de leitura pode ser maior), ambos não são UASP e a montagem dos conjuntos internamente melhora o desempenho (2 discos apenas ligeiramente, 6 discos significativamente). Poderíamos mexer com max_sectors no sysfs para otimizar o desempenho, mas isso poderia danificar o sistema de arquivos e provavelmente mais, com apenas uma melhoria de desempenho insignificante. Você normalmente encontrará gabinetes não-UASP sendo um padrão suficiente para mídia rotacional; se quiser algo mais, é melhor construir o seu próprio.