[ Mister_rap @ 16.12.2007. 21:19 ] @
Pozdrav,

Sajt od 12.000 unique dnevno, svakodnevno se azurira... jedna od tabela oko 6.000 redova

U folderu archive imam oko 6000 foldera od 01 - 6000 pri cemu svaki folder ima od 1 - 6 podfoldera (prosjek 4).
Aplikacija radi stabilno ali me zanima da li treba da brinem zbog ovoga ?
Prevashodno mislim da li treba da drugacije organizujem kreiranje foldera, jer mozda web server
nece biti u stanju da cita normalno podfoldere kad budem imo 20.000+ foldera unutar foldera archive!?

Razmisljao sam da pravim foldere archive01-archive12 po mjesecima ali nisam siguran koliko je ovo pametno.
Plus ce mi trebati dosta vremena za izmjenu jer bih morao da dodam jos par polja u tabele, mada bolje mi
je da to realizujem sto prije ako mogu imati problema sa gore navedenom "strukturom"...

Nadam se da je neko nekad imao slican problem i da ce znati da mi pomogne

Ps.
Nisam siguran da li je pitanje skroz za ovaj forum.
[ Nemanja Avramović @ 17.12.2007. 16:13 ] @
Neki fajl sistemi imaju ograničenje na broj fajlova/podfoldera u jednom folderu. Ne znam na kom fajl sistemu ti je server, ali pogledaj malo po netu pa zaključi sam
[ Mister_rap @ 17.12.2007. 18:22 ] @
Citao sam sinoc i danas i dosao do zakljucka da cu kad tad imati problem.
Jeste da ext2 i ext3 imaju super mogucnosti ali sta da se radi...

Volio bih da cujem vase predloge kako bi ste vi rijesili ovaj problem!!!

Moja ideja je da dodam 2 polja u tabelu: mjesec i godina.
Za postojece foldere bih "uzeo" vrijeme kada je folder kreiran i odgovarajuce vrijednosti bi skripta upisala u tabelu.

Za nove unose u bazu, odmah bi se upisivale vrijednosti godina i mjesec.
Tako da bi "konacan" izgled "folder strukture" bio recimo ovakav:

folder archive07
-01
-pfolder...
-pfolder...
-02
-pfolder...
-pfolder...
-03
...
folder archive08
...
...
...


Ili pak da kreiram vise foldera tipa:
archive07-01
archive07-02
...


Kako vam se cine ovi predlozi i koje je po vasem misljenju bolje resenje od ova dva!?
[ glavince @ 18.12.2007. 15:02 ] @
Ja sam imao takav problem na jednom serveru. Server je bio konfiguriran na 2000 dir. To znaci da u jednom direktoriumu mozes da vidis 2000 dir a u njima po 2000 poddir. i t.d. Kontaktirao sam admina i on mi je povecao limiot na 3000.
Ali mislim da to nije dobro resenje.
Usput sta te je navelo na takvu strukturu.
[ Mister_rap @ 18.12.2007. 15:35 ] @
I kako si rjesio problem !?

Sta me je navelo... pa ako prvi post nije bas jasan evo malo detaljnijeg objasnjenja:

Za svaku novu "vijest" kaci se od 1 do 6 fajlova (slike i video).
Pa prema tome koliko vijesti toliko i foldera...
[ 1r0nM4n @ 18.12.2007. 17:12 ] @
Pa zar ti nije lakše da napraviš jedan folder za upload? I onda u bazi imaš na primer 2 tabele: news i uploads. Kada neko doda vest i sliku, u tabelu upload se unosi id vesti i putanja do fajla. To je samo uprošćeno kako bi ja to napravio.. Postoji još neka rešenja koja su bolja od pravljenja 2000+ foldera na serveru..

p0z
[ dakipro @ 18.12.2007. 17:35 ] @
I ja bi se opredelio za jednu dubinu foldera, ili pak da ih razdvojis po godina_mesec, cisto ako trebas nekad rucno da dejstvujes po fajlovima (napravis backup, obrises stare itd). Mislim da je to nekako najprakticnije.
[ Mister_rap @ 18.12.2007. 18:40 ] @
Citat:
Pa zar ti nije lakše da napraviš jedan folder za upload? I onda u bazi imaš na primer 2 tabele: news i uploads.


Svakako da je bilo lakse realizovati na taj nacin ali bi se tu mnogo brze javio problem!
Zasto?! - Pa zato sto bi u folderu upload sa trenutnim stanjem stvari imao oko 25000 fajlova.

Backup se radi redovno i rucno djelovanje mene licno ne zanima jer neko drugi brine o tome...
Upravo zbog "preglednosti" smo se odlucili za kreiranje foldera za svaki novi id u tabeli.

Mozda se u pocetku moglo naci neko bolje resenje od postojeceg ali ja jednostavno nisam razmisljao da mogu imati problem ovoga tipa...
[ glavince @ 18.12.2007. 22:46 ] @
Citat:
Mister_rap: I kako si rjesio problem !?


Pa i nije da sam resio. Nego sada za zvaki id iz baze kreriam dir ali sada je tipa "YYYY/mm/dd_hh_mm_rand/.
Tako je lakse za backup i za manipulaciju fajlova vezani za taj id i ne moze da dodze da u jedan dir ima vise od 2000 direktorija.
E sad i mene brinu performanse same aplikacije u odnosu na server.

quote korekcija...

[Ovu poruku je menjao Mister_rap dana 19.12.2007. u 00:10 GMT+1]
[ feroc1ty @ 20.12.2007. 01:51 ] @
Citat:

Moja ideja je da dodam 2 polja u tabelu: mjesec i godina.
Za postojece foldere bih "uzeo" vrijeme kada je folder kreiran i odgovarajuce vrijednosti bi skripta upisala u tabelu.


Pa nemoras da pravis ta dva polja u tabeli mozes samo da proveris koji je mesec i godina


Code:
$date = date("m-y");   // ovo ce dati 12-07 za ovaj mesec
$folder = "archive$date";   // arhive12-07


Nemoras djabe da cimas onoga ko unosi vest da kuca i datum.
[ Mister_rap @ 20.12.2007. 02:12 ] @
Pa niko ga nece kucati...
Normalno da ce skript da upise datum u bazu za svaki id...

Pri cemu je za trenutne foldere na serveru potrebno uzeti datum kada su kreirani (ovaj dio je rijesen).
Ovo sto si dao nicemu ne sluzi, ali cjenim to sto si pokusao da mi pomognes!

Ps.
Jos se nisam odlucio kako da realizujem stvari ali cim to uradim javicu ovdje.