Fórum Root.cz
Hlavní témata => Server => Téma založeno: Pavel0 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?
-
co takhle pouzit router pred serverem ?
-
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$.
-
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.
-
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.
-
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.
-
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?
-
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.
-
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.
-
Tohle asi bude jednodussi nez resit porty nebo router...
http://httpd.apache.org/docs/trunk/mod/mod_ratelimit.html
-
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.
-
http://dembol.org/blog/mod_cband/
-
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.
-
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.
-
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.
-
na urovni php "applikace" bych se inspiroval treba zde http://addons.nette.org/jkuchar/filedownloader