8 votos

Pobre rendimiento iSCSI con SSD y discos de red 10 Gbe

Destino iSCSI

Ubuntu 14.04 (Trusty "Tahr") con 16 GB de RAM y 16 core CPU como LVM copia de destino iSCSI con tres Samsung SSD discos, cada uno capaz de hacer 65k IOPS el uso de un LSI de 6 Gbit/s controlador de a bordo de la caché.

Referencia en el SSD de disco de destino:

fio --filename=/dev/sdd --direct=1 --sync=1 --rw=write --bs=4k --numjobs=10 --iodepth=1 --runtime=60 --time_based --group_reporting --name=ssd-max

iops=65514

Donde sdd está configurado en hardware RAID 0 con tres Samsung 850 EVO Ssd.

Iniciador

He exportado un 500G LUN en un Ubuntu 14.04 cliente con 32 GB de memoria RAM y 8 núcleos de Cpu.

Punto de referencia en exportados LUN

fio --filename=/dev/sdg --direct=1 --sync=1 --rw=write --bs=4k --numjobs=10 --iodepth=1 --runtime=60 --time_based --group_reporting --name=client-max

iops=2400

Hay una importante disminución del rendimiento cuando se hace DAS y a través de la red, yo esperaba al menos 10k IOPS.

La comunicación entre el objeto y el iniciador es de menos de 1 ms y iperf muestra un rendimiento de red de 9.2 Gbit/s.

Entiendo que habrá un impacto en el rendimiento de 4k escribe como cada uno de los datos tiene que ir a través de la pila de red de el iniciador y de destino antes de llegar por escrito a disco, pero esto es inaceptable gota de 65k a 2k.

¿Dónde puede el problema? Yo tengo una de 10 Gbit/s Ethernet NIC entre el objetivo y el iniciador. Alguna idea?

18voto

shodanshok Puntos 2644

Respuesta corta: Este es el resultado de la latencia de la red y una serie de cargas de trabajo (como impuestos por el uso de direct=1, sync=1 y iodepth=1).

Respuesta larga: el uso de direct=1, sync=1 y iodepth=1 ha creado una serie de cargas de trabajo, como nuevo escribe no puede estar en la cola antes de que la anterior escritura se ha comprometido y confirmado. En otras palabras, escribe frecuencia de envío estrictamente depende de la latencia de la red. Una simple ping entre dos máquina puede muy bien estar en el exceso de 0,2 ms, más aún cuando el uso de un protocolo de nivel superior como TCP (iSCSI y en la parte superior). Suponiendo un total de latencia de la red de 0,33 ms, usted tiene un máximo de IOPS valor de alrededor de 3000. Esto es sin tomar en cuenta otros latencia de las fuentes (es: los discos en sí), por lo que está en línea con lo que la grabadora.

Intente esto: ejecutar una primera referencia sin --direct=1 --sync=1, y otro con estas opciones en su lugar, pero el aumento de la iodepth a 32 solicitudes. A continuación, presentamos aquí los resultados.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: