Я использую FreeBSD NAS с RAID-Z.
Я могу читать ~ 300 МБ / с с дисков ZFS в / dev / null на коробке, но получаю только около 50 МБ / с через GBit-Ethernet с SMB для Windows 7 (Samba 3.5.6). Обе системы имеют Intel-PCIe-NIC и подключаются напрямую.
Samba настроена на использование AIO, и я уже пытался настроить TCP / IP:
kern.ipc.maxsockbuf=16777216
net.inet.tcp.sendspace=1048576
net.inet.tcp.recvspace=1048576
net.inet.tcp.sendbuf_max=8388608
net.inet.tcp.recvbuf_max=8388608
net.inet.tcp.delayed_ack=0
Есть идеи, что вызывает узкое место? Я думаю, что ссылка должна легко обрабатывать 100 МБ / с.
Ладно, на самом деле было две проблемы:
Чтобы проверить кабель и пропускную способность ваших драйверов, вы должны снять ограничения записи на жесткий диск (и антивирус для окна Windows).
Итак, вы можете:
создайте RAM-диск в окне Windows, загрузите / вставьте на него файлы
создать и перенаправить общий ресурс samba в / dev / null и вставить в него файлы из окна Windows
запустите утилиту кросс-платформенной пропускной способности (возможно, часть утилит Intel NIC на платформе Windows).
Если кто-нибудь знает о кросс-платформенном инструменте для тестирования производительности Windows-Unix, дайте мне / нам знать :-)
И да, вам нужно будет убедиться, что у вас есть соответствующие jumbo-кадры (2048 байтов, кажется, «норма») на ваших сетевых устройствах и коммутаторе. Стандартный размер пакета TCP / IP немного мал для гигабитных потоков.