Toon posts:

Maximaal 32.000 directories?*

Pagina: 1
Acties:
  • 100 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Beste Mede Webmasters,

Ik liep zojuist op tegen de volgende foutmelding

code:
1
Warning: mkdir(./upload/33907): Too many links in /home/riekelt/public_html/aanmelden.php on line 69

Na wat gegoogle kwam ik erachter dat in een directory maximaal 32.000 mappen aangemaakt kunnen worden.

Bij elke aanmelding van een lid op me site word er een map aangemaakt van zijn of haar profielnummer waarin de foto's van de desbetreffende lid komen. Om dit probleem optelossen heb ik de mappen van inactieve leden verwijderd waardoor er nu 29.000 nog wat mappen zijn. Alleen mijn vraag is of het mogelijk is om de limiet van 32.000 mappen te verhogen in de directory zodat het meer mappen toestaat dan 32.000.

  • KopjeThee
  • Registratie: Maart 2005
  • Niet online
Welk file system?

[ Voor 42% gewijzigd door KopjeThee op 18-12-2005 21:09 ]


Verwijderd

Topicstarter
Hoe bedoel je welke file systeem? Tijdens het aanmelden op de site kreeg je de bovenstaande foutmelding. Ik heb daarna op google gezocht naar
Warning: mkdir en heb een stuk gelezen waarin de directory maximaal 32.000 mappen toelaat.

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 19:39
Misschien word het eens tijd voor een databaseje?

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Dit soort limieten is FS/OS afhankelijk

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • KopjeThee
  • Registratie: Maart 2005
  • Niet online
Verwijderd schreef op zondag 18 december 2005 @ 21:14:
[...]


Hoe bedoel je welke file systeem? Tijdens het aanmelden op de site kreeg je de bovenstaande foutmelding. Ik heb daarna op google gezocht naar
Warning: mkdir en heb een stuk gelezen waarin de directory maximaal 32.000 mappen toelaat.
Een file system id het deel van het operating sytem dat verantwoordelijk is voor files en directories. Het zorgt ervoor de gebruikers de (bv.) harde schijven kunnen benutten door files en directories aan te maken. Het maximum aantal directories/mappen dat je kunt maken, zal dus van het file system afhangen. Ik vrees dat dit niet zomaar door je aan te passen is.

- Misschien kan je inderdaad een database gaan gebruiken?
- Misschien kan je de mappen indeling iets aanpassen? Bijvoorbeeld in plaats van map 00000, 00001, ..., 99999 zou je mappen 000/01, 000/02, ..., 999/99 kunnen maken? Dan heb je niet meer dan 1000 mappen per map nodig.

  • Coach4All
  • Registratie: Januari 2003
  • Laatst online: 09-02 10:46

Coach4All

I'm a Coach 4 All

/home/......
mkdir ......

Ik gok Linux/Unix, nu nog het filesystem....

--- Systeembeheerdersdag --- Voedselintolerantie ---


  • Flapp
  • Registratie: December 2004
  • Laatst online: 02-01 20:16
Wat dacht je van je neemt een database en/of je geeft de bestanden een prefix in plaats van ze in een bepaalde map te plaatsen?

"Stilte, een gat in het geluid...."


Verwijderd

Topicstarter
Dit zijn de specs van de server.

1 x TEAC DVD/CDROM 8x/24x SlimLine, intern
1 x Panasonic Floppy, 1.44MB, intern
4 x Samsung 1024MB DDR333 ECC Registered
3 x Hitachi 36GB, 15 000rpm, SCSI U320
1 x Supermicro X6DH8-G 1U ServerBoard, 2 x Intel Gbit LAN, VGA, PCI-X 64bit

2 x Intel Xeon - 3.0Ghz - 800Mhz - s604 - 2MB cache - 64bit
1 x Supermicro SC823S-550LP, 2U, 550W voeding, sliding rails inclusief, 6 x SCSI hot-swap
1 x Adaptec 2010s, SCSI U320 PCI-X64/133 - 48MB (hostRAID 0/1/5/10/50 ondersteuning, linux/windows compatibel)
1 x Supermicro IPMI 2.0: reboot/power on/remote console/hardware monitor/... over IP. Beheer je server overal ter wereld via het internet

