我的 PC 有 24GB DDR3 RAM、i7-4770(8 核)和多个 USB3 端口。该本地系统 RAID0 (md) 到目前为止表现良好,速度为 900 - 1000 MBps,
dd if=/dev/zero of=./testdata bs=1024 count=1048576
所有文件系统都是 XFS(我从一开始就是 XFS 的狂热爱好者)。从单个 USB3 磁盘“TOSHIBA External USB 3.0 0101”复制大型文件(5+GB)时,我几乎无法保持 110MiBps,平均速度保持在 60 到 80 MiBps(根据 KDE 状态通知报告)。
我应该期望多少吞吐量?我希望吞吐量在 100-200 MiBps 范围内。我无法(我的错)理解这是否是由于:
- 我选择的文件系统,
- USB I/O 性能
- 内核设置
- 其他东西
我可以检查/修改什么吗?
我的 lspci -v 说(仅针对 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
“普通” USB3 读取性能约为 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
虽然金士顿 Data Traveler USB 闪存盘的吞吐量较低:
~ 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
因此,我会排除正在使用的特定文件系统类型,并专注于其他内容。对吗?
答案1
您找错地方了。如果东芝是旋转介质,那么它就是瓶颈。此外,传输零是一个不切实际的基准,而且您没有说明与之比较的 RAID 集是如何配置的。
如果您使用实际数据和工作负载测试多个单独的旋转磁盘(dd 不是一个合适的基准测试工具,因为它可以显示统计数据),您会发现 60-80 MB/s 是内置于外部驱动器中的一些较慢磁盘的典型性能。如果您知道确切的型号名称以及查找位置,您还可以在数据表中找到这些更现实的数字。
再想想,普通的 USB 3.0 外壳 (BOT) 可能会限制传输速度,尤其是性能 SSD 应该放入联合服务计划机柜。我曾使用过 2 托架机柜,其性能不错(总共 100-150 MB/s),而 8 托架机柜(6 个磁盘)性能较差(60-80 MB/s全部的,但读取速度可能更高),两者都是非 UASP,并且内部安装这些设备可以提高性能(2 个磁盘仅略有提高,6 个磁盘显著提高)。人们可以摆弄 sysfs 中的 max_sectors 来优化性能,但这可能会损坏文件系统,甚至可能造成更多损害,而性能改进却微不足道。您通常会发现非 UASP 外壳对于旋转媒体来说已经足够了,如果您想要其他东西,最好自己构建。