香橙派 AIpro 的系统评测

2024-06-05 17:44
文章标签 系统 评测 香橙 aipro

本文主要是介绍香橙派 AIpro 的系统评测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0. 前言

你好,我是悦创。

今天受邀测评 Orange Pi AIpro开发板,我将准备用这个测试简单的代码来看看这块开发版的性能体验。

分别从:Sysbench、Stress-ng、PyPerformance、RPi.GPIO Benchmark、Geekbench 等方面来测试和分析结果。

下面就是我收到的开发板子:

香橙派 AIpro 启动后支持用户通过远程登录模式或者本机显示模式登录开发板推理任务,此处可根据两种模式所需的配件,自行选择其中一种模式准备相关硬件即可。

1. 设备介绍

在这里插入图片描述

2. 使用 VNC

  1. 安装
sudo apt update
sudo apt install xfce4 xfce4-goodies
sudo apt install tightvncserver

安装语言包,不然会出错 Fatal server error:could not open default font 'fixed’

sudo apt-get install xfonts-base
  1. 配置密码
vncserver
aiyc1234
  1. 配置开机启动
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
vim ~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
sudo chmod +x ~/.vnc/xstartup
  1. 启动和关闭

    1. 启动
    vncserver
    
    1. 关闭
    vncserver -kill :1
    vncserver -kill :2
    
  2. 连接

直接使用 VNC 软件连接即可。

在这里插入图片描述

  1. 问题:focal vnc 灰屏

使用 ubuntu focal,vnc 登录灰屏幕。原因是 focal 默认图形界面是 gnome,和 ubuntu18、ubuntu16 配置不同。

解决办法:

sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

配置 vnc:

vim ~/.vnc/xstartup

添加以下内容:

#!/bin/bash
export $(dbus-launch)  # 主要是这句
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGERgnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &# [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
# [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesxsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &
  1. 重启 vnc
vncserver -kill :1
vncserver -kill :2
vncserver :1 -geometry 1536x864 

3. 开始测试

3.1 Sysbench

3.1.1 简介
  • 虽然 Sysbench 不是一个 Python 项目,但它是一个非常流行的多线程测试工具,可以测试 CPU、内存、文件 I/O 和数据库性能。
  • 安装命令:sudo apt-get install sysbench
  • 使用例子:sysbench cpu --cpu-max-prime=20000 run 来测试CPU性能。
3.1.2 实际测试
  1. 安装命令:
sudo apt-get update
sudo apt-get install sysbench
  1. 测试 CPU 性能:
sysbench cpu --cpu-max-prime=20000 run
  1. 结果观察:
  • 注意观察输出中的 total time, events per secondmin/avg/max latency。这些指标显示了 CPU 处理能力和响应时间。

我的实际输出如下:

(base) HwHiAiUser@orangepiaipro:~$ sysbench cpu --cpu-max-prime=20000 run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)Running the test with following options:
Number of threads: 1
Initializing random number generator from current timePrime numbers limit: 20000Initializing worker threads...Threads started!CPU speed:events per second:   817.07General statistics:total time:                          10.0005stotal number of events:              8175Latency (ms):min:                                    1.22avg:                                    1.22max:                                    1.8595th percentile:                        1.23sum:                                 9998.12Threads fairness:events (avg/stddev):           8175.0000/0.00execution time (avg/stddev):   9.9981/0.00

操作截图:

在这里插入图片描述

3.1.3 评价

我们可以提取一些关键信息来评估您的香橙派(Orange Pi AI Pro)的 CPU 性能:

  1. 测试配置

    • 线程数量:1
    • 质数上限:20000
    • 测试使用单线程计算到 20000 的质数,这是一个典型的 CPU 密集型任务,用来评估处理器的计算能力。
  2. 性能结果

    • 事件每秒:817.07
      • 这个数值表示 CPU 每秒可以处理的事件数量,也就是每秒完成了 817 次计算任务。这个数值越高,表示 CPU 的处理速度越快。
    • 总时间:10.0005 秒
      • 测试运行了总共 10 秒,这是 Sysbench 默认的测试时间。
    • 总事件数量:8175
      • 在 10 秒内,系统完成了 8175 次计算任务。
  3. 延迟(Latency)

    • 最小延迟:1.22毫秒
    • 平均延迟:1.22毫秒
    • 最大延迟:1.85毫秒
    • 95th 百分位延迟:1.23毫秒
      • 延迟指的是完成一次计算所需要的时间。这里的延迟非常低,说明 CPU 响应速度快,能够迅速处理计算任务。最大延迟略高,可能是由于偶发的系统调度或其他非 CPU 密集型进程的干扰。
  4. 线程公平性

    • 平均事件数量和执行时间的标准差都是 0,这表明在单线程测试中,CPU 的表现非常一致,没有显著的波动。