Ik weet niet of je hier kan zien welk file systeem ik gebruik.

  • S1W
  • Registratie: Mei 2000
  • Laatst online: 01-01 16:08

S1W

Welk OS draait er op je server? Windows of Linux?

Edit:

/home/riekelt/public_html/aanmelden.php

Zal wel Linux zijn...

Je kan in het bestand FSTAB zien welke filesystems er op jouw bak draaien.

Zie ook deze link.

Maar, als je niet weet wat voor OS en welk filesystem er gebruikt wordt, dan zou ik zeker niet gaan rommelen hiermee. Denk idd eens na over een database oplossing (MySQL).

[ Voor 110% gewijzigd door S1W op 18-12-2005 21:56 ]


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Een Unix-achtige directorystructuur beperkt het aantal mogelijkheden inderdaad tot één: Linux 8)7

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Verwijderd

Topicstarter
Er draait inderdaad linux op me servers. Ik denk dat ik voor oplossing mappen indelen ga zoals een paar posts boven al werd opgenoemd.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Voor de volledigheid zet ik deze nog maar even in Non-Windows Operating Systems. Dit heeft namelijk niets met programmeren te maken. ;)

PW>>NOS

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • DiedX
  • Registratie: December 2000
  • Laatst online: 08-02 22:25
Alpha,

De vraag is al een paar keer gesteld. Wij Linux liefhebbers (ahem) hebben de mogelijkheid uit een aantal soorten filesytemtypen. Waar Windows gelimiteerd is tot FAT(32) en NTFS, hebben wij er een bak meer :)

Linux is 1, maar weet je toevallig ook welk soort filesystem je hebt, of host je deze bak ergens anders?

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 23:25

zomertje

Barisax knorretje

Post anders eens de uitkomst van:

cat /etc/fstab

Dan kunnen we daar je filesystem zien :)

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


Verwijderd

Topicstarter
zomertje schreef op zondag 18 december 2005 @ 22:44:
Post anders eens de uitkomst van:

cat /etc/fstab

Dan kunnen we daar je filesystem zien :)
De onderstaande uitkomst kreeg ik tijdens het uitvoeren van cat /etc/fstab

# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext3 defaults,errors=remount-ro 0 1
/dev/sdb1 /home ext3 defaults 0 2
/dev/sda2 none swap sw 0 0
/dev/sdb2 none swap sw 0 0
/dev/hdb /media/cdrom0 iso9660 ro,user,noauto 0 0
tmpfs /var/lib/php4 tmpfs defaults 0 0
tmpfs /var/lib/eaccelerator tmpfs defaults 0 0

Verwijderd

Topicstarter
DiedX schreef op zondag 18 december 2005 @ 22:30:
Alpha,

De vraag is al een paar keer gesteld. Wij Linux liefhebbers (ahem) hebben de mogelijkheid uit een aantal soorten filesytemtypen. Waar Windows gelimiteerd is tot FAT(32) en NTFS, hebben wij er een bak meer :)

Linux is 1, maar weet je toevallig ook welk soort filesystem je hebt, of host je deze bak ergens anders?
Nee beide bakken zijn van mij en hangen colocated bij shuberg philis in de leaseweb netwerk.

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Verwijderd schreef op zondag 18 december 2005 @ 22:58:
De onderstaande uitkomst kreeg ik tijdens het uitvoeren van cat /etc/fstab
code:
1
2
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sdb1       /home           ext3    defaults        0       2
ext3 dus, je zult over moeten stappen naar een ander filesysteem, bijvoorbeeld ReiserFS of XFS, of een andere indeling van die directory kiezen, bijvoorbeeld per duizendtal een directory maken, etc..

[ Voor 11% gewijzigd door moto-moi op 18-12-2005 23:15 ]

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • StefSybo
  • Registratie: Maart 2004
  • Niet online
Op je /home partitie gebruik je dus het Ext3 filesystem, dat heeft inderdaad geen support voor grote mappen (mappen met veel bestanden of submappen erin). Reiserfs is een filesystem dat wel grote mappen aankan, dus je zou kunnen overwegen om die partitie te converteren naar reiserfs.

