SD卡
USB闪存驱动器
USB HDD
这个问题并非易事,因为在某些时候与存储设备之一相关的处理开销与以太网通信可能会影响传输速率, Raspberry Pi上的以太网端口由USB总线控制,因此一般而言,吞吐量应受到以太网数据传输和USB媒体数据传输的协调影响。我不知道SD卡是否与USB端口和以太网端口位于相同的共享USB总线上,但是如果不是这样,我认为这将是一个很大的好处。
编辑将网络传输作为基准测试的要求
#1 楼
在基准测试中,您必须始终确定自己的极限。因为如果您希望从该局域网中获得100mbs,那么您只是在自欺欺人!看看RaspberryPI Model-B-B的此Block设计
>因此,我们在这里建立了一个非常重要的事实。以太网是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端口发送给它,然后它才进入LAN端口(通过同一USB HUB)是的,所以这会在某些地方引起速度问题。 LAN ..这将引起一些流量。
我们需要对各个方面进行基准测试
在建立我们要进行基准测试的内容时,我们可以提出一个现实问题。 br />
内部USB处理SD数据的速度有多快?
要用多少CPU读取和写入SD数据然后再写入LAN?
要使用多少CPU读取/写入USB笔式驱动器?
复制任何数据是否会直接影响CPU使用率?
嵌入式USB / LAN芯片处理来自2个源的数据读回LAN端口的性能如何?它会成比例地影响CPU?
无需测试lan是否会变满10mb / s,因为它受到USB集线器所在状态的瓶颈的影响。
现在您知道自己在为什么而战,我挑战您自我回答。
您可能会发现这是一个很好的起点。
参考文献
来自http://en.wikipedia.org/wiki/的图像和数据来源Raspberry_Pi
和LAN / USB直接在制造商网站上!
我根据自己的嵌入式经验进行了自己的技术知识和评估。 OP提出了一个很好的问题,但缺乏理解,如果没有理论上对系统的理解,那么您注定要尝试评估/解决实际问题。
结果
(4)此答案显示了一些切实可行的测试。并且证明进行大量数据事务直接影响CPU(只是不确定是SD卡还是将BCM芯片内部的数据转移到USB / LAN芯片的过程)
(6)已证明唯一的瓶颈将是来源(例如慢速SD卡)USB集线器设法以90%以上的速度抽取数据,但对问题4和5的回答可以直接影响此性能。
因此,通过对其他用户的一些研究和贡献,我们开始建立并获得初步结果。 br />
评论
+1好答案。虽然可以请提供图片来源吗?
–活动
2012年7月31日18:21
该答案在向问题添加细节方面做得很好,解释了为什么每个不同的存储介质可能具有非常不同的性能数字。首先,感谢您本人应添加到问题中的其他信息。
– Dan B
2012年8月1日下午16:46
USB仍约为30 MB / s,即有足够的空间用于100 Mbit网络。
–特尔比约恩(ThorbjørnRavn Andersen)
2012年8月2日,0:14
@ThorbjørnRavnAndersen是的,这是真的。但是我的问题之一与嵌入式USB集线器的性能有关。真的快叫吗?并且它是否取决于ARM CPU-以及通过LAN复制Form 2源时会发生什么。我并不是说它不会这样做-但在某些情况下肯定会是一个问题。
– Piotr Kula
2012年8月2日在8:23
听起来您在该领域有经验。您可以进行实际测量吗?
–特尔比约恩(ThorbjørnRavn Andersen)
2012年8月2日在8:26
#2 楼
显然,使用ramdisk可以实现最高性能。 。对于pi的灵活性特别适合的某些情况,实际存储需求可能足够小,可以通过ramdisk显式运行,或者通过磁盘缓存机制从ram隐式运行(Linux ramdisk只是磁盘仍然没有支持磁盘就可以进行缓存)。 。
评论
您不需要卡来启动。操作系统/引导加载程序需要它!如果更改了引导加载程序,则可以从串行接口或LAN引导。如果您有足够的技术,则可以在RPI中添加3GB的ram-但这绝对不是主题。事实是一切都通过愚蠢的USB集线器进行!布莱
– Piotr Kula
2012年7月31日18:31
引导加载程序(至少可以更改的引导加载程序)不是位于SD卡上吗?如果您更改一些配置引脚的捆扎带,则可能能够从另一个源加载内部启动rom。
–克里斯·斯特拉顿(Chris Stratton)
2012年7月31日19:03
我几乎肯定BCM芯片..像arduino一样具有引导程序..(例如PC上的BIOS)必须有一些初始程序才能加载下一个程序,依此类推。更改RPi上的bootlaoder。请等待一两年。
– Piotr Kula
2012年7月31日在19:08
arduino的ATMEGA是设计为独立运行并带有内部闪存的微控制器的示例。用户可以自定义booloader。另一方面,pi的SOC似乎来自需要外部存储器的较大系统部分。这些通常都有引导加载程序,但是这是一个掩膜ROM,一旦他们离开工厂就无法更改。在基于此类传统产品的传统产品中,将有一个4-8 MB的外部闪存芯片。但是pi似乎改为使用可移动SD卡,避免了有人损坏焊接的闪光灯的问题。
–克里斯·斯特拉顿(Chris Stratton)
2012年8月1日,下午3:47
这太有趣了。那么包含该引导数据的FAT分区是吗?还是将其存储在SD的隐藏部分中的其他位置?在理论上,您可以尝试更轻松地尝试将加载过程重定向到设备上的另一个“被黑客入侵” ...
– Piotr Kula
2012年8月1日在7:16
#3 楼
USB HDD或USB SSD应该为您提供最快的性能。对于10类设备,SD卡的写入速度约为12 MB / s,而USB的最高速度可达30 MB / s。我不同意USB集线器在RPi上限制了以太网,因为HUB可以维持400 Mbit / s的速度,而以太网为100。因此理论上它可以维持4倍快速以太网100Mb / s端口。
评论
我测试过的每一个10级SD的写入速度都> 19mb / s。我有一个速度为14mb / s的6级课程。声称速度为45mb / s的SanDisk Extreme SD的读取速度为50mb / s,写入速度为47mb / s,这令人惊讶。我测试过的Lexar 400x SD最快,读取速度为70mb / s,但写入速度约为30mb / s。在USB 2.0上,快速SD卡,HDD和SSD之间几乎没有区别。我搞砸的所有USB 2.0接口的输出速度都约为35mb / s。我见过USB 2.0拇指驱动器的速度约为10mb / s,有些甚至更低。即使在USB 3.0端口上,许多USB 3.0拇指驱动器的写入速度也上限为10-20 mb / s!
– Therealstubot
14年8月21日在0:48
#4 楼
使用USB闪存驱动器时,最大速度为4Mb / s,对于USD HDD,速度相同。这只是通过Windows网络“ homegroup”将文件拖放到连接到Raspberry的设备上而已。 。我尝试直接将FTP传输到USB HDD(连接到笔记本电脑后,该设备以+ 60Mb / s的速度传输),但效果非常差。 100KiB / s!结果导致数小时的流量只有几百MB。我现在在笔记本电脑和Raspberry Pi之间移动硬盘以进行数据传输:
评论
我认为您有配置/网络问题,因为我可以将文件直接上传到USB记忆棒中,最高速度为24 Mbps。而且我认为我可以使用以太网而不是Wi-Fi做得更好。我一直在使用vsftpd。
–摩根·库尔贝(Morgan Courbet)
13年1月4日在20:54
评论
仅供参考,回答者可以使用sudo hdparm -t / dev / sdx作为基准测试的有用工具。我没有基准,但它是常识:ssd> hdd>闪存> sd>光学介质
+1-关于SD端口的要点-它与USB /以太网在同一总线上吗? SD和连接的USB存储设备上的共享负载工作得更好吗?
@XAleXOwnZX确定这些设备所在的总线是否可以匹配设备的最大性能,这就是命令,但我敢打赌,由于Raspberry Pi仅具有USB,因此您的命令将更像ssd = hdd = flash> Optical和SD可能会基于它是否具有自己的总线(与USB端口分开)而驻留在该列表中的任何位置。
这是一个好点,但是可以肯定地是HDD> Flash。我的USB硬盘驱动器的速度为30 mb / s,而我的闪存驱动器的驱动器为5-10