ext2 a optimalni mnozstvi souboru v adresari

Milan Kerslager milan.kerslager na spsselib.hiedu.cz
Čtvrtek Březen 16 01:22:49 CET 2000


On Wed, 15 Mar 2000, Petr Skoda wrote:

> Kdyz uz tady byla rec o efektivite mnoha souboru - byl jsem nucen nedavno
> rozbalit nase spektra (cca 3.5kb na jedno) do jednoho adresare - jej jich
> asi 16000 . Dam-li ls , trva asi minutu (RH6.1, celkem rychly disk i stroj
> - 2 x PPro 180, disk SCSI-wide 40MB/s) nez se objevi listing. Tarovat se
> to neda , protoze zrve na delku argumentu, ale "ls kus*jmen*a" to ma hned
> - mel jsem pocit, ze vse GNU ma dynamicky psane buffery - proc tedy tar

A jak znela prikazova radka? 
tar czf soub.tgz adresar
tar czf soub.tgz *
tar czf soub.tgz `ls *`

To by se to pak delalo treba takhle:

find . -name XY\* | xargs tar czf soubor.tar

... nebo opravit tar, pokud bude problem v nem :-)

> rve (tj shell si s tim poradi, ma to kam dat, ale uz nepreda spravne 16000
> nazvu dal ke zpracovani). Navic mam pocit, ze to trva dlouho proto, ze se
> je snazi tridit podle jmena.

Bingo. Zkuste 'ls -f' a pak 'man ls' ;-)
 
> Poradte, co by jste doporucili jak s tim pracovat - moje idea je , ze dane
> nazvy souboru (neco jako rxxxxxx.neco) kde xxxxx je cislo vylezou jako
> vysledek databazoveho query  a pouzijou se ke konstrukci HTML odkazu neco
> jako ftp://stroj/adresar/r$cislo.neco      . TO by snad melo jit dobre,
> ne?

Pokud chcete pri velkych adresarich zachovat rozumne chovani, asi by to
chtelo pohrat si s /proc/sys/fs/dentry-state a precist si
/usr/src/linux/Documentation/sysctl/fs.txt. Dentry je cache v jadre pro
polozky v adresarich (nemusi se to cist opakovane z disku).

Nevim presne, proc a jak to dela Squid, ale urcite tam bude v dokumentaci
nebo FAQ nejake libreto kolem rozkladu souboru do adresaru a teorie o tom,
kolik by ty cisla mely byt. Podivejte se tam (http://www.squid-cache.org).

K souborum se da pristupovat i pres http://.... - bude to rychlejsi,
protoze usetrite nejaky ten fork() [Apache ma potomky predforkovane na
rozdil od FTP klientu, kteri startuji az na zadost].

--
                        Milan Kerslager
                        E-mail: milan.kerslager na spsselib.hiedu.cz
                        WWW:    http://www.spsselib.hiedu.cz/~kerslage/




Další informace o konferenci Linux