瑞芯微Rockchip开发者社区
直播中

xusiwei1236

13年用户 192经验值
擅长:嵌入式技术
私信 关注
[讨论]

【幸狐Omni3576边缘计算套件试用体验】Redis最新8.0.2版本源码安装及性能测试

本文首先介绍Redis是什么,然后介绍如何在Omni3576上编译Redis-8.0.2源码,以及从源码编译、安装Redis,最后介绍如何在Omni3576上运行Redis性能测试,并与树莓派5上的结果进行对比。

一、Redis是什么

维基百科的介绍是:

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。

Redis官网的介绍是:

The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.

数以百万计的开发人员用作数据库、缓存、流式处理引擎和消息代理的开源内存数据存储。

二、源码编译Redis

2.1 安装git和编译工具链

# 安装 git 和编译工具链
sudo apt  install git build-essential

2.2 下载Redis源码

安装完git之后,就可以使用git下载Redis源码了:

git clone https://github.com/redis/redis.git -b 8.0.2 --depth=1

其中,-b参数用于指定版本,--depth参数用于指定只下载一条提交记录(这样下载的数据更少,耗时更短)。

2.3 编译Redis源码

使用如下命令编译Redis源码:

make MALLOC=jemalloc -j 4

编译命令最后输出如下:

image-20250603004118939.png

可以看到,最后提示链接(LINK)的有三个可执行程序,分别为:

  • redis-server Redis服务程序,用于提供服务;
  • redis-benchmark Redis基准测试程序,用于进行性能测试;
  • redis-cli Redis命令行程序,用于操作Redis服务中的数据;

2.4 安装Redis

使用如下命令将Redis可执行程序安装到系统目录:

sudo make install

命令输出如下:

image-20250603004145415.png

可以看到,前面提到的三个可执行程序都安装了,安装目录为/usr/local/bin,可以用which redis-cli命令验证:

image-20250603003434050.png

三、运行Redis基准测试

3.1 查看redis-server用法

初次使用之前,使用redis-server --help命令,可以查看redis-server命令行选项用法:

image-20250603003523481.png

3.2 设置overcommit_memory选项

直接运行redis-server --check-system命令,检查Redis所需系统环境:

image-20250603004331991.png

提示必须打开Memory overcommit配置,打开overcommit_memory选项,需要执行的命令也给出了提示:

sudo sysctl vm.overcommit_memory=1

或者将该配置写入到配置文件中,重启之后依然能够生效:

echo 'vm.overcommit_memory = 1' | sudo tee -a /etc/sysctl.conf

设置完成后,重启,再次检测:

image-20250603003907263.png

这次全部OK了。

3.3 启动redis-server

使用redis目录下的配置文件,启动redis-server服务:

image-20250603004446695.png

3.4 查看redis-benchmark用法

使用redis-benchmark --help命令,可以查看redis-benchmark命令行选项用法:

image-20250603004608836.png

image-20250603004722393.png

3.5 运行redis-benchmark基准测试

默认参数执行redis-benchmark,将会连接到本地主机的redis服务,并执行所有基准测试用例:

image-20250603011255745.png

(-q选项仅输出query/sec,不输出其他统计信息)

可以看到大部分命令的QPS(Query per second)能达到39000多。

3.6 与RK3588-Rock5B测试结果对比

在RK3588-Rock5B开发板上,使用同样的操作,运行同样版本的redis-server和redis-benchmark,得到的测试结果如下:

image-20250603011626270.png

可以看到,大部分QPS在79000,成绩好于RK3576,主要是内存速度更快、Cache更大的原因.

四、本篇总结

本文首先介绍Redis是什么,然后介绍如何在Omni3576上编译Redis-8.0.2源码,以及从源码编译、安装Redis,最后介绍如何在Omni3576上运行Redis性能测试,并与树莓派5上的结果进行对比。Redis单机基准测试成绩主要取决于CPU、内存、缓存的综合性能。

五、参考链接

  1. Redis官网: https://redis.io/
  2. Redis源码仓: https://github.com/redis/redis/
  3. Redis码云镜像仓(国内下载速度较快): https://gitee.com/mirrors/redis
  4. 树莓派OS镜像下载页面: https://www.raspberrypi.com/software/operating-systems/
  5. 树莓派OS启动分区config.txt说明:https://www.raspberrypi.com/documentation/computers/config_txt.html
  6. 树莓派OS启动分区cmdline.txt说明: Raspberry Pi Documentation - Configuration

更多回帖

发帖
×
20
完善资料,
赚取积分