Re: Mito o realidad: Es cierto que a mayor tamaño de bloque mejora el rendimiento?

Pedro Arana pedro.arana.matus en gmail.com
Mie Feb 17 14:57:15 GMT 2010


2010/2/17 David Ballester <ballester.david en gmail.com>:
>
>
> El 16 de febrero de 2010 19:03, KnX <knx.root en gmail.com> escribió:
>>
>> Como todos se habrán dado cuenta cada vez que realizamos una instalación
>> nueva de GNU/Linux nos da la opción de modificar el tamaño del bloque (block
>> size) que utilizará nuestro sistema de archivo. Hay quienes dicen que si el
>> tamaño del bloque aumenta aumenta el rendimiento del sistema con
>> consecuencia de pérdida de espacio (desaprovechamiento de disco duro), en
>> otras palabras el sistema anda más rápido pero nos deja menos espacio ùtil
>> en disco para guardar cosas. ¿Que hay de cierto en ese mito?
>> With Kind Regards,
>>
>
> Por como lo planteas, o has entendido mal el concepto o te lo han explicado
> peor.
>
> ¿Como un desaprovechamiento del espacio va a provocar una mejora en el
> rendimiento de un sistema????????

si los bloques del sistema de archivos son de 16k y tienes archivos de
400 caracteres (por ejemplo los de configuración) desperdicias ~15k,
Pero como tus bloques son tan grandes tienes menos entradas de
directorio ( puedes hacer menos archivos individuales), por lo tanto
los tiempos de busqueda son menores.

Si los bloques del sistema de archivo son de 1k y tienes archivos de
varios megas (por ejemplo capitulos de series), cada capitulo ocupa
unos 200 000 bloques en el disco (200 MB por capitulo), por lo que
para leerlos necesitas ir saltando de bloque en bloque para leer la
siguiente parte, teoricamente cada bloque puede ser un archivo
individual (cada archivo de configuracion desperdiciaria menos
espacio), pero por lo mismo tus tiempos de busqueda aumentan (junto
con el numero de fragmentos de cada archivo)

Asi que:
Bloques chicos: menos espacio desperdiciado, menor rendimiento en
operaciones de disco (mas fragmentacion, mas tiempos de busqueda)
Bloques grandes: mas espacio desperdiciado, mayor rendimiento en
operaciones de disco (menos fragmentacion, menores tiempos de
busqueda)


> La contrapartida es que si el total de la información ( fichero )  que estás
> escribiendo es inferior al tamaño del bloque, el sistema no aprovechará el
> espacio 'libre' para asignarlo a otro fichero, ya que la relación siempre
> sera 1 fichero - 1 ó N sectores
>
> ¿Puedo tener varios filesystems cada uno con un tamaño de bloque distinto? Si
> ¿Puedo montar filesystems sobre cualquier directorio regular? Si

Una de las ventajas de linux. puedes optimizar cada parte por separado

> Aquí es donde entra el sentido común:
> Pues eso, unos filesystems con bloques pequeños si se conoce que la media de
> tamaño de fichero será pequeño, y filesystems con bloques de tamaño grande
> si se conoce que la información contenida en los ficheros será grande.

Mas que sentido comun, es investigación,pruebas y necesitades, nadie
baja del monte sinai con los 10 mandamientos para asignar el tamaño de
bloque, te vas enterando conforme lo vas necesitando, por ejemplo lo
de empatar el tamaño de bloque del filesystem con el tamaño del sector
en el disco con el tamaño del registro en una tabla de BD  tiene como
objetivo optimizar las operaciones de la BD, y te enteras despues de
haber intentado muchas otras optimizaciones posibles, un usuario comun
no tiene por que preocuparse, las opciones por default se escogen
pensando en casos tipicos de uso.

La ganancia solo es apreciable cuando tienes millones de operaciones
sobre el disco.

Saludos
   Pedro Arana

-- 
Defiende tu derecho a pensar, porque incluso pensar de manera errónea
es mejor que no pensar.
-Hipatia de Alejandría



Más información sobre la lista de distribución ubuntu-es