[RK3588]armsom-sige7开发板接口性能测试

2023-12-09 06:12

本文主要是介绍[RK3588]armsom-sige7开发板接口性能测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里针对armsom-sige7开发板的板载接口进行测试。相信能够帮助各位更加深入地了解这套板卡。

  1. 2.5G网口测试

iperf是一种网络性能测试工具,它通过在两个计算机之间传输数据来测量网络带宽。其中armsom-w3作为iperf服务器,armsom-sige7作为iperf客户端。服务器监听指定的端口,iperf客户端生成特定大小的数据流,并通过TCP或UDP协议将数据发送到服务器。以下是测试结果:

客户端:

root@ArmSom-sige7:/# iperf -c 192.168.100.11l -t l0 -i l
-------------------------------------------------------------
client connecting to 192.168.100.111,TCP port 5001
TCP window size: 45.0 KByte (default)
-------------------------------------------------------------
[ 3] local 192.168.100.110 port 60564 connected with 192.168.100.1ll port 5001
[ID] IntervalTransferBandwidth
[ 3] 0.0000-1.0000 sec 275 NBytes 2.31 Gbits/sec
[ 3] 1.0000-2.0000 sec 281 NBytes 2.35 Gbits/sec
[ 3]2.0000-3.0000 sec 278 MBytes 2.34 Gbits/sec
[ 3]3.0000-4.0000 sec 280 NBytes 2.35 Gbits/sec
[ 3]4.0000-5.0000 sec 279 NBytes 2.34 Gbits/sec
[ 3]5.0000-6.0000 sec 279 MBytes 2.34 Gbits/sec
[ 3]6.0000- 7.0000 sec 276 NBytes 2.32 Gbits/sec
[ 3] 7.0000-8.0000 sec 282 NBytes 2.36 Gbits/sec
[ 3] 8.0000-9.0000 sec 279 MBytes 2.34 Gbits/sec
[ 3] 9.0000-10.0000 sec 278 MBytes 2.33 Gbits/sec
[ 3] 10.0000-10.0002 sec 256 KBytes 11.2 Gbits/sec
[ 3] 0.0000-10.0002 sec 2.72 GBytes 2.34 Gbits/sec
root@ArmSom-sige7 :/#

服务器端:

rootalinaro-alip:#iperf -s
-------------------------------------------------------------
Server listening on TCp port 5001
Tcp window size: 128 KByte (default)
-------------------------------------------------------------
[ 4] local 192.168.100.111 port 5081 connected with 192.168.108.110 port 68564
[ID]  Interval         Transfer        Bandwidth 
[ 4] 0.0000-10.0045 sec 2.72 GBytes 2.34 Gbits/sec

测试结果中,每秒的带宽大致在2.31 Gbits/sec到2.36 Gbits/sec之间波动,最后的平均带宽为2.34 Gbits/sec。

  1. eMMC读写测试

armsom-sige7的eMMC默认运行于HS400 模式,工作位宽为8。下面简单测试eMMC的读写速度,这里我们以读写ext4 文件系统为例。

写入测试:

root@ArmSom-sige7:/userdata# dd bs=1M count=512 conv=fsync if=/dev/zero of=/dev/mmcblk0p8
记录了500+0 的读入
记录了500+0 的写出
536870912字节(537 MB,512 MiB)已复制,2.57913 s,208 MB/s 

读取测试:

root@ArmSom-sige7:/userdata# dd bs=1M count=512 if=/dev/mmcblk0p8 of=/dev/null
记录了512+0 的读入
记录了512+0 的写出
536870912字节(537 MB,512 MiB)已复制,1.83596 s,292 MB/s

通过以上可以看到,eMMC的写入速度为208MB/s,读取速度为292 MB/s

注意:

非要对同一文件进行多次的读测试,我们需要先清除linux内核的缓存,可以使用如下命令

# sync; echo 3 > /proc/sys/vm/drop_caches

​ 3. nvme读写测试

PCI Express接口连接的是nvme固态硬盘,这里看下PCIe接口的速率。

写入测试:

