在基准测试中,您必须始终确定自己的极限。因为如果您希望从该局域网中获得100mbs,那么您只会自欺欺人!
看看RaspberryPI Model-B的此模块设计
因此,我们在这里建立了一个非常重要的事实。以太网是USB控制器的瓶颈,因为我们建立的模块图已连接到USB集线器。(没有明确的指示是使用其他总线还是仅使用USB2?)
哦,看-另一个框图,
现在,这可以进一步了解情况。10/100控制器连接到USB集线器-再次不幸的是,规格上没有说明集线器与lan控制器的通信速度有多快-期望关键事实是USB速度和lan能够协商适用于混合速度的USB环境。
SD卡在哪里?
事实证明,SD卡直接连接到BCM2835(第65页),并且它们详细介绍了各种配置级别如何影响性能。需要注意的重要一点是,如果SD卡具有专用时钟,则它可以全速独立于核心CPU / GPU运行(无论使用哪种卡和标准-您都可以看到它支持一些标准)。
那是什么意思呢?
这意味着,如果您对更快的SD卡和笨拙的笔式驱动器(4gb / 8gb)进行基准测试,则很可能会遇到巨大的性能差异。因此,现在提出了一个问题:CPU / GPU如何处理与这种出色的嵌入式设备(usb / lan芯片)的通信,以及通信的速度。
您看到理论在实际进行基准测试之前可以走多远?这里的另一个关键点是-CPU如何控制数据流。是否按照建议使用单独的时钟通道?
在理想的世界中,您会认为此LAN / USB可以处理它。但这需要MCU。在框图中的任何地方都可以看到MCY吗?
因此,CPU必须请求IO DATA向其发送USB端口,然后它才通过相同的USB HUB进入LAN端口。是的,这样会在某些地方引起速度问题。
还需要注意的是,当您全部通过LAN复制到USB随身碟或从SD卡复制时会发生什么,这会引起一些流量。
我们需要对各个方面进行基准测试
在建立我们试图进行基准测试时,我们可以提出一个现实世界的问题。
- 内部USB处理SD数据的速度有多快?
- 要使用多少CPU来读写SD,然后再写入LAN?
- 用来读写USB随身碟的CPU数量是多少?
- 复制任何数据是否直接影响CPU使用率?
- 嵌入式USB / LAN芯片处理来自2个源的数据读回到LAN端口的性能如何,并按比例影响CPU?
- 不需要测试lan是否会达到完整的10mb / s,这是因为USB集线器所处的状态使lan成为瓶颈。
现在您知道了您要争取的是什么,我挑战您回答自己的问题。
您可能会发现这是一个很好的起点。
参考文献
但主要是
我根据自己的嵌入式经验进行的技术知识和评估。OP提出了一个很好的问题,但是缺乏理解,如果没有理论上对系统的理解,那么您注定要尝试评估/解决实际问题。
结果
(4) 此答案显示了一些切实可行的测试。并且证明了进行大量数据传输会直接影响CPU(只是不确定是SD卡还是将BCM芯片内部的数据转移到USB / LAN芯片的过程)
(6)已经证明,唯一的瓶颈将是源(例如,慢速SD卡)USB集线器设法以90%+的速度泵送数据,但是对问题4和5的回答可以直接影响该性能。
因此,在进行其他用户的研究和贡献后,我们开始建立并获得初步结果。
这是一个不错的图表,可帮助您直观地了解我们正在处理的内容。
sudo hdparm -t /dev/sdx
用作基准测试的有用工具。