Filesystem keuze, opslaan van bestanden

Pagina: 1
Acties:

  • c-nan
  • Registratie: Juni 2008
  • Laatst online: 16:33
Ik ben bezig met een (groot) project/website. De website zal ongeveer 10-15k bestanden (images) hosten, waarvan de helft ~5kb is en de andere helft 50kb.

Normaal maak ik gebruik van ext4, echter vraag ik mij af of ext4 een goede keuze is voor 10-15k bestanden.

Mijn tweede vraag is, maakt het nog uit dat alle bestanden in 1 map staan of is het slimmer/sneller om ze te verdelen over 2 (of meerdere mappen)?

[ Voor 6% gewijzigd door c-nan op 21-11-2013 19:39 ]

EU DNS: 86.54.11.100


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Zie bijvoorbeeld deze link:
https://lwn.net/Articles/476433/

Een typisch schema om grote hoeveelheden files in te delen is de volgende:
a/ab/abcdef
a/ab/abxyz
a/az/azyx
d/de/detrx

ASSUME makes an ASS out of U and ME


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 16:39

CAPSLOCK2000

zie teletekst pagina 888

Het kan geen kwaad om een directorystructuur te gebruiken zoals H!GHGuY suggereert maar 15K bestanden is niet zo veel dat ik er me zorgen over maak.

Meten is weten.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# kladdisk maken
root@raki:~# lvcreate vg0 -n tst -L 20G
root@raki:~# mkfs.ext4 /dev/vg0/tst
root@raki:~# mount /dev/vg0/tst /mnt
root@raki:~# mkdir /mnt/tst
root@raki:~# chown casper: /mnt/tst

# bestandje van 50K maken
casper@raki:/mnt/tst$ dd if=/dev/urandom of=template bs=50K count=1
# 15000 keer kopieren
casper@raki:/mnt/tst$ time for i in `seq 1 15000`; do cp template $i; done
real    0m17.564s
# disk flushen
casper@raki:/mnt/tst$ sync
# cache wissen
casper@raki:/mnt/tst$ echo 3 | sudo tee /proc/sys/vm/drop_caches 

# meten
casper@raki:/mnt/tst$ time ls
real    0m0.501s
casper@raki:/mnt/tst$ time cat * > /dev/null
real    0m12.123s

# opruimen
root@raki:/# umount /mnt
root@raki:/# lvremove vg0/tst


Dat gaat prima.
Dit is op mijn 4 jaar oude desktop met een simpele consumenten draaischijf, geen RAID of SSD.
Deze test is een beetje simplistisch maar je moet ergens beginnen.

15.000 * 50K = 700MB, dat past dus makkelijk in het RAM van je server.

This post is warranted for the full amount you paid me for it.