Tengo un mdadm RAID-6 en mi servidor doméstico de 5x1Tb WD Green HDDs. La velocidad de lectura es más que suficiente: 268 Mb / s en dd. Pero la velocidad de escritura es de solo 37.1 Mb / s. (Ambos probados mediante dd en un archivo de 48 Gb, el tamaño de RAM es de 1 Gb, el tamaño de bloque utilizado en las pruebas es de 8 kb)
¿Podría sugerir por qué la velocidad de escritura es tan baja y hay alguna forma de mejorarla? El uso de la CPU durante la escritura es solo del 25% (es decir, la mitad de 1 núcleo de Opteron 165) No hay datos críticos de negocios allí y el servidor está respaldado por UPS.
mdstat es:
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sda1[0] sdd1[4] sde1[3] sdf1[2] sdb1[1]
2929683456 blocks super 1.2 level 6, 1024k chunk, algorithm 2 [5/5] [UUUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>
¿Alguna sugerencia?
Cosas como reescritura, barrera, nobh no ayudaron. DD blocksize = 1M, 8M no cambió nada. Parece que mdadm lee físicamente sectores para calcular la paridad, incluso si no importa ... ¿Es eso correcto?
Actualización: la degradación de la velocidad después de la alteración de la memoria caché de bandas fue en realidad porque 1 HDD probablemente falló durante la prueba, agradable :-D
Resuelto: después de aumentar el caché de bandas y cambiar a un mapa de bits externo, mis velocidades son 160 Mb / s de escritura, 260 Mb / s de lectura. :-RE
Respuestas:
¿Has probado tuning / sys / block / mdX / md / stripe_cache_size?
Según esta publicación del foro (en noruego, lo siento) "ajustar este parámetro es más esencial cuanto más discos y más rápido tenga el sistema":
Citando su velocidad para comparar:
Mi servidor doméstico tiene casi los mismos discos que usted, utilizando RAID 5:
Por lo tanto, parece que el rendimiento de escritura secuencial es alrededor del 50% del rendimiento de lectura.
Para saber qué rendimiento esperar, Linux Raid Wiki dice acerca de RAID 5:
Y sobre RAID 6:
fuente
tratar
echo 32768 > /sys/block/md0/md/stripe_cache_size
y comprobar;)
fuente