fio --name=writetest --ioengine=sync --rw=write --bs=4k --numjobs=16 --size=1G --time_based --filename=/dev/nvme0n1

这个例子运行了一个读取(read)的测试,使用4KB块大小,16个并发作业,总共1GB的测试数据。

得到的结果如下:

Run status group 0 (all jobs):WRITE: bw=9057MiB/s (9497MB/s), 566MiB/s-606MiB/s (594MB/s-635MB/s), io=16.0GiB (17.2GB), run=1690-1809msecDisk stats (read/write):nvme0n1: ios=155/11, merge=0/123, ticks=8/9, in_queue=16, util=2.12%

读取测试:

fio --name=readtest --ioengine=sync --rw=read --bs=4k --numjobs=16 --size=1G --time_based --filename=/dev/nvme0n1

得到的结果如下:

Run status group 0 (all jobs):READ: bw=12.4GiB/s (13.3GB/s), 792MiB/s-801MiB/s (830MB/s-840MB/s), io=16.0GiB (17.2GB), run=1278-1293msecDisk stats (read/write):nvme0n1: ios=8180/0, merge=0/0, ticks=3168/0, in_queue=3167, util=91.98%

请注意,具体的性能可以因硬件、驱动程序和测试条件而有所不同,但在大多数情况下,测试结果只是表明 NVMe 存储设备在 PCIe 3.0 x4 接口上是否运行良好。

​ 4. USB3.0接口测试

用户可以在板载USB接口上连接USB鼠标、USB键盘、U盘等设备,并且支持以上设备的热插拔。这里我们以读写USB3.0接口的U盘为例

测试 USB Disk 的读速率方法:

step1. 使用 dd 命令创建一个 test 文件,用于后续的拷贝测试使用
dd if=/dev/zero of=/mnt/test bs=64K count=16K
step2.
每次执行 dd 命令前,先清缓存
echo 3 > /proc/sys/vm/drop_caches
测试 4K 数据块的读速率
dd if=/mnt/test of=/dev/null bs=4K count=256K
step3.
每次执行 dd 命令前,先清缓存
echo 3 > /proc/sys/vm/drop_caches
测试 64K 数据块的读速率
dd if=/mnt/test of=/dev/null bs=64K count=16K
step4.
每次执行 dd 命令前,先清缓存
echo 3 > /proc/sys/vm/drop_caches
测试 128K 数据块的读速率
dd if=/mnt/test of=/dev/null bs=128K count=8K
step5.
每次执行 dd 命令前,先清缓存
echo 3 > /proc/sys/vm/drop_caches
测试 512K 数据块的读速率
dd if=/mnt/test of=/dev/null bs=512K count=2K

测试结果如下:

root@ArmSom-sige7:/mnt# dd if=/dev/zero of=/mnt/test bs=64K count=16K
记录了16384+0 的读入
记录了16384+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,0.990046 s,1.1 GB/s
root@ArmSom-sige7:/mnt# echo 3 > /proc/sys/vm/drop_caches
[11322.812777] bash (1592): drop_caches: 3
root@ArmSom-sige7:/mnt# dd if=/mnt/test of=/dev/null bs=4K count=256K
记录了262144+0 的读入
记录了262144+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,1.58247 s,679 MB/s
root@ArmSom-sige7:/mnt# echo 3 > /proc/sys/vm/drop_caches
[11628.633439] bash (1592): drop_caches: 3
root@ArmSom-sige7:/mnt# dd if=/mnt/test of=/dev/null bs=64K count=16K
记录了16384+0 的读入
记录了16384+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,11.4648 s,93.7 MB/s
root@ArmSom-sige7:/mnt# echo 3 > /proc/sys/vm/drop_caches
[11658.589146] bash (1592): drop_caches: 3
root@ArmSom-sige7:/mnt# dd if=/mnt/test of=/dev/null bs=128K count=8K
记录了8192+0 的读入
记录了8192+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,11.4525 s,93.8 MB/s
root@ArmSom-sige7:/mnt# echo 3 > /proc/sys/vm/drop_caches
[11681.603100] bash (1592): drop_caches: 3
root@ArmSom-sige7:/mnt# dd if=/mnt/test of=/dev/null bs=512K count=2K
记录了2048+0 的读入
记录了2048+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,9.78606 s,110 MB/s

