Formas de optimizar el performance en oleoductos a través de la networking (RSH y SSH)

Considere una transferencia de datos a través de una networking de tuberías en sistemas henetworkingados con shell remoto (RSH), como:

rsh host -l user tar -cf - /home/dir \| compress | uncompress | tar -xvf - 

y este en los sistemas "modernos":

 ssh user@host tar -cf - /home/dir \| gzip | ungzip | tar -xvf - 

PROBLEMAS DE DESEMPEÑO:

Experimenté un performance muy malo ejecutando una transferencia entre AIX 4.3 y AIX 5.3 utilizando RSH. Incluso teniendo tarjetas inactivas (10/100) conectándolas a través de un interruptor de inactividad, obtuve un performance de aproximadamente 350 Kbps al transferir 5.4 GB.

Al ejecutar esta transferencia entre AIX 5.3 y Linux, pero ahora utilizando SSH y gzip, el performance es mucho mejor, pero nunca alcanza la capacidad de la networking (en una LAN de 1 Gigabit obtuve un promedio de aproximadamente 400 Mbps).

¿Hay forms de optimizar el performance de la networking de tuberías, tal vez la personalización de búferes de canal o bloques de networking / búferes, o qué?

Creo que estás limitando la CPU en lugar del ancho de banda, al less en la parte ssh.

Obtengo unos 45-50 MB / s con scp (ssh cp) entre dos serveres inactivos, ya que el encryption / desencryption en los serveres es el factor limitante. Agregue gzip / ungzip y puede disminuir aún más dependiendo de la cantidad de núcleos disponibles.

Las transferencias sin comprimir y sin encriptar tienen mejores numbers. Podrías probar sin los commands de compression y ver cómo va eso.

¿Hizo una testing de velocidad básica para descartar compression y E / S de disco?

Eso es bastante fácil de hacer, conéctese de uno de los hosts afectados a otro a través de ftp y ejecute
put "|dd if=/dev/zero bs=1M count=1000″ /dev/null
que leerá 1GB desde / dev / zero en un lado y lo escribirá en / dev / null en el otro lado, que testing el ancho de banda de networking puro. Esto se describe con más detalle, por ejemplo, en
Blog AIXChange: dos forms de medir el performance de la networking

Para la transferencia a través de scp, puede intentar networkingucir el encryption utilizando un encryption de flujo (RC4) less exigente a través de -o Cipher=arcfour ... como una opción para scp.

Consulte también una pregunta relacionada que sugiere el uso de -C para habilitar la compression, aunque por lo que entendí en su caso, el performance de la CPU es el factor limitante y no el ancho de banda de la networking, por lo que la compression probablemente empeorará las cosas.