评价

  • 根据测试结果,OrangePi 设备在处理单线程计算密集型任务时表现良好,具有快速的处理速度和低延迟。这表明对于不涉及高并发的任务,OrangePi 设备能够提供稳定的性能。
  • 如果应用场景包括更多并发处理或者更高的计算需求,我建议进行多线程的 Sysbench 测试,这可以提供更多关于 CPU 在高负载下表现的信息。「有需要测试方法的,评论区交流」

根据这些结果,如果我们使用场景主要涉及单线程计算任务,这款设备应该能够满足基本需求。对于更复杂或需求更高的场景,考虑进行更多样化的测试以全面评估性能。

3.2 Stress-ng

3.2.1 简介
  • Stress-ng 同样不是 Python 工具,但它能够对系统进行压力测试,涵盖超过 240 种测试方式。它可以用来测试 CPU、内存以及其他系统组件。
  • 安装命令:sudo apt install stress-ng
  • 使用例子:stress-ng --cpu 4 --io 2 --vm 2 --vm-bytes 128M --timeout 10s 来进行综合压力测试。
3.2.2 实际测试
  1. 安装命令:
sudo apt install stress-ng
  1. 运行综合压力测试:
stress-ng --cpu 4 --io 2 --vm 2 --vm-bytes 128M --timeout 10s
  1. 结果观察:
  • 结果会显示每种资源的测试统计,包括处理速度和错误数。注意系统的稳定性和是否有过热或重启的现象。

我的实际输出如下:

# [!code focus:5]
(base) HwHiAiUser@orangepiaipro:~$ stress-ng --cpu 4 --io 2 --vm 2 --vm-bytes 128M --timeout 10s
stress-ng: info:  [11400] setting to a 10 second run per stressor
stress-ng: info:  [11400] dispatching hogs: 4 cpu, 2 io, 2 vm
stress-ng: info:  [11400] successful run completed in 10.20s
(base) HwHiAiUser@orangepiaipro:~$ stress-ng --cpu 4 --io 2 --vm 2 --vm-bytes 128M --timeout 10s
stress-ng: info:  [11417] setting to a 10 second run per stressor
stress-ng: info:  [11417] dispatching hogs: 4 cpu, 2 io, 2 vm
stress-ng: info:  [11417] successful run completed in 10.14s
(base) HwHiAiUser@orangepiaipro:~$ stress-ng --cpu 4 --io 2 --vm 2 --vm-bytes 128M --timeout 10s
stress-ng: info:  [11430] setting to a 10 second run per stressor 
stress-ng: info:  [11430] dispatching hogs: 4 cpu, 2 io, 2 vm
stress-ng: info:  [11430] successful run completed in 10.15s
(base) HwHiAiUser@orangepiaipro:~$ 

操作截图:

在这里插入图片描述

3.2.3 评价

