Исправление буфера в домашней сети
В нашей домашней сети с непрерывным сетевым вводом-выводом задержки становятся нелепыми. Это нормально с небольшими нагрузками, но быстро становится непригодным для использования, если, например, я выполняю большое количество мелких файлов, - другие передачи по существу останавливаются. Пингс проходит только с трудом.
Простая топология - широкополосный модем / WIFI-маршрутизатор в одном корпусе, с некоторыми беспроводными и некоторыми проводными клиентами.
Я пытался установить ifconfig wlan0/eth0 txqueuelen 1
На всех клиентах это, кажется, помогает немного, но не намного.
Советы приветствуются: как мне следует диагностировать и устранять проблемы с задержкой? Могут ли быть установлены дополнительные параметры конфигурации на клиентах, или, может быть, помогут более качественные маршрутизаторы WIFI?
4 ответа
Что вам нужно, это качество обслуживания и настраиваемый алгоритм очередей. Я бы порекомендовал установить что-то вроде этого, если вы счастливы поиграть с внутренними компонентами Linux / FreeBSD и у вас есть свободные деньги:
+------+ +--------+ +------+<----> Wireless Access Point
|Router|<--->|Firewall|<---->|Switch|
+------+ +--------+ +------+<----> Wired computers
Брандмауэр - это Linux, FreeBSD или аналогичный компьютер с двумя сетевыми картами, которые могут накладывать некоторые дополнительные правила организации очередей и качества обслуживания на трафик.
Мне пришлось сделать что-то подобное, чтобы остановить тайм-ауты DNS-запросов при выполнении тяжелой передачи данных по медленному интернет-соединению.
Другой вариант - получить лучший маршрутизатор - тот, на котором вы можете установить dd-wrt или open-wrt, так как я полагаю, что эти две прошивки предоставляют больше возможностей QoS и т. Д., Чем стандартные маршрутизаторы bog.
Я пытался установить
ifconfig wlan0/eth0 txqueuelen 1
на всех клиентов...
Эта команда уменьшает размер буфера до 1 пакета на этом компьютере. Важной машиной для выполнения этой команды является узкое место в вашей сети, то есть машина, на которой гигабитное соединение находится с одной стороны, и гораздо более медленное соединение с Интернетом - с другой. Таким образом, именно эту команду вы хотите запустить, а не клиенты!
Убедитесь, что вы выполнили команду на правильном интерфейсе (только на интерфейсе локальной сети).
Это, конечно, будет работать только в том случае, если ваш маршрутизатор работает под управлением Linux, и позволяет запускать команды. К счастью, большинство кастомных прошивок для домашних роутеров (DD-WRT, OpenWRT, Tomato) делают.
Следует отметить, что уменьшение размера буфера может привести к ухудшению QoS, поэтому, если вы используете QoS на своем маршрутизаторе, вам лучше оставить размер буфера в покое и просто использовать QoS для ограничения скорости загрузки / выгрузки. каждого клиента, чтобы быть значительно ниже максимальной загрузки / выгрузки соединения... хотя это имеет очевидный недостаток - наличие неиспользуемой полосы пропускания, когда подключен только один человек.
QoS или Quality of Service - это своего рода упорядочение и установка приоритетов для пакетов, которые будут обрабатываться маршрутизатором... Именно об этом и следует заботиться, когда у вас возникают такие проблемы... Попробуйте выполнить поиск на панели конфигурации маршрутизатора и включите QoS.... Лучше использовать ручные настройки в вашем случае, но вы должны знать порядок приоритета пакетов, которые вы хотите обработать с начала до конца.
Я использую Windows и Mac вместо Linux, но решение для меня заключалось в том, чтобы переключиться с маршрутизатора Netgear, расположенного ниже по потоку от коробки интернет-провайдеров, на Edge-маршрутизатор и настроить интеллектуальную маршрутизацию (которая поступает из Linux)