Omezení rychlosti stahování ze serveru

Pavel0

Omezení rychlosti stahování ze serveru
« kdy: 10. 11. 2014, 15:55:26 »
Ahoj,
chtel bych si udelat server na sdileni souboru a omezit uzivatelum X stahovani na 10 Mbit/s a uzivatelum Y na 20 Mbit/s. Mohl by nekdo poradit jake nastroje jsou na tohle vhodne?
« Poslední změna: 10. 11. 2014, 16:10:13 od Petr Krčmář »


Re:Omezení rychlosti stahování ze serveru
« Odpověď #1 kdy: 10. 11. 2014, 16:22:18 »
co takhle pouzit router pred serverem ?

Re:Omezení rychlosti stahování ze serveru
« Odpověď #2 kdy: 10. 11. 2014, 16:25:28 »
Ahoj,
chtel bych si udelat server na sdileni souboru a omezit uzivatelum X stahovani na 10 Mbit/s a uzivatelum Y na 20 Mbit/s. Mohl by nekdo poradit jake nastroje jsou na tohle vhodne?

Vo FreeBSD by to možno zvládol PF+ALTQ. Server nebude FreeBSD? Zo zadania netuším, či to bude FreeNAS, FreeBSD, OpenBSD, NetBSD, Linux alebo nedajbože nejaký krám od M$.

Re:Omezení rychlosti stahování ze serveru
« Odpověď #3 kdy: 10. 11. 2014, 16:33:56 »
Omezení rychlosti na síťové úrovni (pakety) není zas až takový problém. Větší problém je, jak pakety uživatele X odlišit od uživatele Y. Nejjednodušší je to tak, že máš dva servery - jednomu uživateli předhodíš link na jeden, druhému na druhý.

Vzhledem k tomu, že nepíšeš nic o OS, protokolu, ani o prostředí, v jakým to chceš nasadit, se radí fakt hodně blbě...

Každopádně je to trochu vyšší dívčí, pokud vůbec netušíš, o čem je řeč, tak je lepší se do toho nepouštět.

Pavel0

Re:Omezení rychlosti stahování ze serveru
« Odpověď #4 kdy: 10. 11. 2014, 17:17:15 »
Centos, httpd, php

Interni system je psany v php a prave bych chtel po autorizaci v php na zaklade skupiny ve ktere je uzivatel limitovat download souboru.



Re:Omezení rychlosti stahování ze serveru
« Odpověď #5 kdy: 10. 11. 2014, 17:27:16 »
Interni system je psany v php a prave bych chtel po autorizaci v php na zaklade skupiny ve ktere je uzivatel limitovat download souboru.
Nejjednodussi by imho bylo presmerovavat uzivatele na ruzne porty - napr. 81 pro rychle stahovani, 82 pro pomalejsi. Jestli je to pro tebe schudne zhlediska pripadnych omezeni uzivatelu firewally apod. to uz budes muset posoudit sam.

Pavel0

Re:Omezení rychlosti stahování ze serveru
« Odpověď #6 kdy: 10. 11. 2014, 17:32:03 »
Tahle moznost me vubec nenapadla .... Ale nezda se mi to jaka spatna volba. Jsou jeste nejake jine moznosti? JAk treba takovou situaci resi ulozto.cz nebo jine file servery?

Re:Omezení rychlosti stahování ze serveru
« Odpověď #7 kdy: 10. 11. 2014, 17:34:38 »
Jsou jeste nejake jine moznosti?
Pokud to budes resit na urovni paketu (coz je asi nejrobustnejsi moznost), tak proste potrebujes mit moznost nejakym zpusobem na urovni paketu odlisit "rychly" a "pomaly" proud. Takze se muzes zamyslet nad tim, co jsi schopny na webserveru udelat, abys nejak oznacil pakety - no a ruzne porty jsou asi to nejjednodussi :)

JAk treba takovou situaci resi ulozto.cz nebo jine file servery?
To je uplne jina liga s jinymi moznostmi.

Kolemjdoucí

Re:Omezení rychlosti stahování ze serveru
« Odpověď #8 kdy: 10. 11. 2014, 18:53:33 »
Jak treba takovou situaci resi

Konkrétně omezení rychlosti při stahování ve velkém se dělá tak, že se v intervalu v jakém má na to uživatel nárok načte 1 MB z disku a odešle uživateli. Zda to takhle jde udělat v PHP nevím.

tadeas

Re:Omezení rychlosti stahování ze serveru
« Odpověď #9 kdy: 10. 11. 2014, 19:08:36 »
Tohle asi bude jednodussi nez resit porty nebo router...
http://httpd.apache.org/docs/trunk/mod/mod_ratelimit.html

Re:Omezení rychlosti stahování ze serveru
« Odpověď #10 kdy: 10. 11. 2014, 19:30:40 »
Tohle asi bude jednodussi nez resit porty nebo router...
http://httpd.apache.org/docs/trunk/mod/mod_ratelimit.html
Kdyz uz, tak to vypada, ze mod_bw by byl asi lepsi.

fahacz


j

Re:Omezení rychlosti stahování ze serveru
« Odpověď #12 kdy: 11. 11. 2014, 19:42:40 »
Prosacovat iptables, predevsim moznosti v tabulce mangle a ruzne markovaci moduly. Pokud mi skleroza slouzi, je tam nekolik moznosti na tema oznacovani konexi podle uzivatelu. A omarkovany paket se pak uz snadno zaradi do prislusne shapovaci fronty. Zalezi pochopitelne i na tom, zda se pouziva https, pripadne zpusobu autentizace.

Samo nebude to tak easy, jako poslat usera na jinej port, ale prozmenu to nebude mit problem s firewallem.

Alternativne neco na tema https://httpd.apache.org/docs/trunk/mod/mod_ratelimit.html pripadne by na to tema asi nebyl problem napsat nejaky vlastni modul, ale pocitam ze toho bude existovat vic.

Jenom nejak nechapu ty duvody??? Proste vemu linku co mam, nahodim na ni uplne nejtrivialnejsi shapovani a bude to per IP nebo per koneksna rozdelovat rovnym dilem to, co tomu dam. Trivialni, funkcni.

j

Re:Omezení rychlosti stahování ze serveru
« Odpověď #13 kdy: 11. 11. 2014, 19:45:53 »
BTW: Ad ulozto, oni taky nepouzivaj zadnou hitech, pokud pustim nejaky downloader, dostanu Xkrat 300kB => omezujou per sesion. Pokud tedy zaroven sosam 10 souboru, dostanu 3MB/s i kdyz nemam placenej acc. Zjevne se jim totiz nevyplati to resit.

Raskal

Re:Omezení rychlosti stahování ze serveru
« Odpověď #14 kdy: 11. 11. 2014, 20:13:41 »
Ja bych to resil v aplikaci (tedy ne na sitove vrstve) pomoci minimalistickeho skriptu, ktery by pracoval pouze s informaci o tom, co chce uzivatel stahnout a jakou rychlosti. Skript by nemohl pouzit sendfile a bezel by alespon ve vlakne, tedy ne co stahovani, to proces.