Мой ПК имеет 24 ГБ DDR3 RAM, i7-4770 (8 ядер) и несколько портов USB3. Эта локальная система RAID0 (md) показывает хорошую производительность до сих пор, 900 - 1000 МБ/с с
dd if=/dev/zero of=./testdata bs=1024 count=1048576
Все файловые системы — XFS (я поклонник XFS с самых первых дней). При копировании большого файла (5+ ГБ) с одного диска USB3 «TOSHIBA External USB 3.0 0101» я едва удерживаю 110 Мбит/с, в среднем скорость составляет 60–80 Мбит/с (согласно уведомлению о состоянии KDE).
Какую пропускную способность ожидать? Я хотел что-то в диапазоне 100-200 Мбит/с. Чего я не смог понять (по своей вине), так это связано ли это с:
- Файловая система, которую я выбрал,
- Производительность USB-ввода/вывода
- настройки ядра
- что-то другое
Могу ли я что-то проверить/изменить?
Мой 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 МБ/с:
~ 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
В то время как USB-флеш-накопитель Kingston Data Traveler демонстрирует более низкую пропускную способность:
~ 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
Вы смотрите не туда. Если Toshiba — это вращающийся носитель, то это узкое место. Кроме того, перенос нулей — нереалистичный бенчмарк, и вы не сказали, как настроен RAID-набор, с которым вы его сравниваете.
Если вы протестируете несколько отдельных вращающихся дисков с реальными данными и рабочими нагрузками (dd не является подходящим инструментом для бенчмаркинга только потому, что он может отображать статистику), вы обнаружите, что 60-80 МБ/с — типичная производительность для некоторых более медленных дисков, встроенных во внешние накопители. Вы также можете найти эти более реалистичные цифры в технических характеристиках, если знаете точное название модели и где искать.
Если подумать, обычные корпуса USB 3.0 (BOT) могут ограничивать скорость передачи данных, и в особенности производительные SSD-накопители следует устанавливать вУАСПкорпуса. У меня есть опыт работы с корпусом на 2 отсека, который обеспечивает приличную производительность (всего 100-150 МБ/с), и корпусом на 8 отсеков с 6 дисками, который обеспечивает низкую производительность (60-80 МБ/с).общий, но скорость чтения может быть выше), оба не являются UASP, и монтирование наборов внутри повышает производительность (2 диска лишь немного, 6 дисков значительно). Можно было бы поиграться с max_sectors в sysfs для оптимизации производительности, но это может повредить файловую систему и, вероятно, больше, с незначительным улучшением производительности. Обычно вы обнаружите, что не-UASP корпуса являются достаточными по умолчанию для вращающихся носителей, если вам нужно что-то другое, вам лучше построить свой собственный.