Rychlost filesystemu

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Září 3 20:46:36 CEST 2006


On Tue, 29 Aug 2006, Petr Simek wrote:

> Pokud ovsem pracuju s delkou bloku 512B (coz se mi pro pasku hodi vic)
> tak uz to tak neni . dd uplne selhava, misto minuty trva prenost toho
> 2.5GB souboru pet minut , funguje pouze cat . A tomu to trva z pasky
> na disk asi 65 vterin ale z pasky do /dev/null 75 vterin.

Primo: z pásky nemůžete číst bloky takové délky, jak Vás zrovna napadne. 
Sémantika páskového I/O je dost komplikovaná, ve které ještě podivně 
interaguje délka bloku nastavená na zařízení (mt setblk) a délka bloku 
používaná při čtení a zápisu.

Navíc si nemyslím, že je dobrý nápad používat pro pásku krátkou délku
bloku. Už jen z toho důvodu, že meziblokové mezery spotřebovávají nějaký
prostor na pásce. Moje zkušenost (s AIT, YMMV) je taková, že při použití
bloků délky 512 bajtů lze přijít i o dobrých 10 % kapacity pásky.

Secundo: jak víte, s jakým blokem (pokud vůbec nějakým <g>) pracuje cat, 
že jeho výsledky umisťujete pod "délku bloku 512 bajtů"?

Tertio: nepochlubil jste se, jak dlouho trvalo dd (s blokem 10 KiB)  
v absolutních hodnotách, takže sice víme, že do /dev/zero to trvalo
polovinu toho, co na disk, ale nevíme, v jakém je to vztahu s těmi 75
resp. 65 sekundami, co dosáhnul cat. Pokud se to zpětně pokusím odvodit
z uvedených údajů (délka souboru 2,5 GB, rychlost 84 MB/s), tak mi
vychází, že do /dev/zero dd přeneslo data za cca 30 sekund, zatímco na
disk to trvalo cca 60 sekund. Je možné, že cat četl z pásky tak, že se to
četlo dvakrát pomaleji (bez ohledu na to, kam se to zapisovalo, prostě
zápis na disk už nebyl potenciální bottleneck), takže v obou případech 
vyšlo něco málo přes 60 sekund. To, že to do souboru vyšlo přece jen o 
něco rychleji než na disk, je divná věc, možná v tom hraje roli nějaká 
umělá inteligence v cat, možná bufferování výstupu (je možné, dokonce 
pravděpodobné, že se při výstupu do souboru cat chová trochu 
jinak, než při výstupu do zařízení).

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."





Další informace o konferenci Linux