PDA

Bekijk Volledige Versie : Vraag over aantal bestanden in map op server



mohamedboul
13/03/09, 10:28
Voor een paar grote projecten is het nodig om een groot aantal bestanden in een map op de server te plaatsen. Ik spreek over 50.000-xxx.xxx bestanden.
Kan dit een probleem geven voor de werking van shared server? Want als ik kijk naar een gewone desktop heeft het aantal bestanden effect op de cpu load.

Bij één van de projecten doet mijn script eerst een controle op de aanwezigheid van het bestand, alvorens een keuze te maken tussen dat bestand toevoegen of een alternatief. Er wordt dus contact gemaakt, en vervolgens nogmaals om dat bestand te laden bij een positieve antwoord.

Bij voorbaat dank

Triloxigen
13/03/09, 10:42
Ik raad aan om het in mappen op te delen. Als het genummerd is kun je die gebruiken als map.
7512450450.jpg zou komen in de map /075/124/7512450450.jpg oid.

Tim.Bracquez
13/03/09, 10:46
Het hangt ook af hoe de hosting provider zijn limieten steld, er zijn hosting providers (lees: die met vele grote disk space overselling) die limiteren op het aantal bestanden je in gebruik mag nemen.

Veelal kan je hosting provider hier de beste info over geven of dit samen met u testen of het mogelijk is.

Al deze bestanden uploaden zal vermoedelijk wel enige tijd in beslag nemen.

mohamedboul
13/03/09, 11:06
@Triloxigen
De bestandsnamen bevatten geen nummers. Het zou voor mij veel gemakkelijker geweest zijn, indien de projecten dezelfde map zouden kunnen gebruiken voor de aanwezigheid van een bepaalde bestand. Maar een mogelijkheid zou zijn dat ik mappen aanmaak op basis van het alfabet: alle onderdelen van het project beginnend met een A moeten vissen in map A...Dit zou ik wel in orde moeten krijgen met php.

@Tim.Bracquez
Alles uploaden gebeurt natuurlijk niet ineens. Momenteel update ik tot 3x per dag en dan spreek ik over max 2000 bestanden per update.

Ik heb een grote reseller pakket, en mijn hosting provider kijkt gelukkig niet zo streng op limieten. En omdat mijn vraag algemeen is, zal ik mijn provider niet onnodig lastigvallen.

Ik dank jullie voor de antwoorden! Ik kan weer verder. :)

Jurian
16/03/09, 18:45
meer dan een paar 1000 bestanden in 1 directory is af te raden; in ieder geval bij ext2. Als de server crashed of stroom uitvalt oid, dan heeft fsck het niet naar z'n zin bij enorme directories. Je kan bij zoveel files eigenlijk altijd het beste in lagen werken. 1e laag is dan de 1e 2 letters van de bestandsnaam, en dan daar in pas die bestanden. Als je allen de 1e letter pakt dan heb je maar 26 letters + 10 cijfers = 36 directories, da's niet zo heel erg veel nuttiger; doe je de 1e 2 letters, dan zit je op zo'n 1300 directories in de 1e laag, wat goed te doen is en de boel gelijk erg goed verdeelt.

mohamedboul
17/03/09, 00:10
@Jurian
Momenteel ben overgestapt naar max 5000 bestanden per dir. Maar na jouw post kan ik dat beter verlagen naar 1500-2000. Het gaat wel om bestanden van max 10kb, en de server load is snel.

De procedure die ik nu volg is manueel een nieuwe map aanmaken en daar dan verder mee werken tot het aantal bereikt is. Het nadeel is dat er dubbele bestanden gaan voorkomen in de mappen, wat het project groter zal maken.
In de loop van het project zal ik wel het een en ander automatiseren binnen mijn scripts.

Bedankt! :)

Ramon Fincken
17/03/09, 00:21
als je niet met nummers werkt is een timespamp, een prefix (datum) of iets anders aan te bevelen, al was t maar voor het snel manueel terugvinden van bestanden. En dan inderdaad mapjes gebruiken.