벤치마킹에서는 항상 한계를 정해야합니다. 당신이 그 LAN에서 100MB를 얻을 것으로 예상한다면 당신은 단지 자신을 속이는 것보다!
RaspberryPI Model-B의이 블록 디자인을보십시오
그래서 우리는 여기서 매우 중요한 사실을 확립합니다. 이더넷은 USB 컨트롤러에 의해 병목 현상이 발생합니다. 우리가 설정 한 블록 다이어그램은 USB 허브에 연결되어 있기 때문입니다. (다른 버스를 사용하거나 단순히 USB2를 사용한다는 명확한 표시가 없습니까?)
Ohh look-다른 블록 다이어그램
이제 상황에 대해 더 많은 정보를 얻을 수 있습니다. 10/100 컨트롤러는 불행히도 USB 허브에 연결되어 있습니다. 다시 말하지만, 사양에서 허브가 LAN 컨트롤러와 얼마나 빨리 통신하는지는 말하지 않습니다 .USB 속도와 LAN이 협상되었다는 주요 사실을 기대하십시오. 혼합 속도 USB 환경 용.
SD 카드는 어디에 있습니까?
SD 카드가 BCM2835 (65 페이지)에 직접 연결되어 있으며 다양한 구성 수준에서 성능이 미치는 영향에 대해 자세히 설명합니다. SD 카드에 전용 클럭이 있으면 코어 CPU / GPU와는 최대 속도로 독립적으로 실행할 수 있습니다. (카드와 표준에 관계없이 몇 가지 표준을 지원한다는 것을 알 수 있습니다.)
이것이 무엇을 의미합니까?
더 빠른 SD 카드와 crappy pen drive (4gb / 8gb)를 벤치마킹하면 성능 차이가 가장 클 것입니다. 이제 CPU / GPU가이 훌륭한 임베디드 장치 (usb / lan chip)와의 통신을 어떻게 처리하고 어떤 속도로 통신 할 수 있는지에 대한 의문이 제기됩니다.
실제로 벤치마킹을하기 전에 이론이 실제로 얼마나 멀리 갈 수 있는지 보십니까? 여기서 또 다른 핵심 사항은-CPU가 데이터 흐름을 제어하는 방법입니다. 권장되는대로 별도의 클럭 채널을 사용합니까?
이상적인 환경에서는이 LAN / USB가이를 처리한다고 생각할 것입니다. 그러나 그것은 MCU를 필요로한다. 우리는 그 블록 다이어그램의 어느 곳에서나 MCY를 볼 수 있는가?
따라서 CPU는 IO DATA가 USB 포트를 보내도록 요청한 다음 LAN 포트로 이동합니다 (같은 USB 허브를 통해). 어딘가에 속도 문제가 발생할 수 있습니다.
또한 LAN을 통해 USB 펜 드라이브와 SD 카드에서 복사 할 때 어떤 일이 발생하는지 기록해 두는 것이 좋습니다. 트래픽이 발생할 수 있습니다.
다양한 측면을 벤치마킹해야합니다
우리가 벤치마킹하려고하는 것을 확립 할 때 실제 질문을 할 수 있습니다.
- 내부 USB는 SD의 데이터를 얼마나 빨리 처리합니까?
- SD에서 LAN으로 읽고 쓰는 데 얼마나 많은 CPU가 사용됩니까?
- USB 펜 드라이브에 읽기 / 쓰기에 얼마나 많은 CPU가 사용됩니까?
- 데이터 복사가 CPU 사용량에 직접 영향을 줍니까?
- 내장 USB / LAN 칩은 2 개의 소스에서 LAN 포트로 데이터를 다시 읽는 것을 얼마나 잘 처리하며 CPU에 비례하여 영향을 줍니까?
- USB 허브가있는 상태에 따라 병목 현상이 발생하여 LAN이 최대 10mb / s를 가져 오는지 테스트 할 필요가 없습니다.
당신이 무엇을 위해 싸우고 있는지 알게되었으므로 나는 그들에게 당신 자신에게 대답하도록 도전합니다.
이것이 아주 좋은 출발점이 될 수 있습니다.
참고 문헌
그러나 대부분
내 자신의 임베디드 경험을 바탕으로 내 자신의 기술 지식과 평가. OP는 매우 좋은 질문을했지만 시스템에 대한 이론적 이해 없이는 실제 문제를 평가 / 해결하려고 시도 할 운명에 있다는 것을 이해하지 못합니다.
결과
(4) 이 답변 은 지구 해적 테스트에 이르기까지 몇 가지를 보여줍니다. 또한 강력한 데이터 트랜잭션을 수행하면 CPU에 직접 영향을 미친다는 것을 증명합니다 (SD 카드 또는 BCM 칩 내부의 데이터를 USB / LAN 칩으로 이동하는 프로세스인지 확실하지 않음)
(6) 유일한 병목이 소스가 될 것임이 입증되었습니다 (예 : 느린 SD 카드) USB 허브는 90 % 이상의 데이터를 펌핑하지만 질문 4와 5에 대한 답변은이 성능에 직접 영향을 줄 수 있습니다.
따라서 다른 사용자에 대한 조사와 기여를 통해 예비 결과를 도출하고 얻었습니다.
다음은 우리가 다루고있는 것을 시각화하는 데 도움 이되는 멋진 차트 입니다.
sudo hdparm -t /dev/sdx
벤치마킹에 유용한 도구로 사용할 수 있습니다 .