上面我运行了 stress-ng 测试,是在同时对香橙派的 CPU、IO(输入/输出)和虚拟内存(VM)进行压力测试。

  1. 测试参数解析:
  • CPU: 使用了 4 个压力测试线程,这意味着同时启动了 4 个线程来尽可能多地占用 CPU 资源。
  • IO: 启动了 2 个线程进行磁盘 I/O 操作,这可能包括对文件的读写。
  • VM: 启动了 2 个线程,每个线程使用 128MB 的内存来执行内存压力测试。
  1. 测试结果:
  • 所有三次测试均在约 10 秒后完成,显示为 10.20s, 10.14s, 和 10.15s。这表明香橙派在持续的负载下表现出相对稳定的性能。
  1. 性能评价:

    1. 稳定性:

      香橙派在三次测试中表现出良好的稳定性。持续时间的微小差异(最长10.20秒,最短10.14秒)表明即使在较高负载下,性能也保持一致。

    2. 响应时间:

      完成时间接近设定的10秒,说明系统能够在预定时间内有效管理和完成任务。完成时间略长于10秒可能是由于系统调度或者在执行结束时清理资源所需的额外时间。

    3. 系统负载承受能力:

      通过此测试,我们可以看出,香橙派能够同时处理较大的 CPU 和内存负载,以及进行 I/O 操作,而没有出现崩溃或重大错误,这是对其多任务处理能力的一个积极指标。

    4. 看到这里你肯定在想更大的负载测试命令怎么写呢?我这里也为你提供了一下:

      stress-ng --cpu 8 --io 4 --vm 4 --vm-bytes 256M --hdd 2 --timeout 60s
      
      • 参数解释:
        • --cpu 8: 使用 8 个线程执行 CPU 压力测试,这会更加强烈地测试 CPU 的处理能力。
        • --io 4: 使用 4 个线程进行 IO 操作,增加对文件系统的压力。
        • --vm 4 --vm-bytes 256M: 每个 VM 线程尝试使用 256MB 内存,共 1GB 内存,增加内存使用和管理的压力。
        • --hdd 2: 进行两个磁盘写入线程,以测试磁盘的写入速度和稳定性。
        • --timeout 60s: 设置测试运行时间为 60 秒,较长的测试时间可以更全面地评估香橙派(OrangePi)在持续高负载下的性能表现。
  2. 建议:

    • 监控温度和功耗、稳定性: 在进行此类测试时,建议监控设备的温度和电源使用情况,以确保没有过热或电源不足的问题发生。并且在增加测试负载的时候,可能会导致香橙派温度升高。我们需要确保良好的散热措施,并密切观察是否有性能下降或系统不稳定的迹象。

      我在测试的时候,排插借口部分,就有些过热。不仅仅要注意用电安全,还要注意运行状况等。机身因为有散热风扇的存在,所以整体温度还好,但是如果再高估计就不行了。

    • 长时间运行测试: 考虑长时间运行测试(如数小时),观察在长期高负载下香橙派的表现,检查是否有性能下降或稳定性问题。

    • 电源要求:确保使用足够的电源供应,因为高负载可能增加电力消耗。

    • 数据安全:高强度的磁盘写入测试可能对 SD 卡寿命产生影响,如果是在生产环境中使用,需要谨慎进行。

    • 比较不同配置: 如果可能,试着改变压力测试的配置(如增加内存用量,增加CPU或IO压力测试的线程数),这可以帮助了解在不同负载下设备的性能极限。

总的来说香橙派在这项基准测试中表现良好,没有表现出性能问题,这表明香橙派可以处理相当复杂的任务和压力。如果我的粉丝有兴趣,可以查看你们自己的系统日志和硬件监控数据。

3.3 PyPerformance

3.3.1 简介

PyPerformance 是一个 Python 基准测试套件,用于测量 Python 实现的性能。虽然它主要是测试 Python 解释器的性能,但也间接反映了运行它的硬件性能。

安装命令:python3 -m pip install pyperformance

运行测试:pyperformance run -b [benchmark]

3.3.2 实际测试
  1. 安装命令:
python3 -m pip install pyperformance
  1. 运行 Python 性能测试:
pyperformance run --benchmarks all
  1. 结果观察:

测试完成后,将生成一份报告,显示不同测试的运行时间和比较。这有助于评估 Python 环境在当前硬件上的执行效率。

这个测试需要非常久,需要你有耐心。我测试了将近 3h 左右(预估),我一开始也没想到会这么久。