Als je echter niet weet wat een filesystem is lijkt het me beter dat je dat laat doen door iemand die weet waar hij mee bezig is, dat je meer informatie zoekt over filesystems en hoe die te converteren of dat je een andere oplossing zoekt. Waar je in ieder geval op moet letten is dat je je partitie zal moeten backuppen voordat je ze converteert naar een ander filesystem, omdat je de data die erop stond dan kwijt bent.

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 17-01 14:14

VisionMaster

Security!

Sorry foor de mogelijk volgende n00bich vraag/opmerking:

Maar kan je niet het aantal directories ophogen voor ext3 net als de max_filehandle limiet? Dat scheelt de TS een switch naar een ander OS terwijl hij (naar mijn idee) nog redelijk nieuw is met *n?x-en.

btw: 32.000 mappen is best een hoop, kan de TS misschien een zooitje bestanden zippen of tarren voor het gemak?

[ Voor 18% gewijzigd door VisionMaster op 18-12-2005 23:26 ]

I've visited the Mothership @ Cupertino


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

TS: misschien een idee om over te gaan op submappen?
Dus een hoofdmap waarin je de mappen 0000 tot 9999 hebt en daarin weer submappen met 0000 tot 9999
Daarmee zal je niet zo snel aan je limiet komen :P

Blog [Stackoverflow] [LinkedIn]


  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 17-01 14:14

VisionMaster

Security!

Wolfboy schreef op zondag 18 december 2005 @ 23:25:
TS: misschien een idee om over te gaan op submappen?
Dus een hoofdmap waarin je de mappen 0000 tot 9999 hebt en daarin weer submappen met 0000 tot 9999
Daarmee zal je niet zo snel aan je limiet komen :P
Wil je impliceren dat de 32.000 mappen allemaal in /home/<username>/ staan en niet verdeelt over de directory tree? Dus dat die limiet eigenlijk betekent, dat je max 32.000 (sub)dirs kan maken in 1 directory?

[ Voor 11% gewijzigd door VisionMaster op 18-12-2005 23:37 ]

I've visited the Mothership @ Cupertino


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

VisionMaster schreef op zondag 18 december 2005 @ 23:36:
[...]

Wil je impliceren dat de 32.000 mappen allemaal in /home/<username>/ staan en niet verdeelt over de directory tree? Dus dat die limiet eigenlijk betekent, dat je max 32.000 (sub)dirs kan maken in 1 directory?
Als ik de TS goed begrijp dan heeft hij alles onder 1 map staan ja.
De directories limiet is per directory, je kunt gerust een directory met 10.000 mappen hebben en in al die mappen weer 10.000 mappen zonder dat het ooit problemen geeft.

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Topicstarter
Het gaat hier om een grote jongerensite met meer dan 33.000 leden www.funkybabes.nl en www.funkyhunks.nl Dagelijks melden zich ongeveer 700 nieuwe leden zich aan dus ik moet infeite hier snel een oplossing voor vinden anders heb ik over een week weer hetzelfde probleem.

Ik zal de server beheerder is benaderen of we kunnen overstappen naar ReiserFS of XFS.

Verwijderd

Topicstarter
Wolfboy schreef op zondag 18 december 2005 @ 23:54:
[...]
Als ik de TS goed begrijp dan heeft hij alles onder 1 map staan ja.
De directories limiet is per directory, je kunt gerust een directory met 10.000 mappen hebben en in al die mappen weer 10.000 mappen zonder dat het ooit problemen geeft.
Klopt ik heb alles in 1 directory en daar zitten dan op dit moment tegen de 29.000 mappen in. Zie screenshot www.funkybabes.nl/directory.jpg

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Een oplossing zou dus subdirectories kunnen zijn, dat lijkt me sowieso beter.
Je kunt wel steeds meer directories erbij blijven gooien (met een ander filesystem) maar dan wordt het op een gegeven moment ook gigantisch traag om alleen al een directory listing te doen, dat kan ik dus niet aanraden.

Een andere oplossing is een hele andere structuur, alle plaatjes in directories gooien (in plaats van per gebruiker) en via de database aanspreken maar dat is misschien ook niet gewenst.
Dat zou iig wel veel directories kunnen schelen.