测试 USB Disk 的写速率方法:

step1.
每次执行 dd 命令前,先清缓存
echo 3 > /proc/sys/vm/drop_caches
测试 4K 数据块的写速率
dd if=/dev/zero of=/mnt/test bs=4K count=256K
step2.
rm /mnt/test
sync
echo 3 > /proc/sys/vm/drop_caches
测试 64K 数据块的写速率
dd if=/dev/zero of=/mnt/test bs=64K count=16K
step3.
rm /mnt/test
sync
echo 3 > /proc/sys/vm/drop_caches
测试 128K 数据块的写速率
dd if=/dev/zero of=/mnt/test bs=128K count=8K
step4.
rm /mnt/test
sync
echo 3 > /proc/sys/vm/drop_caches
测试 512K 数据块的写速率
dd if=/dev/zero of=/mnt/test bs=512K count=2K

测试结果如下:

root@ArmSom-sige7:/# echo 3 > /proc/sys/vm/drop_caches
[11951.413375] bash (1592): drop_caches: 3
root@ArmSom-sige7:/# dd if=/dev/zero of=/mnt/test bs=4K count=256K
记录了262144+0 的读入
记录了262144+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,1.15849 s,927 MB/s
root@ArmSom-sige7:/# rm /mnt/test
root@ArmSom-sige7:/# sync
root@ArmSom-sige7:/# echo 3 > /proc/sys/vm/drop_caches
[11980.713875] bash (1592): drop_caches: 3
root@ArmSom-sige7:/# dd if=/dev/zero of=/mnt/test bs=64K count=16K
记录了16384+0 的读入
记录了16384+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,0.988565 s,1.1 GB/s
root@ArmSom-sige7:/# rm /mnt/test
root@ArmSom-sige7:/# sync
root@ArmSom-sige7:/# echo 3 > /proc/sys/vm/drop_caches
[12007.713823] bash (1592): drop_caches: 3
root@ArmSom-sige7:/# dd if=/dev/zero of=/mnt/test bs=128K count=8K
记录了8192+0 的读入
记录了8192+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,0.976208 s,1.1 GB/s
root@ArmSom-sige7:/# rm /mnt/test
root@ArmSom-sige7:/# sync
root@ArmSom-sige7:/# echo 3 > /proc/sys/vm/drop_caches
[12031.596496] bash (1592): drop_caches: 3
root@ArmSom-sige7:/# dd if=/dev/zero of=/mnt/test bs=512K count=2K
记录了2048+0 的读入
记录了2048+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,0.985029 s,1.1 GB/s

测试结果可能会受到多种因素的影响,包括设备的硬件规格、操作系统和驱动程序的配置等。因此,测试结果只做参考,而不是绝对精确的性能度量。

Rockchip USB 3.0 Host 接口的 USB3 Disk读写速率通常在60MBps ~ 100MBps。

​ 5. WiFi带宽测试

使用iperf也可以测AP6275S的数据吞吐量,2.4G和5G测试数据如下:

2.4G测试:

root@ArmSom-sige7:/# iperf -c 192.168.100.192 -t l0 -i l
-------------------------------------------------------------
client connecting to 192.168.100.111,TCP port 5001
TCP window size: 45.0 KByte (default)
-------------------------------------------------------------
[ 3] local 192.168.100.110 port 60564 connected with 192.168.100.192 port 5001
[ID] IntervalTransferBandwidth
[ 3] 0.0000-1.0000 sec 8.38 MBytes 70.3 Mbits/sec
[ 3] 1.0000-2.0000 sec 9.62 MBytes 80.7 Mbits/sec
[ 3]2.0000-3.0000 sec 8.62 MBytes 72.4 Mbits/sec
[ 3]3.0000-4.0000 sec 9.88 MBytes 82.8 Mbits/sec
[ 3]4.0000-5.0000 sec 7.50 MBytes 62.9 Mbits/sec
[ 3]5.0000-6.0000 sec 7.62 MBytes 64.0 Mbits/sec
[ 3]6.0000- 7.0000 sec 8.38 MBytes 70.3 Mbits/sec
[ 3] 7.0000-8.0000 sec 6.25 MBytes 52.4 Mbits/sec
[ 3] 8.0000-9.0000 sec 8.00 MBytes 67.1 Mbits/sec
[ 3] 9.0000-10.0000 sec 7.38 MBytes 61.9 Mbits/sec
[ 3] 0.0000-10.000 sec 81.9 MBytes 67.8 Mbits/sec