[74/74] xml_etree...
# /home/HwHiAiUser/venv/cpython3.9-bafaf170d952-compat-af96b9431081/bin/python -u /home/HwHiAiUser/.local/lib/python3.9/site-packages/pyperformance/data-files/benchmarks/bm_xml_etree/run_benchmark.py --output /tmp/tmpl3ifzqoj --inherit-environ PYPERFORMANCE_RUNID
.....................
xml_etree_parse: Mean +- std dev: 575 ms +- 4 ms
.....................
xml_etree_iterparse: Mean +- std dev: 460 ms +- 5 ms
.....................
xml_etree_generate: Mean +- std dev: 421 ms +- 6 ms
.....................
xml_etree_process: Mean +- std dev: 340 ms +- 9 ms
# [!code focus:50]
Performance version: 1.11.0
Report on Linux-5.10.0+-aarch64-with-glibc2.35
Number of logical CPUs: 4
Start date: 2024-06-04 19:12:13.216928
End date: 2024-06-04 22:09:04.695813### 2to3 ###
Mean +- std dev: 1.34 sec +- 0.00 sec### async_generators ###
Mean +- std dev: 1.52 sec +- 0.02 sec### async_tree_none ###
Mean +- std dev: 3.18 sec +- 0.16 sec### async_tree_cpu_io_mixed ###
Mean +- std dev: 4.32 sec +- 0.16 sec...
...
...### unpickle_list ###
Mean +- std dev: 15.0 us +- 0.1 us### unpickle_pure_python ###
Mean +- std dev: 1.53 ms +- 0.01 ms### xml_etree_parse ###
Mean +- std dev: 575 ms +- 4 ms### xml_etree_iterparse ###
Mean +- std dev: 460 ms +- 5 ms### xml_etree_generate ###
Mean +- std dev: 421 ms +- 6 ms### xml_etree_process ###
Mean +- std dev: 340 ms +- 9 ms
3.3.3 评价

从上面的 PyPerformance 测试结果中,我们可以观察到一系列不同类型的 Python 任务及其执行时间,这有助于我们评估香橙派「OrangePi AI Pro」的性能特征。这些测试结果覆盖了从 I/O 操作到 CPU 密集型任务的各种场景,以及不同的 Python 功能,如异步编程、数据处理和加密等。

  1. 总体分析:

    1. CPU 密集型任务:

      • 例如,nbody, fannkuch, pidigits,这些涉及大量数学计算和算法逻辑,执行时间在几百毫秒到几秒钟之间。香橙派在处理这些任务时的表现中等偏上,表明其对于教育和一般编程任务足够强大。
    2. 内存和数据处理:

      • 测试如json_dumps, pickle, unpickle 显示较低的延迟(微秒级到毫秒级),这说明香橙派处理较小数据量的序列化和反序列化操作是高效的。
    3. I/O操作:

      • asyncio_tcp, asyncio_tcp_ssl, asyncio_websockets 展示了香橙派处理网络 I/O 的能力。SSL连接较普通TCP连接耗时更长,这可能是由于加密解密操作增加了额外的计算负担。
    4. 异步编程:

      • 测试结果如 async_generators, async_tree_none, async_tree_cpu_io_mixed 表示在处理异步编程时,香橙派可以有效地处理并发任务,尽管在混合型任务中耗时较长。
    5. 文件和文本处理:

      • chameleon, genshi_text, html5lib 等测试涉及HTML和文本的解析,执行速度较快,显示香橙派能够有效处理模板渲染和HTML解析任务。
    6. 科学计算和数值分析:

      • scimark 系列(如 scimark_fft, scimark_lu 等)反映出香橙派在执行科学计算基准测试时的表现。这些测试通常需要较好的CPU和内存性能,结果显示香橙派在此类应用中的适用性较为有限,更适合教育和入门级科学项目。
  2. 结论:

香橙派在我上面测试中表现出了处理各种任务的能力,尤其是在 I/O 操作、轻量级数据处理和一些网络通信任务中表现良好。对于更复杂的科学计算和高密度的 CPU 任务,香橙派的性能可能会受限,但仍足以支持教育和一般编程用途。

目前测试看来,对于预算有限且空间受限的环境,香橙派依然是一个极具价值的选择。

这篇关于香橙派 AIpro 的系统评测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

升级至三频BE12000! 华硕ROG魔盒Pro路由器首发拆解评测

《升级至三频BE12000!华硕ROG魔盒Pro路由器首发拆解评测》华硕前两天推出新一代电竞无线路由器——ROG魔盒Pro(StrixGR7Pro),该产品在无线规格、硬件配置及功能设计上实现全... 作为路由器行业的T1梯队厂商,华硕近期发布了新旗舰华硕ROG魔盒Pro,除了保留DIY属性以外,高达120

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处