Jugando con hdparm: rendimiento de los discos duros
Sorpresa, tras arrancar con mi flamante nuevo soporte para el chipset VIA 82CXXX y pedir información sobre mis discos duros, me encuentro:
Por último, en ambos discos duros se encuentra activado el DMA y seleccionado el modo más rápido (udma6 en /dev/hda y udma5 en /dev/hdb).
Bien, hagamos unas pruebas de rendimiento:
Quedan otras opciones que podría tocar. Por un lado el modo IO. Consultando el artículo "Hdparm" de RTFM-Wiki se comenta que los modos son los siguientes:
Por otro lado, queda multisect, que indica cuantos sectores son leidos del disco en una sola interrupción. Así, cuanto mayor sea más mejora podría obtenerse.
Sin embargo, activando ambas opciones en ambos discos, obtengo:
En fin, es bueno saberlo, quizá más adelante descubra por qué no me benefician esas opciones, por el momento se quedan desactivadas.
# hdparm /dev/hdaParece que se activa por defecto el IO_support, es decir, el acceso 32 bits. Creo, de todas maneras, que un valor más alto podría mejorar el rendimiento, luego lo tengo que mirar. Además. también está activado unmaskirq, que permite el enmascaramiento de interrupciones mientras se está accediendo al disco (debido a otra interrupción).
/dev/hda:
multcount = 0 (off)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19929/255/63, sectors = 320170943, start = 0
# hdparm -i /dev/hda
/dev/hda:
Model=Maxtor 6Y160L0, FwRev=YAR41BW0, SerialNo=Y46VZA5E
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):
* signifies the current active mode
# hdparm /dev/hdb
/dev/hdb:
multcount = 0 (off)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 234439535, start = 0
# hdparm -i /dev/hdb
/dev/hdb:
Model=ST3120022A, FwRev=3.06, SerialNo=3JT3PHGK
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=234439535
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:
* signifies the current active mode
Por último, en ambos discos duros se encuentra activado el DMA y seleccionado el modo más rápido (udma6 en /dev/hda y udma5 en /dev/hdb).
Bien, hagamos unas pruebas de rendimiento:
# hdparm -t -T /dev/hdaLástima no tener las pruebas de cuando no tenía mi flamante controlador instalado correctamente. Probemos, de todas maneras, desactivando el DMA:
/dev/hda:
Timing cached reads: 1248 MB in 2.00 seconds = 622.85 MB/sec
Timing buffered disk reads: 172 MB in 3.03 seconds = 56.83 MB/sec
# hdparm -t -T /dev/hdb
/dev/hdb:
Timing cached reads: 1240 MB in 2.00 seconds = 618.55 MB/sec
Timing buffered disk reads: 158 MB in 3.02 seconds = 52.33 MB/sec
# hdparm -t -T /dev/hda¡Anda, la hostia! Pues si que hay diferencia. Sospecho que anteriormente tenía valores desde luego más altos, pero no tanto como cincuenta y pico megas de transferencia por segundo. En cualquier caso, veremos en los días siguientes si hay diferencia.
/dev/hda:
Timing cached reads: 1248 MB in 2.00 seconds = 623.78 MB/sec
Timing buffered disk reads: 16 MB in 3.09 seconds = 5.18 MB/sec
# hdparm -t -T /dev/hdb
/dev/hdb:
Timing cached reads: 1208 MB in 2.01 seconds = 602.28 MB/sec
Timing buffered disk reads: 16 MB in 3.13 seconds = 5.12 MB/sec
Quedan otras opciones que podría tocar. Por un lado el modo IO. Consultando el artículo "Hdparm" de RTFM-Wiki se comenta que los modos son los siguientes:
0 : default 16-bitEl modo 3 podría ser, por tanto, algo más rápido.
1 : 32-bit
2 : 16-bit
3 : 32-bit w/sync
Por otro lado, queda multisect, que indica cuantos sectores son leidos del disco en una sola interrupción. Así, cuanto mayor sea más mejora podría obtenerse.
Sin embargo, activando ambas opciones en ambos discos, obtengo:
# hdparm -t -T /dev/hdaCurioso, obtengo velocidades más lentas. Quizá por eso el sistema arrancó con esas opciones desactivadas, por que sabía que no eran buenas.
/dev/hda:
Timing cached reads: 1236 MB in 2.00 seconds = 617.79 MB/sec
Timing buffered disk reads: 170 MB in 3.00 seconds = 56.60 MB/sec
# hdparm -t -T /dev/hdb
/dev/hdb:
Timing cached reads: 1248 MB in 2.00 seconds = 622.85 MB/sec
Timing buffered disk reads: 154 MB in 3.03 seconds = 50.77 MB/sec
En fin, es bueno saberlo, quizá más adelante descubra por qué no me benefician esas opciones, por el momento se quedan desactivadas.


0 Comments:
Publicar un comentario
<< Home