Как определить, что является узким местом при LAN соединении PC-to-PC?

Исходные данные:

Есть 100 Мбитные карточки в 2-х компьютерах (компьютеры разные, производительность разная, карты разные).

Есть патч-корд (3-5м).

Это дело соединяется в сеть.

Начинаем передавать файлы с одной машины на другую с использованием Samba, имеем при этом КПД, отличный от единицы.


Вопрос:

Как определить, что является узким местом? Из-за чего конкретно режется скорость?


P.S. Понимаю, что идеала не добиться. Но не просто так задаю вопрос, скорость действительно можно было бы и побольше иметь, мне кажется.
  • Вопрос задан
  • 4498 просмотров
Решения вопроса 1
mark_ablov
@mark_ablov
Очевидно, что samba.
Ну а проверить что проблема не в сети iperf'ом можно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Diam0n
@Diam0n
на гигабите такая разница в скорости объясняется очень просто — быстродействие HDD либо нагрузка на ЦП/шины данных.
на 100 мбит разница в скорости непонятна, если железо слабое, тогда объясняется тем, что samba более тяжелое приложение чем фтп.
Уточните железо.
Ответ написан
ilyaplot
@ilyaplot
PHP программист
Т.к. я могу лишь догадываться о уровне Ваших знаний, то осмелюсь спросить, а как обжат кабель?
Ответ написан
@JDima
Какой результат получен при копировании и про прожигании iperf'ом?
Случайно не 11-12мб/с? :)
Ответ написан
@ComodoHacker
Ответы уже даны, я добавлю несколько замечаний для лучшего понимания.

Первое. Все пишут: Самба «виновата». Не виновата, а просто имеет определенные накладные расходы. Как сам протокол, так и его реализация. В Windows эти расходы тоже есть, но меньше (в идеальном случае) за счет вылизанной годами реализации и больших возможностей оптимизации под ОС. Из разработчиков Самбы никто не ставит целью «догнать и перегнать», так как протокол не родной.

Второе. Протокол SMB заточен вовсе не под перекачку больших файлов, а под работу приложений с ними по сети. То есть чтение/запись небольшими порциями в разные места файла. Плюс поддержка совместного доступа привносит свои требования.

Третье. 100% утилизации вы не добъетесь никак, глупо ожидать этого. Вспомните, сколько протоколов в TCP/IP стеке и каждый имеет какие-то накладные расходы.

Ну и просто на заметку. Если нужно быстро перелить по сети что-то огромное, нет ничего лучше старого доброго nc. Нулевые накладные расходы на прикладном уровне. Только не забудьте потом сверить контрольные суммы (md5sum).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы