0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用USB3.0和固态硬盘启动树莓派 并进行性能测试

如意 来源:百家号 作者: 虫虫搜奇 2020-06-27 17:11 次阅读

近日,树莓派基金会宣布了树莓派的8G内存版本,并发布了一个支持USB引导的固件版本。借此来解决长期以来令人诟病的磁盘IO问题。此前硬件版本树莓派最大外部磁盘速度受到限制,尤其是 USB 2.0 总线与网络适配器共享,进一步限制了其带宽,即使 USB 启动也快不到哪去。

树莓派 Pi 4 架构中不仅将网络适配器与USB总线分离,而且开始支持USB 3.0,其理论上可以比USB 2.0快10倍。所以此次USB引导测试版的新固件为提高树莓派的性能带来了曙光。日前一个小哥Jeff Geerling就分享了他的对新版本体验,并且做了基准测试,本文我们就一起来学习下小哥的实践过程。

用USB 引导树莓Pi 4

首先,用一个32GB SanDisk Pro microSD制作了最新的64位测试版树莓派操作系统。该测试版本系统可以从树莓派论坛下载

要制作引导盘,需要使用使用dd。实践中使用了一台老的Mac,当然也可以直接使用树莓派官方镜像。

然后,按照USB 引导测试版设置说明,进行以下操作:

1、启动SD卡引导的树莓派系统。

2、在树莓派操作系统中打开终端,也可以通过SSH 从另一台计算机执行。

3、运行以下命令,升级系统

sudo apt update

sudo apt full-upgrade

4、修改/etc/default/rpi-eeprom-update文件,将其值由“CRITICAL”修改为“BETA”。

5、 运行下面命令,更新EEPROM :

sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-06-03.bin

6、 重新启动,并通过打开终端并运行检查引导加载程序版本:

vcgencmd bootloader_version

应该输出类似下面的信息

Jun 3 2020 13:53:47

version b5de8c32f4f45a12a1fdfe107254df82965f9d56 (release)

timestamp 1591188827

这样表示引导成功,接下来还需要将 Pi OS flash到外部 USB SSD 或 HDD。首先,最好在启动驱动器时将需要加载的设备插入并确保系统已经识别了它(应该出现在桌面上或者使用lusb找的到)。注意:不是任何外部驱动器和 USB SATA 适配器支持开箱即用。

该试验中使用的是金士顿A400 240GB SSD,硬盘盒使用的是Inateck USB 3.0 SATA enclosure。

将USB驱动器插入主计算机(之前制作microSD卡的电脑),并将树莓派操作系系统烧录到它,和microSD 操作一样。

在引导boot卷之前,需要将卷上的一些文件替换为 GitHub 的最新版

在树莓派固件GitHub 存储库(github.com/raspberrypi/firmware),下载发布的zip压缩包或者git clone整个仓库。

在boot目录中,复制所有以.elf和.dat的结尾的文件到boot卷(替换已存在的同名文件)。

弹出boot卷,然后拔下 USB 驱动器。

重启当前以microSD 卡运行的系统,拔下microSD卡,然后插入USB驱动器。

请确保将驱动器插入到了USB 3.0端口(蓝色端口)。

打开树莓派电源,大约一分钟后,如果正常就可以应该可以启动,引导界面如下:

用USB3.0和固态硬盘启动树莓派 并进行性能测试

注意:上图有个错误提示,主要是引导加载程序不能启动通过USB-HDD后系统重新启动的问题,不影响使用。目前解决方案拔下引导usb设备树莓派完全关闭电源, 然后插入它回来。

基准测试

为了了解其microSD卡启动时磁盘和USB SSD启动的性能差距,小哥进行了一系列的基准测试。

第一个基准测试是对大文件写入及小文件(4K)随机访问读取/写入。这两者都很重要,但在许多方面,当使用像树莓派这样的通用计算机时,后者的差异会更有意义,因为计算机不不会整天读取和写入大型文件(大量顺序访问),例如摄像机或无人机(这是大多数microSD卡都会优化的用例)。

如果要自行运行此基准测试。记录在Pi Dramble维基的磁盘访问基准页。注意,对于 USB SSD,测试中修改了hdparm路径由/dev/mmcblk0改成了/dev/sda1。结果如下图:

用USB3.0和固态硬盘启动树莓派 并进行性能测试

结果确实可以说明问题。对于顺序操作,使用 USB SSD 比使用 microSD 卡快 3-4 倍。对于随机访问,随机读取速度稍快一些,但写入速度约为8倍。这在很多活动中有所不同,例如启动应用、运行具有许多选项卡的 Web 浏览器。顺序性能意味着可以轻松流式传输和录制4K高清视频,树莓派也有足够的带宽用于其他内容。

为了了解磁盘访问如何影响熟悉的真实应用程序的性能(并且能够以高度准确的结果彻底进行基准测试),还测试运行多年的Pi Dramble Drupal 基准,运行了一组Drupal基准。测试会运行Docker容器化的Drupal系统和MariaDB数据库,然后通过Nginx访问。结果如下:

用USB3.0和固态硬盘启动树莓派 并进行性能测试

和前面一样,也运行了所有测试 4x,在同一配置上,所有结果都相差不到 0.5%,因此很明显,SSD 在许多操作中产生了巨大的不同:Drupal 的安装和第一页加载导致数百个文件被访问和/或写入磁盘,因此在 SSD 上更快。因此,它有意义。

