LINUX.ORG.RU
ФорумAdmin

Низкая скорость локальной сети

 , , ,


1

1

Всем привет!

У меня в домашней сети настроен шлюз на Ubuntu 16.10 с NAT и dnsmasq, плюс на нем же DLNA сервер. Клиентский компьютер, то же на Ubuntu 16.10.

Между ними гигабитная сетка. Проблема в том, что скорость при обмене файлами не поднимается выше 40 мб/с (320 мбит/с), с редкими и не большими просадками. Но в целом скорость стабильная и не падает. Ощущение, что стоит какое то ограничение. Тестировал rsync и iperf. На сервере и клиенте сетевухи Realtek, используется модуль r8168-dkms.

Не пойму в чем причина. Есть мысль, что не вывозит слабый сервер. У него Athlon 64 x2 4000+ и 2 ГБ оперативки. Хотя проц и оперативка обычно загружены максимум на половину и то при просмотре фильмов по DLNA.

А сетевушка случайно не на старом PCI висит? Плюс посмотри /proc/interrupts на тему совместного использования прерываний. Если у Вас eth0 и жёсткий на одном прерывании - вот и причина. Бывает ещё, что в драйвере сетевушки не включён/не настроен NAPI для разгрузки процессора при интенсивном обмене по сети.

nickleiten ★★★ ()
Ответ на: комментарий от ubunix

Вроде с хорошим запасом, хотя на файлах медленнее и скорость чуть ли не в два раза может различаться в разных местах дисках.

ilovewindows ★★★★★ ()
Ответ на: комментарий от ubunix

сетевушка на старом PCI

Имеется ввиду старый PCI 2.0? 33mgz, 32bit? Его не хватает гигабитную карту прокачать. Пиковая пропускная способность для 33 МГц — 133 Мбайт/с. И это теоретически. Реально сильно меньше.

https://ru.wikipedia.org/wiki/PCI Сначала точно разберись, что у тебя за PCI и какой PCI максимум умеет карточка. Может быть достаточно её в более продвинутый PCI переставить, на старых мамках могут быть 33/66 и 133 слоты.

Jameson ★★★★ ()
Последнее исправление: Jameson (всего исправлений: 2)

Проблема в том, что скорость при обмене файлами не поднимается выше 40 мб/с (320 мбит/с), с редкими и не большими просадками.

вангую там linux bridge. Если так, переходи на OVS.

targitaj ★★★★★ ()
Ответ на: комментарий от Jameson

Проверил. Да именно так PCI 2.0 33mgz. Еще на той мамке есть PCIe x1, видимо придется искать сетевуху под этот интерфейс.

ubunix ()
Ответ на: комментарий от ubunix

Проверил. Да именно так PCI 2.0 33mgz. Еще на той мамке есть PCIe x1, видимо придется искать сетевуху под этот интерфейс.

Это вариант. Правда меня смущает что на плате имеющей PCIe для совместимости оставлен только 33 мегагерцовый PCI. Возможно есть перемычка или настройка в бивисе переводящая его в 66. Гигабитные карточки под старый PCI 66 всегда умеют, 33 там для обратной совместимости. Так что если ты слот в правильный режим переведёшь станет быстрее.

Кстати, если есть PCI-X слоты (длинненькие такие), они вполне подходят.

Jameson ★★★★ ()
Последнее исправление: Jameson (всего исправлений: 2)
Ответ на: комментарий от Jameson

Проверил оба слота PCI. Я ошибся, они оба 66mgz 32bit. Видимо эта скорость для них максимальная. Хотя я еще почитаю про эту мамку в интернете.

ubunix ()
Ответ на: комментарий от ubunix

Учти ещё два момента. Во первых без jumbo frames чего либо близкого к гигабит на гигабитной сети ты не получишь никогда, много накладных расходов, но в большинстве случаев этим можно пренебречь. Во вторых, были поддельные китайские как_бы_гигабитные реалтеки под старый PCI32 разъём, по сути сотки с разогнанной тактовой частотой. Спецификации 1000BASE-T они соответствовали не полностью, тормозили, глючили и флудили в сеть. Я их наелся в своё время.

Jameson ★★★★ ()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от ubunix

Если PCI - то 40МБайт/с это очень хорошо. Учитывайте, что PCI это шина, тут нужно смотреть, какие ещё устройства на этой шине висят и используют пропускную способность (например, интегрированные в мат.плату звуковушка, порты ввода-вывода (com, lpt) вполне могут там висеть). Плюс ко всему, PCI условно полу-дуплексная шина, в один период времени только одно устройство (включая bus-master) может передавать данные. Так что скорость нужно считать суммарную и на приём и на передачу. С учётом всех издержек на служебные данные и задержки как раз до 50МБайт/с и получается.

Посему - ищите PCIe сетевой адаптер, лучше Intel, у них длинные очереди для NAPI из коробки и куча offload механизмов в чипе, причём в линуксе в драйверах всё поддерживается.

nickleiten ★★★ ()
Последнее исправление: nickleiten (всего исправлений: 2)
Ответ на: комментарий от Jameson

Поставил MTU в 5000 и Backlog в 3000, скорость осталась прежней. Буду покупать PCIe карточку.

Всем спасибо за советы!

ubunix ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.