Регулировка скорости торрентов

Всем привет.
Стала актуальной проблема, с которой, я думаю, уже многие сталкивались, но вот что-то решения я не нашел.
Суть в том, что хочется максимально эффективно использовать свой небольшой анлим канал (1 мегабит/0,5 мегабит).
Как разралить исходящий трафик в принципе понятно - тут шейперы.
А вот как автоматически регулировать входящий трафик торрентокачалки? (сейчас использую rtorrent+rutorrent, но рассматриваются любые варианты).

Я вижу только одно решение - cron + ручная настройка.
В принципе задачу мог бы разрулить iptables, но он не оперирует объемом трафика, только количеством пакетов (поправьте плз, если ошибаюсь). Да и вообще мне интересно, каким образом торрентокачалки регулируют скорость закачки, может кто в курсе?

Или может кто подскажет другое решение?

Мой ответ вас вероятно не

Мой ответ вас вероятно не устроит, я использую net-p2p/deluge, в настройках которой есть возможность ограничивать как общий траффик (входящий-исходящий), так и по каждому из торрентов отдельно. Имеется так же и планировщик, хотя и достаточно примитивный.

Я Gentoo & Funtoo

Я с такой связки ушел на

Я с такой связки ушел на ktorrent. Azureus разочаровал своими повисаниями, а родной из KDE4 имеет все, что мне нужно - ограничитель траффика на количество пиров и скорость с расписанием и веб-интерфейс. Дело в том, что многочисленные коннекты даже при зарезанной скорости тоже едят канал.

В net-p2p/deluge имеется

В net-p2p/deluge имеется возможность настроить ограничение и на количество слотов раздачи, на количество активных раздач и т. д.
Мой выбор был обоснован тем, что закачкой торрентов у меня занимается домашний медиасервер и ставить туда KDE, точнее весомую его часть, не было никакого желания.

Я Gentoo & Funtoo

А он умеет автоматически

А он умеет автоматически изменять ограничения?
Все, что Вы описали, rtorrent умеет, так что тут я преимуществ не вижу.

Не совсем понял, что в данном

Не совсем понял, что в данном случае обозначает «автоматически». Про какие-либо преимущества речь и не шла — я просто написал, как подобную задачу решаю я.

Я Gentoo & Funtoo

"автоматически" в данном

"автоматически" в данном случае означает регулировку скорости самой торрентокачалкой, основанной на загруженность сети. Вы точно ЭТУ задачу решаете, или же Вы просто ручками выставляете ту скорость, которая Вам удобна в текущий момент?

Тогда точно у меня не

Тогда точно у меня не «автоматически» — в обычное время, когда я нахожусь за компьютером, выставлено 80-90% от пропускной способности моей сети, в остальное — по расписанию отдаётся весь канал торрентам.

Я Gentoo & Funtoo

blow написал(а): Как

blow написал(а):
Как разралить исходящий трафик в принципе понятно - тут шейперы.
А вот как регулировать входящий трафик торрентокачалки?

Только лишь контролируя исходящий можно рулить входящим. Теоретически можно зашейпить и входящий, но оно мало кому на практике нужно и интересно. Есть особо упоротые^W фанатичные пользователи xBSD, которые расскажут об обратном, но...

see also (:

тут собственно вопрос, как

Ну, смысла шейпить входящий трафик я тоже не вижу :-)

тут собственно вопрос, как торрентокачалка регулирует скорость.
Т.е. либо посылается какой-то спец. пакет, указывающий, что нужно изменить скорость, то ли из сокета медленнее читает (что приводит к переполнению буфера и ICMP SPEED-LIMIT от ОС).

Можно конечно поискать/написать софтинку, которая будет смотреть на загрузку канала (скажем, раз в 30 сек) и на основе каких-то правил выполнять комманды. А там уже тому же rtorrent по xmlrpc подать комманду на изменение скорости несложно. Работать конечно будет не идеально, но меня должно устроить :-)

а вам зачем снижать скорость

а вам зачем снижать скорость закачки? чтобы серфить удобнее, так?
здесь http://welinux.ru/post/1389/#cmnt21690 - подойдет?

По ссылке в принципе тоже

Да, в основном серфить :-) Ну и доступ к веб сервисам организовать, ssh тот же
По ссылке в принципе тоже пришли к шейперам, но там есть пара интересных линков, сейчас почитаю

man rtorrent

man rtorrent

__________________
Человек, говорящий, что это невозможно сделать, не должен мешать тому, кто это делает.

Я наверно неправильно

Я наверно неправильно выразился. Я знаю, как установить скорость закачки в rtorrent и через CLI интерфейс, и через веб морду. Также рторрент позволяет регулировать скорость отдельных торентов, и еще можно настроить приоритеты у файлов в торренте, и еще много чего. Но мне нужно автоматически сбрасывать скорость, когда интернет требуется какому-либо другому приложению. Т.е. грубо говоря - торенты и все остальное. У торрентов минимальный приоритет, но по возможности они должны забирать максимум канала. Как такое настроить на исходящий трафик - я знаю (шейперы). А вот как разрулить входящий....

