En la evaluación comparativa siempre debe establecer cuáles son sus límites. ¡Porque si esperas obtener 100mbs de ese lan, entonces solo te estás engañando a ti mismo!
Mira este diseño de bloque de RaspberryPI Modelo-B
Entonces establecemos un hecho muy importante aquí. Ethernet tiene un cuello de botella por el controlador USB porque desde el bloque de digram establecemos que está conectado al concentrador USB. (¿No hay una indicación clara de si usa otro bus o simplemente USB2?)
Oh, mira, otro diagrama de bloques,
Ahora que arroja aún más luz sobre la situación. El controlador 10/100 está conectado al concentrador USB; desafortunadamente, una vez más, en ninguna parte de la especificación dice qué tan rápido se comunica el concentrador con el controlador LAN: espere el hecho clave que dice que se negocian la velocidad usb y el lan para entornos usb de velocidad mixta.
¿Dónde está la tarjeta SD?
Resulta que la tarjeta SD está conectada directamente al BCM2835 (página 65) y explican en detalle cómo se ve afectado el rendimiento de varios niveles de configuración. Una cosa importante a tener en cuenta es que si la tarjeta SD tiene un reloj dedicado, puede ejecutarse independientemente de la CPU / GPU central a toda velocidad (de cualquier tarjeta y estándar que se use, puede ver que admite algunos estándares).
¿Entonces que significa eso?
Significa que si compara la tarjeta SD más rápida y el pen drive de memoria (4gb / 8gb), lo más probable es que obtenga grandes diferencias de rendimiento. Entonces, ahora surge la pregunta, ¿cómo maneja la CPU / GPU la comunicación con este maravilloso dispositivo integrado (chip usb / lan) y a qué velocidad es capaz de comunicarse?
¿Ves hasta dónde puede llegar la teoría antes de que hagamos una evaluación comparativa? Otro punto clave aquí es: ¿Cómo controla la CPU el flujo de datos? ¿Utiliza el canal de reloj separado como se recomienda?
En un mundo ideal, pensarías que esta LAN / USB lo manejaría. Pero eso requiere un MCU ... ¿vemos un MCY en algún lugar de ese diagrama de bloques ... NO!
Por lo tanto, la CPU tiene que solicitar que IO DATA le envíe el puerto USB y luego vaya al puerto LAN (a través del mismo HUB USB) Sí ... así que eso causará algunos problemas de velocidad en algún lugar.
También es bueno tener en cuenta lo que sucede cuando copia a un pen drive USB y desde la tarjeta SD todo a través de LAN ... va a causar algo de tráfico.
Necesitamos comparar varios aspectos
Al establecer lo que estamos tratando de comparar podemos hacer una pregunta del mundo real.
- ¿Qué tan rápido maneja el USB interno los datos de SD?
- ¿Cuánta CPU se usa para leer / escribir en SD y luego en LAN?
- ¿Cuánta CPU se usa para leer / escribir en una memoria USB?
- ¿Copiar algún dato influye directamente en el uso de la CPU?
- ¿Qué tan bien el chip USB / LAN incorporado maneja la lectura de datos de 2 fuentes nuevamente en el puerto LAN y afecta la CPU proporcionalmente?
- No hay necesidad de probar si lan obtendrá 10mb / s completos debido a que el estado en el que se encuentra el concentrador USB tiene un cuello de botella.
Ahora que sabes por qué estás luchando, te desafío a que respondas a ti mismo.
Puede que este sea un muy buen punto de partida.
Referencias
Pero principalmente,
mis propios conocimientos técnicos y evaluaciones que he realizado en base a mi propia experiencia integrada. El OP hizo una muy buena pregunta, pero le falta entender que sin la comprensión teórica de un sistema está condenado a tratar de evaluar / resolver los problemas prácticos.
Resultados
(4) Esta respuesta muestra algunas pruebas piratas con los pies en la tierra. Y demuestra que realizar transacciones de datos intensas influye directamente en la CPU (solo que no estoy seguro si es la tarjeta SD o el proceso de transferir datos dentro del chip BCM al chip USB / LAN)
(6) Se ha demostrado que el único cuello de botella será la fuente (por ejemplo, una tarjeta SD lenta) El concentrador USB logra bombear datos al 90% o más, pero la respuesta a las preguntas 4 y 5 puede influir directamente en este rendimiento.
Entonces, haciendo algunas investigaciones y contribuciones de otros usuarios , estamos comenzando a establecer y obtener resultados preliminares.
Aquí hay un buen cuadro para ayudar a visualizar con qué estamos tratando.
sudo hdparm -t /dev/sdx
como una herramienta útil para la evaluación comparativa.