Blog [Stackoverflow] [LinkedIn]


  • Wilke
  • Registratie: December 2000
  • Laatst online: 20:29
VisionMaster schreef op zondag 18 december 2005 @ 23:21:
btw: 32.000 mappen is best een hoop, kan de TS misschien een zooitje bestanden zippen of tarren voor het gemak?
Misschien tijd voor een heel klein beetje applicatie-design?

Lijkt me nuttiger. Met ReiserFS heb je inderdaad dit probleem ook niet, maar dan nog blijft het in de meeste gevallen achterlijk om zoveel directories te hebben (het kan wel...maar een database is dan inderdaad wellicht handiger)

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 17-01 14:14

VisionMaster

Security!

Wilke schreef op maandag 19 december 2005 @ 00:05:
[...]
Misschien tijd voor een heel klein beetje applicatie-design?
Lijkt me nuttiger.
Sure, dat staat vast. Want dit is een onhoudbare situatie. Als je naar een ander FS migreert kan je wel om die limiet heen werken... maar ik geloof niet dat de TS daar veel blijer om wordt...

Begrijp ik goed, TS, dat je een community hebt van ongeveer 32.000 personen op die websites?
Dan lijkt het me toch even handig om wat veranderingen aan te brengen in je structuurtje door bijv. naar databases te kijken (Postgres/MySQL) bijv.
Wellicht dat je een tijdelijk hack hieromheen kan maken. Als iedere map een user is op de site, kan je een directory nemen met alle 'a'-tjes en de volgende met alle 'b'-tjes, enz. om de directories te splitsen op die manier. Dat is eenvoudig in de code te hacken.

suc6 :Y)

I've visited the Mothership @ Cupertino


  • r0b
  • Registratie: December 2002
  • Laatst online: 08-02 21:45

r0b

offtopic:
Wil je hier ook even naar kijken? En dan vooral het stukje "De site waarop de smilies komen te staan is van non-commerciele aard"? :)

Verwijderd

Topicstarter
r0b schreef op maandag 19 december 2005 @ 01:36:
offtopic:
Wil je hier ook even naar kijken? En dan vooral het stukje "De site waarop de smilies komen te staan is van non-commerciele aard"? :)
Dan kan je volgens mij alle profielensites aanspreken over de smileys :) :)

  • S1W
  • Registratie: Mei 2000
  • Laatst online: 01-01 16:08

S1W

Volgens mij heb je best een goed lopende site, waarom geef je niet wat geld uit om een degelijk database driven CMS te laten bouwen? Moet echt niet al teveel kosten, en dan ben je wel (met alle respect) uit de hobby sfeer...

Verwijderd

Topicstarter
S1W schreef op maandag 19 december 2005 @ 08:45:
Volgens mij heb je best een goed lopende site, waarom geef je niet wat geld uit om een degelijk database driven CMS te laten bouwen? Moet echt niet al teveel kosten, en dan ben je wel (met alle respect) uit de hobby sfeer...
Dat het goed draait daar heb je helemaal gelijk in. Het is infeite als een hobby begonnen maar het is heel snel uit de hand gelopen, van hobby tot een site dat garant staat voor leuke maandelijkse inkomsten. De site bestaat nu ongeveer 7 maanden en zoals je zie zitten we over de 34.000 leden. Met gemiddeld 700 nieuwe leden per dag behoren we tot 1 van de snelstgroeiende jongerensite van nederland. Op dit moment maken we gebruik van een adminpanel alleen dit is niet dat je zeg wauw. Ik ben zeker van plan om binnenkort een CMS te laten scripten.

  • Battle Bunny
  • Registratie: Oktober 2001
  • Laatst online: 02-02 21:41
"een CMS" is nogal een holle kreet op het moment. Wat jij nodig hebt is iemand die fatsoenlijke PHP kan schrijven en een nette database oplossing kan leveren. Met andere woorden, major overhaul. En wel ASAP. Het lijkt me niet zo bijzonder moeilijk om ipv directories te maken, db entries te maken. Dagje werk, tops.

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Verwijderd schreef op maandag 19 december 2005 @ 07:33:
[...]


