LINUX.ORG.RU
ФорумAdmin

При закачке файла тухнет ADSL


0

0

Как только начинается скачка файла из инета, пинги подскакивают с 100 мс до первого роутера до 2-20сек. 
Как только закачка останавливается, все возвращается на место - пинг ровный, 100мс, не более.

Думал ставить шейпер на исходящий канал, но в голову неожиданно пришла мысля, что wget при скачке создает большой входящий траффик, а исхоядящий минимален (так ведь?) и шейпер тут не поможет. 

Канал - 64/32кбит. wget, скачивающий большой файл со скоростью 7-8кбайт/с уводит пинги в даун.

wget  ограниченный ключем --limit-rate на скорость меньше, чем download канала, на несколько секунд прибивает пинги, потом они нормализуются. 

Я так понимаю, wget запрашивает файл, удаленный сервер кидает здоровый кусок, забивая входные очереди пула провайдера, не пропуская пинги...

Это виноват провайдер или я?


Схема сети:

локалка <-> eth0 (сервер) eth1 <---------> adsl <--------->internet

сервер - linux 2.6.7/iptables/nat
модем - D-Link DSL-300T. 

Что я еще забыл упомянуть?

P.S. Провайдер государственный, нужный человек ушел в отпуск и вообще, "ниче мы не знаем, все у нас нормально, разбирайтесь сами" :-)
★★★★★

>Это виноват провайдер или я?

Никто не виновать, это даже не проблема, ты сам пишешь: "Я так понимаю, wget запрашивает файл, удаленный сервер кидает здоровый кусок, забивая входные очереди пула провайдера, не пропуская пинги..."

То что пинги дольше идут при загруженной сети - обычное дело.

Vlad_Ts ★★★★★
()

> Думал ставить шейпер на исходящий канал

Совершенно правильно, кстати, думал. Рассмотрим, что тогда происходит (грубо, на пальцах). Пусть ICMP-трафику назначен высший приоритет, wget при этом качает вовсю (TCP-трафик). На каждый принятый TCP-пакет мы должны ответить, что его приняли, тогда нам пошлют следующий. Теперь начинаем пинговать. Шейпер перекрывает кислород TCP-__ответам__, ping летает, wget притормаживается (сервер не посылает ему очередной пакет, пока не получит ответа о приёме предыдущего).

P.S. Для 500/504 серии McMCC делает свои прошивки, куда в числе прочего встроен wondershaper. Для 300Т тоже есть, но пока с этой прошивкой есть проблемы (уж больно мало памяти у 300-го).

Obidos ★★★★★
()

mode adsl какой выставлен в насторйке модема ?
если MMODE, попробуй GDMT - если не попрет, то преходи на G.lite ...

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

>если MMODE, попробуй GDMT - если не попрет, то преходи на G.lite ...

Форматы линейных кодов тут на скорость прохождения пингов не вслияют вообще.

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

Sorry "не влияют", так правильно.

Пальцы опухли, вчера жене помогал гвозди забивать, я их держал а она молотком била.

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

>чудик ! а что ты хотел при таком канале ?! чудес чтоль ?!

а пофиг, какой канал, качалка при желании любой удушит (имхо).

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

а у админа провайдерского узнавал какое железо стоит со станционной стороны ?

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

да ну... это для чайников %) Настоящие мужчины не ищут легких путей :)

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

Не помогает. Но и без него - попа... В одном окне запускаю пинг (тот же гугль, к примеру, роли не играет), а в другом стартую wget (пусть и 500б/с ограничение). При старте закачки пинг прибивает на несколько секунд, потом оживает...

Если не ставить ограничение скорости, то пинги умирают на всё время закачки. Если ставить ограничение (на самом wget или на squid, через который он качает), то пинги умирают только вначале закачки (пока установится равномерная скорость, если я правильно понимаю).

AngryElf ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> чудик ! а что ты хотел при таком канале ?! чудес чтоль ?!

Помоги деньгами, а? Даже такой канал в нашей радостной стране стоит 100 убитых енотов за месяц...

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

> Если ставить ограничение, то пинги умирают только вначале закачки...

Совершенно нормальное функционирование ТСР-протокола. Принцип ограничения скорости в wget и squid основан на том, что при чтении из сокета читаются не все данные, а ограниченное количество в единицу времени. Остальное остается в сокете непрочитанным. Если данные из сети приходят быстрее, то исчерпывается анонсируемое окно на принимающей стороне и передающая сторона перестает передавать.

Если это сильно беспокоит, то можно уменьшить анонсируемое окно. Это должно быть где-то в /proc, если не ошибаюсь.

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

>> Если ставить ограничение, то пинги умирают только вначале закачки...

>Совершенно нормальное функционирование ТСР-протокола. Принцип ограничения скорости в wget и squid основан на том, что при чтении из сокета читаются не все данные, а ограниченное количество в единицу времени. Остальное остается в сокете непрочитанным. Если данные из сети приходят быстрее, то исчерпывается анонсируемое окно на принимающей стороне и передающая сторона перестает передавать.

Однако, если я не ограничиваю скорость приема данных (сквидом или wget'ом), то пинг прибивается (выростает до 2-12 сек) на всё время закачки.

>Если это сильно беспокоит, то можно уменьшить анонсируемое окно. Это должно быть где-то в /proc, если не ошибаюсь.

Если я правильно помню, нечто вроде уведомления передающей стороне о возможностях принимающей стороны?... Буду поискать... :-)

AngryElf ★★★★★
() автор топика
Ответ на: комментарий от ansky

>анонсируемое окно.

Можно по-подробней? Или хотя бы английское название термина? Гугль молчит как партизан :-)

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