Obmedzenie na upload

Pali

Obmedzenie na upload
« kdy: 14. 09. 2012, 22:30:11 »
Ahojte, ako sa da na linuxe nastavit obmedzenie na upload dat z pocitaca? Chcel by som nastavit aby bolo mozne odoslat maximalne M GB dat za nejaku jednotku casu (plavajuci sucet) a potom by sa rychlost odosielania znizila na N kbps. S tym ze velkost prenesenych dat (plavajuci sucet) bude vhodne uchovana aj po reboote. (Teda ak bol pocitac vypnuty H hodin, plavajuci sucet bude patricne prepocitany). Pozeral som sa na iptables a tc ale nic som ohladom toho nenasiel.


6

Re:Obmedzenie na upload
« Odpověď #1 kdy: 14. 09. 2012, 22:47:25 »
To co hledáš pravděpodobně neni tc či qos ale jednoduše fup..

Re:Obmedzenie na upload
« Odpověď #2 kdy: 14. 09. 2012, 23:29:55 »
S tímhle asi budou mít nejvíc zkušeností ISP - možná by nebylo od věci se zeptat na jejich specializovaném fóru: https://ispforum.cz/

O hotovém řešení nevím (nikdy jsem nepotřeboval), viděl bych to na dva podproblémy: počítat data + omezit upload. To první je celkem triviálně řešitelný na koleně nějakým scriptem, na to druhý použít nějaký druh shapingu (nejlíp asi spíš na routeru, než přímo na tom počítači). Ale bude to chtít trochu erudice, řešení nejspíš nebude ve stylu "zadej apt-get install superduperfupwatchdog".

Pali

Re:Obmedzenie na upload
« Odpověď #3 kdy: 14. 09. 2012, 23:34:48 »
Ako pozeram, data by sa dali ratat z /sys/class/net/<dev>/statistics/ alebo pridat do iptables potrebne markovanie a vytiahnut to z "iptables -nvxL -t mangle". Limit na rychlost uploadu by potom slo pomocou tc. Ja som myslel ci by oboje nevedel tc...

Re:Obmedzenie na upload
« Odpověď #4 kdy: 15. 09. 2012, 00:04:20 »
alebo pridat do iptables potrebne markovanie a vytiahnut to z "iptables -nvxL -t mangle"
To mi přijde zbytečný. Oproti prvnímu způsobu to nic nepřinese, kromě komplikací.


Pali

Re:Obmedzenie na upload
« Odpověď #5 kdy: 15. 09. 2012, 00:17:47 »
Tym by slo zistit kolko dat bolo poslane na jednotlive servery.

Ale neviem ako jednoducho zistit plavajuci sucet. Napadlo ma ratat data pre kazdy (napr. 5 minutovy) interval. Mat frontu dat (kolko bolo prenesenych dat v intervale, velkost fronty = jednotka casu) a kazdych pat minut vyhodit prvok z fronty + vlozit novy. Tym by som vedel kazdych 5 minut povedat aky je asi plavajuci sucet dat za casovu jednotku a podla toto updatovat tc. Ale pride mi to dost komplikovane. Po vypnuti a zapnuti je potrebne frontu dat updatovat (pridat nuly) do povodnej velkosti...