Dan kan je volgens mij alle profielensites aanspreken over de smileys :) :)
Dat boeit niet, je overtreet op dit moment auteursrechten....

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Verwijderd

Topicstarter
Battle_Bunny schreef op maandag 19 december 2005 @ 23:49:
"een CMS" is nogal een holle kreet op het moment. Wat jij nodig hebt is iemand die fatsoenlijke PHP kan schrijven en een nette database oplossing kan leveren. Met andere woorden, major overhaul. En wel ASAP. Het lijkt me niet zo bijzonder moeilijk om ipv directories te maken, db entries te maken. Dagje werk, tops.
Wat heeft dit nou met de scripter te maken? Wij wisten ook niet dat we tegen dit probleem zouden aanlopen. Daarnaast word de fotoalbum zodanig herscript dat alles in mappen zoals 01 komt waarin 1000 mappen in komen testaan.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Verwijderd schreef op dinsdag 20 december 2005 @ 01:50:
[...]


Wat heeft dit nou met de scripter te maken? Wij wisten ook niet dat we tegen dit probleem zouden aanlopen.
Heel eenvoudig, een scripter met ook maar een beetje ervaring kan wel redelijk voorzien dat iets als dit tot problemen kan leiden (sowieso, meer dan 10.000 bestanden/mappen in 1 directory vind ik in alle gevallen onpraktisch en vaak ook traag)
Daarnaast word de fotoalbum zodanig herscript dat alles in mappen zoals 01 komt waarin 1000 mappen in komen testaan.
En als de site dan nog iets groeit dan zit je straks weer met het probleem (zal niet zo snel gebeuren nee)
Alle foto's ergens op je filesystem bewaren is geen slechte keuze nee (vs. bewaren in de database dan)
Alleen zou ik het manier van zoeken in de bestanden wel via de database doen, gewoon alle foto's in oplopende mappen doen, dus niet per gebruiker een map maar per 1000 foto's oid.

Blog [Stackoverflow] [LinkedIn]


  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 02-12-2025

daft_dutch

>.< >.< >.< >.<

oke een DB is eigenlijk het makkelijkst. en omdat je een webhost gebruikt en het waarschijnlijk niet je eigen server is lijkt het me sterk dat er snel een ander file systeem komt.

Maar een oplossing

PHP:
1
2
3
4
5
6
7
8
9
function lid_dir($lidnr)
{
        $len =  strlen($lidnr);
        for ($i = 0 ; $i < $len ; $i = $i + 3)
        {
           $dir .= substr($lidnr,$i,3)."/";
        }
        return $dir;
}


maakt van bijvoorbeeld:
123456789
123/456/789/

1234 wordt
123/4

Het zal wat geetter zijn met de code. en vooral die 32000 dirs omzetten daar ditum.
maar daar kan je ook wel een scriptje voor schrijven.
let wel op dat als je dir 12345/ verplaast naar 123/45/ dat de dir 123/ aangemaakt moet zijn.

>.< >.< >.< >.<


Verwijderd

Dat het goed draait daar heb je helemaal gelijk in. Het is infeite als een hobby begonnen maar het is heel snel uit de hand gelopen, van hobby tot een site dat garant staat voor leuke maandelijkse inkomsten. De site bestaat nu ongeveer 7 maanden en zoals je zie zitten we over de 34.000 leden. Met gemiddeld 700 nieuwe leden per dag behoren we tot 1 van de snelstgroeiende jongerensite van nederland. Op dit moment maken we gebruik van een adminpanel alleen dit is niet dat je zeg wauw. Ik ben zeker van plan om binnenkort een CMS te laten scripten.
Als je gehecht bent aan die inkomsten: Geef dan nu een maandje ervan uit aan een fatsoenlijk, schaalbaar systeem! Je hebt in 7 maanden 34.000 leden weten te werven, en tenzij de groei er nu helemaal uit is kan je nog makkelijk een veelvoud daarvan verwachten. Echter, zodra je site de naam krijgt traag te zijn of instabiel, zijn die jongeren zo weer weg... 32.000 directories in ext3 is nu al traag, dat het filesysteem er niet meer toestaat heeft waarschijnlijk een reden :P Meer dan een paar honderd files/subdirectories per directory moet je al niet willen vind ik.