另外还测试了另一个方案:在 Drupal 中加载和重新加载页面:

用USB3.0和固态硬盘启动树莓派 并进行性能测试

这些基准测试显示,对于某些操作,磁盘IO性能差异并不明显。在 Drupal的案例中,处理和返回每个页面时会将所需的数据将缓存(opcache 或者memcache,redis等数据库的缓存中),可以保持读取和写入最小化。

总结

本文中尝试了在树莓派中运行USB SSD的尝试。根据基准测试使用USB3.0和SSD硬盘可以极大提高树莓派的IO性能。在这种方案下,可以一定程度上扩充树莓派的存储和访问性能,可以让树莓派的通用性加大,而不仅仅是个玩具。当然我们的呼声是树莓派能提供真正的磁盘接口,而不仅仅是USB。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    60

    文章

    7872

    浏览量

    263662
  • 固态硬盘
    +关注

    关注

    12

    文章

    1442

    浏览量

    57214
  • 树莓派
    +关注

    关注

    116

    文章

    1688

    浏览量

    105449
收藏 人收藏

    评论

    相关推荐

    USB3.0 /TYPE-C接口静电保护六路器件

    USB3.0 /TYPE-C接口静电保护六路器件
    的头像 发表于 11-01 08:02 86次阅读
    <b class='flag-5'>USB3.0</b> /TYPE-C接口静电保护六路器件

    USB3.0的识别问题

    做了一个USB3.0集线器,现在遇到这个问题,USB3.0无法识别,插拔几次后可以识别,接上其他设备也能正常工作,求高手帮忙啊,怎么处理USB3.0识别问题
    发表于 10-29 11:36

    树莓gpio有什么,树莓gpio接口及编程方法

    /Output,通用输入/输出)是树莓提供的一组可编程的引脚,是树莓与外部世界进行交互的重要桥梁。通过GPIO,用户可以控制外部电路,读
    的头像 发表于 10-22 18:09 328次阅读

    装了固态硬盘还要装机械硬盘

    在决定是否同时安装固态硬盘(SSD)和机械硬盘(HDD)时,可以考虑以下几个关键因素: 一、性能需求 读写速度 :固态
    的头像 发表于 10-10 15:51 346次阅读

    树莓4B的性能特点及应用

    HDMI、USB 3.0、千兆以太网、蓝牙5.0等,可以满足各种应用场景的需求。 树莓4B性能特点 2.1 CPU
    的头像 发表于 08-30 16:54 1222次阅读

    树莓gui开发什么ide

    树莓(Raspberry Pi)是一款功能强大的微型计算机,可以运行多种操作系统,如Raspbian、Ubuntu等。在树莓派上进行GUI(图形用户界面)开发,可以使用多种集成开发环
    的头像 发表于 08-30 16:49 596次阅读

    树莓5,Raspberry Pi 5 评测

    一样,为5 Gbps,因此我们期待有更高的处理能力来驱动更高的吞吐量。 为了弄清楚树莓5的USB 3.0连接的速度有多快,我们在内置的MicroSD卡读卡器和通过
    发表于 06-19 14:51

    USB2.0型号模拟转换USB3.0输出

    通过模拟信号转换,将原本输入进来的USB2.0变成USB3.0,使其插到USB3.0的HUB上不会出现2.0降速的问题
    发表于 05-14 08:47

    usb3.0和2.0的!!!

    USB 3.0USB 2.0是USB接口的不同版本,它们之间有以下主要区别: 1. **传输速度**:USB
    的头像 发表于 04-07 00:23 598次阅读

    使用CYUSB3014作为USB3.0数据传输,USB3.0无法识别的原因?

    我们使用CYUSB3014作为USB3.0数据传输方案,目前处于试产阶段。试产过程中偶尔出现板卡连接至PC后,USB3.0无法识别的情况。 固件使用的官方SlaveFifoSync固件。问题板卡上电
    发表于 02-23 06:12

    PCIe-6328 八口USB3.0图像采集卡:专为工业自动化和机器视觉设计

    。绝大多数现有USB3.0卡兼用多个接口于一个USB3.0控制核心上,如此操作将会使得性能显著下降。为最大化每个端口的性能,PCIe-6328拥有4颗独立Rene
    的头像 发表于 01-22 17:05 729次阅读
    PCIe-6328 八口<b class='flag-5'>USB3.0</b>图像采集卡:专为工业自动化和机器视觉设计

    树莓主板如何连接电脑

    连接树莓派到电脑是一个非常有用的功能,它可以让我们在电脑上进行树莓的操作和管理。本文将详细介绍如何连接树莓主板到电脑。我会从准备工作开始
    的头像 发表于 01-07 15:40 1711次阅读

    USB3.0高速接口布局指南

    电子发烧友网站提供《USB3.0高速接口布局指南.pdf》资料免费下载
    发表于 01-02 10:21 7次下载

    【爱芯 Pro 开发板试用体验】CPU性能测试,与树莓4B对比

    coremark源码下载到爱芯Pro上: git clone https://github.com/eembc/coremark.git 下载完成后,可以看到如下文件: 三、CoreMark性能测试 3.1
    发表于 01-01 16:36

    【昉·星光 2 高性能RISC-V单板计算机体验】Redis源码编译和性能测试以及与树莓4B对比

    同一版本的Redis服务和Redis基准测试测试结果显示,VisionFive2上Redis性能明显由于树莓4B,这一定程度上说明——V
    发表于 12-10 21:27