Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Memory leak, ili ja negde MNOGO gresim

[es] :: PHP :: Memory leak, ili ja negde MNOGO gresim

[ Pregleda: 2399 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mist
Milos Stanic
Kragujevac

Član broj: 4871
Poruke: 210
*.pat-pool.kg.sbb.co.yu.



+190 Profil

icon Memory leak, ili ja negde MNOGO gresim04.04.2006. u 20:46 - pre 219 meseci
Problem je sledeci:

Napravio sam skriptu za upload fajlova, sajt je tipa imageshack. Samo sto ovde ima i video klipova i flasheva i mp3-a.

Radi na sledeci nacin:
1. Korisnik uploaduje fajl
2. Sistem generise random alfanumericki string duzine 15 znakova pomocu neke formule koju sam iskopao na netu.
3. fajl se snimi na server pod imenom tog generisanog stringa.
4. upise se u bazu gde je jedno od polja taj "jedinstveni" string.


Kada korisnik zeli da vidi fajl on treba da poseti link www.imesajta.com/view?file=<jedinstveni_string>

Medjutim, desava se da prilikom generisanja novog stringa sistem izgenerise string koji vec postoji. Naravno kada korisnik proba da poseti gore navedeni url sistem izvadi ranije uploadovani fajl sa istim jedinstvenim stringom.

Na sajtu trenutno ima oko 25 hiljada fajlova. Ali ljudi, random string duzine 15 karaktera, pa verujem da je verovatnoca da se ponovi daleko manja od 1:25.000.

Ovo je pocelo da se desava kada je bilo samo 1.000 fajlova na sistemu. Prvo sam probao da kada generisem novi random string prvo proverim da li isti postoji u bazi, pa ako postoji probam ponovo i tako ukrug, ali izgleda da je to zaglupljivalo sistem kada je broj fajlova porastao na 10.000, pa sam odustao od toga.
E onda sam poceo da ispred ovog stringa dodajem unix microtime string i evo opet je pocelo da se desava, posle dva meseca.

Moj jedini zakljucak je da postoji memory leak.
Za pristup bazi koristim PEAR:DB bez permanentne konekcije.

Ima li neko ideju, pomagajteeee!!!!!
http://www.kgonline.info - Prvi kragujevački portal i forum
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Memory leak, ili ja negde MNOGO gresim04.04.2006. u 21:45 - pre 219 meseci
Mozda je najbolje da odradis md5 fajla i da tako nazoves taj jedinstveni URL. Onda, ako neko uploaduje isti fajl, ne moras da uploadujes ponovo, samo mu bacis link od vec postojeceg fajla (tako slicno radi rapidshare).

Samo mala napomena: Sto se tice mp3 fajlova, pazi da ne dozvoljavas da ljudi povredjuju autorska prava (kace "komercijalne" pesme) ili barem napravi neki sistem da moze npr. autor pesme da te sa par klikova obavesti da je to njegova pesma i da treba da je skines ili u suprotnom...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

mist
Milos Stanic
Kragujevac

Član broj: 4871
Poruke: 210
*.pat-pool.kg.sbb.co.yu.



+190 Profil

icon Re: Memory leak, ili ja negde MNOGO gresim04.04.2006. u 22:06 - pre 219 meseci
Vidis, to i nije losa ideja.

Ne razumem se u md5 hash, ali da li je sigurno da ce svaka dva razlicita fajla imati razlicite md5 hasheve?

Sto se tice mp3 sadrzaja, to je problem vlasnika sajta. Ja sam samo mali php rudar crnac. :)



http://www.kgonline.info - Prvi kragujevački portal i forum
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: Memory leak, ili ja negde MNOGO gresim04.04.2006. u 22:31 - pre 219 meseci
ili da kombinujes stvari, tipa IP adresu tog ko stavlja fajl (ne verujem da ce ista osoba isti fajl 2 x da stavlja) + md5 + random string...

Inace, to sto navodis, nije momery leak, mem leak je nesto sasvim drugo :)

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

gost123
bgd

Član broj: 38688
Poruke: 15
*.yubc.net.



Profil

icon Re: Memory leak, ili ja negde MNOGO gresim06.04.2006. u 12:09 - pre 219 meseci
$id = $filename.sha1(mt_rand(1, 1000).time());

ili

$id = $filename.md5(mt_rand(1, 1000).time());

sha1 vs. md5

sha1 : 40-character hexadecimal number
md5: 32-character hexadecimal number

sha1: PHP 4 >= 4.3.0, PHP 5
md5: PHP 3, PHP 4 , PHP 5


mozda je ovo i previse ali za svaki slucaj :)

Citat:
mist: Ne razumem se u md5 hash, ali da li je sigurno da ce svaka dva razlicita fajla imati razlicite md5 hasheve?


o sha1 algoritmu mozes procitati nesto vise na ovoj adresi:
http://www.faqs.org/rfcs/rfc3174
 
Odgovor na temu

[es] :: PHP :: Memory leak, ili ja negde MNOGO gresim

[ Pregleda: 2399 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.