Als ik jou was, zou ik nu snel een bestandsstructuur opzetten dat om deze limieten heenwerkt en dat je binnen een paar dagen op de server kan hebben. Bijvoorbeeld de eerste letter van de username als index gebruiken... Maar doe jezelf een plezier en zet een goede database op, al was het maar als index voor directories op de harde schijf.

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

daft_dutch schreef op dinsdag 20 december 2005 @ 03:36:
let wel op dat als je dir 12345/ verplaast naar 123/45/ dat de dir 123/ aangemaakt moet zijn.
mkdirhier :)

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Verwijderd

Topicstarter
Wolfboy schreef op dinsdag 20 december 2005 @ 01:55:
[...]
Heel eenvoudig, een scripter met ook maar een beetje ervaring kan wel redelijk voorzien dat iets als dit tot problemen kan leiden (sowieso, meer dan 10.000 bestanden/mappen in 1 directory vind ik in alle gevallen onpraktisch en vaak ook traag)


[...]
En als de site dan nog iets groeit dan zit je straks weer met het probleem (zal niet zo snel gebeuren nee)
Alle foto's ergens op je filesystem bewaren is geen slechte keuze nee (vs. bewaren in de database dan)
Alleen zou ik het manier van zoeken in de bestanden wel via de database doen, gewoon alle foto's in oplopende mappen doen, dus niet per gebruiker een map maar per 1000 foto's oid.
Alles komt ook in oplopende mappen met 1000 foto's en daarnaast worden de foto's bewaard in de database. Tevens stap ik vanavond van ext3 over naar ReiserFS. Voorheen maakte ik gebruik van de volgende script
code:
1
2
3
4
5
if ( !file_exists('./upload/' . $spslogin->loginid()) )
    {
        mkdir("./upload/" . $spslogin->loginid(), 0777);
    }
    //chmod("./upload/" . $spslogin->loginid(), 0777);

Verwijderd

Topicstarter
daft_dutch schreef op dinsdag 20 december 2005 @ 03:36:
oke een DB is eigenlijk het makkelijkst. en omdat je een webhost gebruikt en het waarschijnlijk niet je eigen server is lijkt het me sterk dat er snel een ander file systeem komt.

Maar een oplossing

PHP:
1
2
3
4
5
6
7
8
9
function lid_dir($lidnr)
{
        $len =  strlen($lidnr);
        for ($i = 0 ; $i < $len ; $i = $i + 3)
        {
           $dir .= substr($lidnr,$i,3)."/";
        }
        return $dir;
}


maakt van bijvoorbeeld:
123456789
123/456/789/

1234 wordt
123/4

Het zal wat geetter zijn met de code. en vooral die 32000 dirs omzetten daar ditum.
maar daar kan je ook wel een scriptje voor schrijven.
let wel op dat als je dir 12345/ verplaast naar 123/45/ dat de dir 123/ aangemaakt moet zijn.
Beide servers zijn van mij en een nieuw file systeem komt er vanavond op. We stappen van ext3 over naar ReiserFS.

  • Joghert
  • Registratie: September 2002
  • Laatst online: 05-02 18:30
... durf het bijna niet te vragen ...
maar heb je al backups :D

Verwijderd

Topicstarter
Joghert schreef op dinsdag 20 december 2005 @ 10:34:
... durf het bijna niet te vragen ...
maar heb je al backups :D
Wat denk je zelf :+ :+

  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 01-02 19:30

webfreakz.nl

el-nul-zet-é-er

Niet om te flamen ofzo hoor, maar als beheerder van zo'n (grote) site moet je dit soort problemen voorzien / zelf kunnen oplossen lijkt me? :/

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

webfreakz.nl schreef op dinsdag 20 december 2005 @ 11:02:
Niet om te flamen ofzo hoor, maar als beheerder van zo'n (grote) site moet je dit soort problemen voorzien / zelf kunnen oplossen lijkt me? :/
Vergeet niet dat ze (net zoals bijna elke andere site :+ ) klein zijn begonnen, en als je 10 gebruikers hebt boeit het niet dat je directorystructuur waardeloos is, je queries te langzaam en je database bloated. Want het is niet de eerste keer dat ik over dit probleem lees ;)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • psyBSD
  • Registratie: April 2004
  • Laatst online: 02-01-2021