Рулить входящим трафиком в

Рулить входящим трафиком в общем случае нельзя, как можно заставить кого-то посылать тебе пакеты медленней? Но если нельзя но очень хочеться то можно. Можно входящий трафик перенаправить на устройство ifb* (для этого нужен соответсвующий модуль ядра)

$TC qdisc add dev ppp0 ingress
$TC filter add dev ppp0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0

и трафик входящий на ppp0 будет на ifb0 считаться как исходящий, тут можно поставить шейпер и всё что хочешь и можно поппытаться регулировать работу торента.

Кажеться пахнет булочками ...

:-) lexa_ написал(а): Рулить

:-)

lexa_ написал(а):
Рулить входящим трафиком в общем случае нельзя, как можно заставить кого-то посылать тебе пакеты медленней?

А как тот же rtorrent, как и любая торрентокачалка рулит входящим трафиком? Я понимаю, что Вы сказали для общего случая, а у меня случай как раз не совсем общий :-)

А вот шейпить входящий трафик по моему все таки глупо. Шейпить - выставлять приоритеты пакетам. Но лично мне без разницы, какой пакет из мегабитного канала в гигабитную сеть попадет первым, а какой вторым.

Я тут вижу еще одно решение (но я в нем не уверен) - посылать ICMP SPEED-LIMIT. Но вот проверить я этот способ не могу, я не знаю, как на iptables определить скорость прохождения объёма данных через цепочку.

Думается рулят они примерно,

Думается рулят они примерно, с соответствующей частотой посылая запросы на новые куски. В упоминавшийся тут azureus/vuze вставляется плагин какимто образом автоматически регулирующий скорость, но в работе я его не пробовал.

спасибо, буду гуглить в этом

спасибо, буду гуглить в этом направлении (vuze)

upd. Нашел только плагин, который рулит скоростью по времени, что не совсем подходит.

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

http://wiki.vuze.com/w/Auto_S

Спасибо, похоже на что, что

Спасибо, похоже на что, что нужно.
Вот только vuze - как раз один из немногих torrent клиентов, которые не умеют быть службой :-(
Я хочу поставить торрентокачалку на NAS, а там иксы не планируются. Можно конечно будет поставить vnc, но это не совсем то, что мне нужно.

Стоп, беру свои слова

Стоп, беру свои слова обратно, тут есть мануал. Буду пробовать, "решено" поставлю чуть позже, когда (если) все заработает, как надо

А в vuze ещё есть куча веб и

А в vuze ещё есть куча веб и не очень морд, даже одна яваплагином и одна отдельным клиентом.

Да, я уже об этом почитал. И

Да, я уже об этом почитал. И есть статья, как запускать vuze демоном.

Я так понимаю, Вы используете vuze? Почему выбрали именно её?

Забегу вперед Вадима. Я как

Забегу вперед Вадима. Я как раз и отказался, потому, что оно жестоко висло. А подозреваю я в этом как раз плагины, которые Вадим особо не использует.

Понял, значит плагинов будет

Понял, значит плагинов будет самый минимум :-)
Мне-то на самом деле много и не надо.
Обидно будет, если авторегулировка скорости нормально заработает, но будет подвисать.

У меня всё замечательно

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

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

blow написал(а): Обидно

blow написал(а):
Обидно будет, если авторегулировка скорости нормально заработает, но будет подвисать.

Также стоит заметить что я незнаю о каких подвисаниях речь. SWT GUI ява прог подтормаживает в силу своих настроек, нечасто перерисовывает интерфейс, а жоркость до ресурсов описывается настройками самого клиента и явамашины. в серверных приложениях ява ведёт себя весьма достойно, а именно в таком качестве лягуш и будет у тебя выступать. Но вот насчёт удобной, да и вообще самой возможности доступа к замысловатым настройкам лягуша из консольного UI я сомневаюсь, возможно его стоит разок-другой запустить через X11-forward и настроить производительность если она не будет устраивать.

Ну вот что-что, а ява меня не

Ну вот что-что, а ява меня не пугает, как раз наоборот :-) (я java программер).

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

P.S. че-то запятых много получилось....

Особенно новомодный

Особенно новомодный рекламируемый самим vuze? А ещё есть AzSMRC который отдельной прогой, он даже обновлять лягуша может.

Пока не знаю. какой выберу.

Пока не знаю. какой выберу. Поставлю, пощупаю, буду думать, куда идти дальше :-)

Плагины у меня стоят, и я их

Плагины у меня стоят, и я их использую, вопрос возможно в наборе.

А vuze без иксов я так

А vuze без иксов я так понимаю мне поставить не получится? :-(

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".