Hice algunas pruebas y tener algunos resultados. Las pruebas se realizaron en 100 Mbps & 1Gbps NIC. La máquina de origen es el servidor Win2K3 (SATA) y la máquina de destino es el servidor Win2k3 (RAID 5).
me corrieron 3 pruebas:
1) red de lectores -> Este programa simplemente lee archivos en la red. El propósito del programa es encontrar la velocidad máxima de lectura n/w. Estoy realizando una lectura NON BUFFERED utilizando CreateFile & ReadFile.
2) Escritor de disco -> Este programa compara la velocidad RAID 5 escribiendo datos. Las escrituras NO BÚFER se realizan con CreateFile & WriteFile.
3) Blitz Copy -> Este programa es el motor de copia de archivos. Copia archivos a través de la red. La lógica de este programa se discutió en la pregunta inicial. Estoy usando E/S síncrona con NO_BUFFERING Lee & Escribe. Las API utilizadas son CreateFile, ReadFile & WriteFile.
A continuación se presentan los resultados:
red de lectores: -
100 Mbps NIC
Llevé a 148344 ms para leer 768 MB con tamaño del fragmento 8 KB.
Tomó 89359 ms para leer 768 MB con tamaño del trozo 64 KB
Tomó 82625 ms para leer 768 MB con tamaño de fragmento 128 KB
Tomó 79594 ms para leer 768 MB con tamaño del fragmento de 256 KB
Tomó 78687 ms para leer 768 MB con tamaño de fragmento 512 KB
Tomó 79078 ms para leer 768 MB con tamaño de fragmento 1024 KB
Tomó 78594 ms para leer 768 MB con tamaño de fragmento 2048 KB
Tomó 78406 ms para leer 768 MB con tamaño de fragmento 4096 KB
Tomó 78281 ms para leer 768 MB con tamaño de fragmento 8192 KB
1 Gbps NIC
Tomó 206203 ms para leer 5120 MB (5GB) con tamaño de fragmento 8 KB
Tomó 77860 ms para leer 5120 MB con tamaño de fragmento 64 KB
Tomó 74531 ms para leer 5120 MB con tamaño de fragmento 128 KB
Tomó 68656 ms para leer 5120 MB con tamaño de fragmento 256 KB
Tomó 64922 ms para leer 5120 MB con tamaño de fragmento 512 KB
Tomó 66312 ms para leer 5120 MB con el tamaño del trozo 1024 KB
Tomó 68688 ms para leer 5120 MB con tamaño del trozo 2048 KB
Tomó 64922 ms para leer 5120 MB con tamaño de fragmento 4096 KB
Tomó 66047 ms para leer 5120 MB con tamaño de fragmento 8192 KB
DISCO DE ESCRITURA: -
Comentario realizado sobre RAID 5 Con NO_BUFFERING & WRITE_THROUGH
escritura 2048MB (2GB) de datos con un tamaño de fragmento de 4MB tomó 68328ms.
Escribir 2048MB de datos con un tamaño de fragmento de 8MB tomó 55985ms.
Escribir 2048MB de datos con un tamaño de fragmento de 16MB tomó 49569ms.
Escribir 2048MB de datos con un tamaño de fragmento de 32MB tomó 47281ms.
Escribir realiza en RAID 5 Con NO_BUFFERING única
escritura 2048 MB (2 GB) de datos con el tamaño del fragmento de 4 MB tomó 57484ms.
Escribir 2048MB de datos con un tamaño de fragmento de 8MB tomó 52594ms.
Escribir 2048MB de datos con un tamaño de fragmento de 16MB tomó 49125ms.
Escribir 2048MB de datos con un tamaño de fragmento de 32MB tomó 46360ms.
El rendimiento de escritura se degrada linealmente a medida que se reduce el tamaño del fragmento. Y la bandera WRITE_THROUGH introduce algo de rendimiento golpeó
BLITZ Copia: -
1 Gbps NIC, Copia de 60 GB de archivos con NO_BUFFERING
tiempo necesario para completar la copia: 2236735 ms. Es decir, 37.2 minutos. La velocidad es ~ 97 GB/por.
100 Mbps NIC, la copia de 60 GB de archivos con NO_BUFFERING
tiempo necesario para completar la copia: 7337219 ms. Es decir, 122 minutos. La velocidad es ~ 30 GB/por.
Intenté utilizar el programa 10-FileCopy de Jeffrey Ritcher que usa Async-IO con NO_BUFFERING. Pero, los resultados fueron pobres. Supongo que la razón podría ser que el tamaño del fragmento es de 256 KB ... 256 KB de escritura en RAID 5 es terriblemente lento.
Comparando con robocopy:
100 Mbps NIC: Blitz Copia y robocopy realizan @ ~ 30 GB por hora.
1 GBps NIC: La copia Blitz va a ~ 97 GB por hora mientras robocopy @ ~ 50 GB por hora.
Es posible que desee publicar algún código para convertirlo en una pregunta de programación; de lo contrario, es probable que se mueva a serverfault.com. – RickNZ
Espera, 44MB por segundo? ¿No es ese el tipo de rendimiento sostenido que se supone que debes obtener para un solo disco hoy en día? –
@Pascal: RAID 5 no está optimizado para la velocidad de escritura. Me sorprende que incluso obtengas 44 MB/s. Me esperaba más bajo. – jalf