psyBSD

Hates 0x00 bytes

webfreakz.nl schreef op dinsdag 20 december 2005 @ 11:02:
Niet om te flamen ofzo hoor, maar als beheerder van zo'n (grote) site moet je dit soort problemen voorzien / zelf kunnen oplossen lijkt me? :/
Dit soort Filesystem beperkingen zijn nou niet echt de eerste de beste problemen waar je als beheerder tegenaanloopt.

| Olympus OM-D EM10 mk2 | m.Zuiko 14-42mm f/3.5-5.6EZ | m.Zuiko 40-150mm f/4-5.6 R | m.Zuiko 60mm f/2.8 | 2x Godox v860 | Godox X1 |


  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 01-02 19:30

webfreakz.nl

el-nul-zet-é-er

Maar een beetje site heeft tegenwoordig toch gewoon een database-backend? :? Dus dan had je 32.000 mappen helemaal niet nodig gehad? En die foto's waar de TS het over heeft die geupload moeten worden kan je gewoon een incremented-nummer geven, en die nummer linken in de DB naar de juiste UID?

CMIIAW maar zo zou ik het doen?

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


Verwijderd

Topicstarter
webfreakz.nl schreef op dinsdag 20 december 2005 @ 11:02:
Niet om te flamen ofzo hoor, maar als beheerder van zo'n (grote) site moet je dit soort problemen voorzien / zelf kunnen oplossen lijkt me? :/
Als ik wist dat we hier problemen mee zouden krijgen had ik het allang aangepast ;) ;) Tevens is de probleem toen het zich voordeed per direct opgelost. In de loop van deze week herscripten we de hele fotoalbum en verdelen we dit in mappen icm met de db. Daarnaast is de site alles behalve traag en daar gaat het tenslotte toch om.

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 17-01 14:14

VisionMaster

Security!

Verwijderd schreef op dinsdag 20 december 2005 @ 15:33:
[...]
Als ik wist dat we hier problemen mee zouden krijgen had ik het allang aangepast ;) ;) Tevens is de probleem toen het zich voordeed per direct opgelost. In de loop van deze week herscripten we de hele fotoalbum en verdelen we dit in mappen icm met de db. Daarnaast is de site alles behalve traag en daar gaat het tenslotte toch om.
Ach .. jullie komen er wel, beetje puzzelen de komende tijd en dan ben je wel weer om het probleem heen. ;)

I've visited the Mothership @ Cupertino


Verwijderd

Verwijderd schreef op zondag 18 december 2005 @ 23:56:
Het gaat hier om een grote jongerensite met meer dan 33.000 leden www.funkybabes.nl en www.funkyhunks.nl Dagelijks melden zich ongeveer 700 nieuwe leden zich aan dus ik moet infeite hier snel een oplossing voor vinden anders heb ik over een week weer hetzelfde probleem.

Ik zal de server beheerder is benaderen of we kunnen overstappen naar ReiserFS of XFS.
Hmmm programmeurs van zulke grote sites, zouden moeten weten dat er beperkingen op een FS zittenis al gezegd, veiligste alternatief is overstappen op database opslag, die hebben dit soort beperkingen niet (natuurlijk uiteindelijk wel maar die liggen veel hoger dan 32.000) .
Wat je hierbij zou kunnen overwegen is het gebruik van een tussenlaag, die tijdelijk bestanden aanmaakt.

  • Paul
  • Registratie: September 2000
  • Laatst online: 20:55
webfreakz.nl schreef op dinsdag 20 december 2005 @ 14:50:
Dus dan had je 32.000 mappen helemaal niet nodig gehad? En die foto's waar de TS het over heeft die geupload moeten worden kan je gewoon een incremented-nummer geven, en die nummer linken in de DB naar de juiste UID?
Waardoor je na 32.766 foto's in de problemen komt en je alsnog de hier aangehaalde subdir-structuren moet implementeren :P Maar inderdaad, een db met de koppeling user/foto scheelt je al 32k directory-entries a 4kb per stuk oid (geen idee hoe welk FS dat specifiek invult ;) )

