У меня есть два разных компьютера, один настольный компьютер, другой ноутбук. Оба имеют разные сетевые контроллеры (один Qualcomm Atheros, другой Realtek). Оба используют прилагаемый драйвер.
В настоящее время оба компьютера имеют Xubuntu 13.04 x64, но результаты воспроизводимы 13.10 (с ядром 3.10 и 3.11 ежедневно) и 12.04.2, а также Lubuntu 13.04. Результаты будут такими же на рабочем столе, если я использую скомпилированный драйвер Realtek (я думаю, 8168).
Если я попытаюсь восстановить файлы с резервного компьютера, скорость передачи не превышает 50 МБ / с на обеих машинах. Информация о сети составляет 1000 Мбит / с.
Те же компьютеры под Windows могут легко получить скорость передачи 70-90 МБ / с при восстановлении резервных копий.
Просто чтобы прояснить ситуацию, я перетаскиваю некоторые папки из общего ресурса Samba на другом компьютере, на свой рабочий стол и ноутбук (не одновременно), используя файловый менеджер Xubuntu, Thunar.
Есть идеи, что случилось?
Что случилось? Самба, наверное.
Прежде чем попробовать что-то еще, протестируйте драйверы сети с iperf -s
на одном и iperf -c other_ip
на втором. Должен показать грубую производительность. Вы можете видеть до ~ 125 МБ / с, но до ~ 100 МБ / с все равно будет в порядке.
Если все в порядке, попробуйте другой протокол. Я предложил NFS другому пользователю , потому что по моему опыту он намного быстрее, чем Samba по моему опыту. Мой пост содержит пример конфигурации, которая поможет вам настроить и использовать довольно небезопасную схему обмена. Если вам нужны имена пользователей и пароли, все это можно сделать, это просто немного больше работы.
Если вы хотите совместить Ubuntu и Windows, я советую вам держать Samba без присмотра, когда вам нужно скопировать данные с одной ОС на другую, но это будет медленным.
В Интернете есть множество руководств по настройке Samba, но у меня никогда не было больших успехов в улучшении скоростей передачи Samba-Samba. Вот два самых больших утверждения, которые я видел на сегодняшний день:
Использование строгого выделения удваивает скорость записи.
Большие буферы в общем помогают:
read size = 65536
read prediction = true
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
write raw = yes
read raw = no
Эти два «решения» повсюду, но как я уже сказал, мне никогда не удавалось удачно, и учитывая, что здесь все что-то вроде Linux, я просто прибегаю к NFS для скорости.
Сначала проверьте скорость между компьютерами, как предположил Оли. Я обнаружил, что мне пришлось переключиться с 2,4 ГГц на 5 ГГц, прежде чем пытаться оптимизировать Samba.
В Ubuntu с Samba запустить:
iperf -s
На клиенте / Ubuntu / Mac запустить:
iperf -c IP_on_Ubuntu_With_Samba
Я получил 40,2 Мбит / с на 2,4 ГГц и 367 Мбит / с после переключения на 5 ГГц. Сначала я запустил оба на одном сервере и получил 72,5 Гбит / с, поэтому я знал, что с тестом что-то не так.
Для установки на Mac: «brew install iperf»
У меня была та же проблема (2,5-3,0 Мбит / с), и я решил эту проблему, добавив эту строку в конфигурацию:
[global]
...
server signing = disabled