Üdv Hup-os kollégák!
Nagyméretű (200MB - 2G) fájlok feltöltésére és letöltésének a kezelésére PHP (vagy Python) alapú programot kéne írnom (a feladat érdekesnek tűnik, de vannak sötét voltok a megvalósítás tekintetében).
A fájl fel és letöltés Hostonként eltérő sebességgel és méret korlátokkal történne.
Szerver OS: Debian Linux
Amit nem tudok, és ebben kérném a segítségeteket:
- Mivel tudom korlátozni szerver szinten a fel és letöltés sebességét?
- Esetleg van-e olyan Python vagy PHP eszköz amivel ezt megtehetem?
- Lehet-e hostonként változtatni ezeket a korlátokat?
- mi volna a megfelelő irány illetve eszköz a cél megvalósítására?
- Ip cím korlátozás is kelleni fog
Nem konkrét megvalósítást várok, csak ötletet pl.: program, beállítások, minek nézzek utána.A PHP beállításaival tisztában vagyok, de ide is várok tippeket.
Ha esetleg jártas valaki a témában megoszthatná a tapasztalatát.
- 1776 megtekintés
Hozzászólások
pl: Apache Mod_bandwidth ?
- A hozzászóláshoz be kell jelentkezni
Köszi a tippet! Kicsit régi cuccosnak tűnik, használtad már?
- A hozzászóláshoz be kell jelentkezni
Hát nem voltatok valami bőbeszédűek.. de köszönöm mind az 1 darab hozzászólást!
Ha valaki leírni mi az oka annak hogy nem vagytok olyan kommunikatívak, megköszönném.
Túl gáz a téma, vagy rosszul tettem fel a kérdést?
------------------
arth2o: http://keszit.es
- A hozzászóláshoz be kell jelentkezni
{senki nem ért rá, senki nem tudta a választ, lusták voltak válaszolni, egyéb} valamely konbinácioja
- A hozzászóláshoz be kell jelentkezni
nekem még nemkellett használnom, csak sejtem hogy ennek a környékén kell keresgélni, vagy esetleg mod_bw, vagy hasonló moddal oldható meg.
- A hozzászóláshoz be kell jelentkezni
Pásztor János - proclub / janoszen jóvoltából (aki nem mellesleg tényleg otthon van szerverek és nagy terhelésű rendszerek területén) egy érdekes fórum téma kerekedett az ügyben a weblabor.hu oldalon (Ha érdekelnek a részletek).
arth2o: http://keszit.es
- A hozzászóláshoz be kell jelentkezni
A letöltés szerver oldalról egyszerű (Transfer-Encoding: chunked), a feltöltés se nagy kaland, csak figyelni kell rá, hogy senki se akarja a memóriába betölteni a teljes POST-ot...
A rendesebb framework-ök általában fájlként/streamként elérhetővé teszik a request body-t.
Pythonban tudok segíteni (Twisted, CherryPy (wsgi)).
Nem tudom milyen szervert használsz, az nginx nagyon kicsi és nagyon gyors, ott szerverenként állítható a kérés max. mérete és hogy mekkora kérés mérettől rakja fájlba, ill. melyik könyvtárba készítse a temp fájlokat.
Sőt, itt (is) használható fájl küldésre (letöltés) az X-Sendfile header (megadod melyik fájlt szolgáltassa a szerver, és az megteszi ezt, nem kell a Python/PHP-nak ezzel foglalkoznia).
GThomas
- A hozzászóláshoz be kell jelentkezni
Köszi, sokat segítettél ezekkel a címszavakkal.
Durva hogy bármi más jobban alkalmas a dolog megoldására mint a PHP. Hát van mit fejleszteni még rajta.
arth2o: http://keszit.es
- A hozzászóláshoz be kell jelentkezni
milyen érdekes, a PHP kávét se főz, és kapálni se tud...
tudod pl ellenőrizni a conntrack táblát. ha a target tcp/80 v tcp/443 és src nem a local ip, akkor bejövő kapcsolat. szerintem meg tudod nézni benne, h hány bájtot küldött a feladó. ha elérte a tetszőleges korlátot, akkor jöhet a tetszőleges akció is.
kis mázlival eleve van iptables target rá.
emellett van több apache module is rá (modultól függ, h mit paraméterezhetsz benne)
- A hozzászóláshoz be kell jelentkezni