Ext3 was zelfs voordat je aan de limiet zat waarschijnlijk al erg traag, geen idee of dat al veranderd is maar Ext3 gebruikte een linked-list voor zijn directory-structuren, wat waanzinnig veel slechter presteert bij grote aantallen nodes dan bijvoorbeeld een b-tree :)

[ Voor 20% gewijzigd door Paul op 20-12-2005 16:18 ]

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Verwijderd

Een profielen site is tegenwoordig de manier om snel geld te verdienen, dus dit verbaast me niet zo O-)

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
waarom wil iedereen over naar een database? Een database vol met blobs is lomp. Een file system is... juist: een filesystem. Bestandssysteem dus, een systeem om bestanden in op te slaan. Blobs in een database is imo even goed een sorry excuse als een plaintext file met php handlen alsof het een soort database is. Als je een netjes geordend systeem hebt waarin je foto's opgeslagen worden, zal dat zeker even rap zijn als je binaire data in een dbms proppen. Zeker als je zorgt dat je alle listings cachet in juist wél een database, want tekstlistings zijn databases als MySQL en Postgres weer zo rap als't maar kan in. Bovendien kun je een filesysteem beter en makkelijker backuppen dan een table vol met blobs. Denk daarbij aan incrementals etc. :)

Voordeel aan statische data is dat je dat soort dingen ook kunt serveren met bijv Boa of Lighttpd, die een stuk minder load geven en daardoor veel meer requests/sec kunnen afhandelen, wat weer goed is voor de beschikbaarheid en laadtijden van je website.

[ Voor 16% gewijzigd door HunterPro op 20-12-2005 17:06 ]


  • burne
  • Registratie: Maart 2000
  • Niet online

burne

Mine! Waah!

De 'aanpassingen' die je nodig hebt zijn minimaal. In plaats van

/bla/bla/aaltje
/bla/bla/abel

maak je je gebruikersdirectories aan als

/bla/bla/a/a/aaltje
/bla/bla/a/b/abel

Dat kost je even pielen met mkdir en mv, wat aanpassingen in je scripts, en meer niet. Vervolgens heb je dus 676 subdirs voor gebruikers, en in iedere subdir kun je 32.000 gebruikers kwijt die elk de eerste twee letters gemeen hebben. Plek voor 21 miljoen gebruikers. (maar voor die tijd raken je inodes op).

De truuk is goed beschreven op diverse sites en heet 'directory hashing'. Succes met google.

I don't like facts. They have a liberal bias.


  • Paul
  • Registratie: September 2000
  • Laatst online: 20:55
HunterPro schreef op dinsdag 20 december 2005 @ 16:59:
waarom wil iedereen over naar een database? Een database vol met blobs is lomp.
Er wordt door zo goed als iedereen die een database noemt tevens gezegt dat ze daar dus juist niet de files in willen zetten.

Wat er nu is gedaan is namelijk het filesystem een database-taak geven, namelijk relaties aanleggen tussen foto's en users.

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • Tha_Butcha
  • Registratie: November 2000
  • Laatst online: 30-01 13:59
ik vroeg me eik af of de TS al zo wijs is geweest om een scripter aan te nemen en als een malle de zooi om te bouwen naar een database backend?

Compromises are for the weak


Verwijderd

Topicstarter
Tha_Butcha schreef op dinsdag 20 december 2005 @ 21:58:
ik vroeg me eik af of de TS al zo wijs is geweest om een scripter aan te nemen en als een malle de zooi om te bouwen naar een database backend?
Ik heb al een scripter in dienst en we zijn er al mee bezig.

  • Borromini
  • Registratie: Januari 2003
  • Niet online

Borromini

Mislukt misantroop

Coach4All schreef op zondag 18 december 2005 @ 21:23:
/home/......
mkdir ......

Ik gok Linux/Unix, nu nog het filesystem....
Ext3? ReiserFS? Het zal een van die twee zijn. Heb het onlangs nog es zien passeren. Ook symlinks kunnen die theoretische 32000 erg naar beneden halen.

Got Leenucks? | Debian Bookworm x86_64 / ARM | OpenWrt: Empower your router | Blogje

Pagina: 1