He realizado algunas pruebas de rendimiento simples y parece que leer de mi RAID1 es más lento que escribir:
root@dss0:~# for i in 1 2 3; do dd if=/dev/zero of=/dev/sda bs=1048576 count=131072; done
137438953472 bytes (137 GB) copied, 192.349 s, 715 MB/s
137438953472 bytes (137 GB) copied, 192.851 s, 713 MB/s
137438953472 bytes (137 GB) copied, 193.026 s, 712 MB/s
root@dss0:~# for i in 1 2 3; do dd if=/dev/sda of=/dev/null bs=1048576 count=131072; done
137438953472 bytes (137 GB) copied, 257.201 s, 534 MB/s
137438953472 bytes (137 GB) copied, 255.522 s, 538 MB/s
137438953472 bytes (137 GB) copied, 259.945 s, 529 MB/s
Entiendo que dd no es una herramienta de prueba de rendimiento, pero este resultado sigue siendo una sorpresa.
El sistema fue construido por el proveedor y tiene una placa principal Supermicro con 16 GB de RAM. El controlador RAID es un MegaRAID 9271-8i con 1 GB de caché. Hay 8 discos SAS de 2 TByte en una placa posterior SAS-933EL1. No estoy seguro del cableado, un conector del controlador va al plano posterior SAS, el otro va a dos discos SATA que contienen el sistema operativo.
El RAID1 se configuró con este comando:
root@dss0:~# /opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r1 [8:0,8:1,8:2,8:3,8:4,8:5,8:6,8:7] WB NORA Direct -a0
Adapter 0: Created VD 0
Adapter 0: Configured the Adapter!!
Exit Code: 0x00
root@dss0:~# /opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 7.275 TB
Sector Size : 512
Is VD emulated : No
Mirror Data : 7.275 TB
State : Optimal
Strip Size : 256 KB
Number Of Drives : 8
Span Depth : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
PI type: No PI
Is VD Cached: No
Exit Code: 0x00
Esperaría que el acceso de lectura sea al menos tan rápido como el acceso de escritura, tal vez incluso más rápido. La velocidad de escritura de 715 MByte / seg parece estar cerca del límite de 6 GBit de un solo conector SAS / SATA. ¿Es esto quizás un problema de configuración o cableado con el plano posterior SAS? ¿Se puede consultar la configuración del plano posterior SAS con un comando MegaRAID? Por favor avise.
Actualizar
Tal como lo expandieron poige y Peter, el rendimiento de lectura más lento de lo esperado probablemente se deba al almacenamiento en caché del subsistema de E / S de Linux.
Cuando uso la bandera directa en el comando dd obtengo
root@dss0:~# dd if=/dev/sda of=/dev/null bs=1048576 count=131072 iflag=direct
137438953472 bytes (137 GB) copied, 199.862 s, 688 MB/s
lo cual es mucho mejor pero aún 10% más lento que la velocidad de escritura. El uso de oflag = direct no afectó la velocidad de escritura.