Исправление буфера в домашней сети

6598
cuu508

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

Простая топология - широкополосный модем / WIFI-маршрутизатор в одном корпусе, с некоторыми беспроводными и некоторыми проводными клиентами.

Я попытался установить ifconfig wlan0/eth0 txqueuelen 1на всех клиентах, кажется, это помогает немного, но не сильно.

Советы приветствуются: как мне следует диагностировать и устранять проблемы с задержкой? Могут ли быть установлены дополнительные параметры конфигурации на клиентах, или, возможно, могут помочь более совершенные маршрутизаторы WIFI?

9

4 ответа на вопрос

3
Majenko

Что вам нужно, так это качество обслуживания и настраиваемый алгоритм очередей. Я бы порекомендовал установить что-то вроде этого, если вы счастливы поиграть с внутренними компонентами Linux / FreeBSD и у вас есть немного свободных денег:

+------+ +--------+ +------+<----> Wireless Access Point |Router|<--->|Firewall|<---->|Switch| +------+ +--------+ +------+<----> Wired computers 

Если брандмауэр является Linux или FreeBSD или аналогичной машиной с 2 - мя сетевых карт, которые могут налагать некоторые дополнительные очереди и правил качества обслуживания по трафику.

Мне пришлось сделать что-то подобное, чтобы остановить тайм-ауты DNS-запросов при выполнении тяжелой передачи данных по медленному интернет-соединению.

Другой вариант - получить лучший маршрутизатор - тот, на котором вы можете установить dd-wrt или open-wrt, так как я полагаю, что эти две прошивки предоставляют больше возможностей QoS и т. Д., Чем стандартные маршрутизаторы bog.

2
BlueRaja - Danny Pflughoeft

Я пытался установить ifconfig wlan0/eth0 txqueuelen 1на всех клиентах ...

Эта команда уменьшает размер буфера до 1 пакета на этом компьютере. Важной машиной для выполнения этой команды является узкое место в вашей сети, то есть машина, на которой гигабитное соединение находится с одной стороны, и гораздо более медленное соединение с Интернетом - с другой. Таким образом, именно эту команду вы хотите запустить, а не клиенты!
Убедитесь, что вы выполнили команду на правильном интерфейсе (только на исходящем интерфейсе локальной сети) .

Это, конечно, будет работать только в том случае, если ваш маршрутизатор работает под управлением Linux, и позволяет запускать команды. К счастью, большинство кастомных прошивок для домашних роутеров (DD-WRT, OpenWRT, Tomato) делают.


Следует отметить, что уменьшение размера буфера может привести к ухудшению QoS, поэтому, если вы используете QoS на своем маршрутизаторе, вам лучше оставить размер буфера в покое и просто использовать QoS для ограничения скорости загрузки / выгрузки. каждого клиента, чтобы быть значительно ниже максимальной загрузки / выгрузки соединения ... хотя это имеет очевидный недостаток - наличие неиспользуемой полосы пропускания, когда подключен только один человек.

1
morTie

QoS или Quality of Service - это своего рода упорядочение и установка приоритетов для пакетов, которые будут обрабатываться маршрутизатором ... Именно об этом и следует заботиться, когда у вас возникают такие проблемы ... Попробуйте выполнить поиск на панели конфигурации маршрутизатора и включите QoS. ... Лучше использовать ручные настройки в вашем случае, но вы должны знать порядок приоритета пакетов, которые вы хотите обработать с начала до конца.

0
George Marengo

Я использую Windows и Mac вместо Linux, но решение для меня заключалось в том, чтобы переключиться с маршрутизатора Netgear, расположенного ниже по потоку от коробки интернет-провайдеров, на пограничный маршрутизатор и настроить интеллектуальную маршрутизацию (которая поступает из Linux).

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