5G测试:

root@ArmSom-sige7:/# iperf -c 192.168.100.192 -t l0 -i l
-------------------------------------------------------------
client connecting to 192.168.100.111,TCP port 5001
TCP window size: 45.0 KByte (default)
-------------------------------------------------------------
[ 3] local 192.168.100.110 port 60564 connected with 192.168.100.192 port 5001
[ID] IntervalTransferBandwidth
[ 3] 0.0000-1.0000 sec 28.38 MBytes 220.3 Mbits/sec
[ 3] 1.0000-2.0000 sec 29.62 MBytes 220.7 Mbits/sec
[ 3]2.0000-3.0000 sec 28.62 MBytes 232.4 Mbits/sec
[ 3]3.0000-4.0000 sec 29.88 MBytes 242.8 Mbits/sec
[ 3]4.0000-5.0000 sec 27.50 MBytes 222.9 Mbits/sec
[ 3]5.0000-6.0000 sec 27.62 MBytes 224.0 Mbits/sec
[ 3]6.0000- 7.0000 sec 28.38 MBytes 230.3 Mbits/sec
[ 3] 7.0000-8.0000 sec 26.25 MBytes 212.4 Mbits/sec
[ 3] 8.0000-9.0000 sec 28.00 MBytes 227.1 Mbits/sec
[ 3] 9.0000-10.0000 sec 27.38 MBytes 221.9 Mbits/sec
[ 3] 0.0000-10.0000 sec 261.9 MBytes 227.8 Mbits/sec

测试结果中,2.4G的速率是67.8Mbits/sec,5G的速率是227.8Mbits/sec。

注意:rk3588默认SDIO-CLK是150M的,测试环境可能会被外部因素干扰,真实数据应该需要在屏蔽室内进行测试。

​ 6. 40PIN连通性测试

sige7板载40针的GPIO接口,与树莓派定义的40PIN引脚是一致的,这里测试连通性是测试PIN脚的上下电。

armsom-sige7测试40PIN脚本如下:

GPIO40="139 138 115 113 109 111 112 100 148 42 41 43 44 45 150 149 63 47 114 103 110 105 0 106 107"
GPIOLED="15"
GPIOS="$GPIO40 $GPIOLED"export_gpio() {for IN in $GPIOS ; doEXPORT=/sys/class/gpio/exportVALUE=/sys/class/gpio/gpio$IN/valueif [ ! -f $VALUE ] ; thenecho $IN > $EXPORTfidone
}out_gpio() {for IN in $GPIOS ; doDIR=/sys/class/gpio/gpio$IN/directionif [ -f $DIR ] ; thenecho  out > $DIRfidone
}hi_gpio() {for IN in $GPIOS ; doVALUE=/sys/class/gpio/gpio$IN/valueif [ -f $VALUE ] ; thenecho 1 > $VALUEfidone
}on_off_led()                                                                    
{                                                                               
ONOFF=$1                                                                        for IN in $GPIOS ; doVALUE=/sys/class/gpio/gpio$IN/valueecho $ONOFF > $VALUEsleep .1                                                                fidone
}                                                                               export_gpio
out_gpio
hi_gpiowhile [ 1 ] ; doon_off_led 0                                                            sleep .5                                                                on_off_led 1                                                            sleep .5                                                                
done

在40PIN上接测试用的LED灯,最后的测试结果是LED灯逐渐亮灭。

这篇关于[RK3588]armsom-sige7开发板接口性能测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/472757

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在