【经验分享】在Omni3576上编译Redis-8.0.2源码,并安装及性能测试

描述

本文原文地址:‍https://bbs.elecfans.com/jishu_2490618_1_1.html‍

作者:@xusiwei1236

 

 

本文首先介绍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
 

编译命令最后输出如下:

Redis

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

redis-server Redis服务程序,用于提供服务;

redis-benchmark Redis基准测试程序,用于进行性能测试;

redis-cli Redis命令行程序,用于操作Redis服务中的数据;

2.4 安装Redis

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

sudo make install
 

命令输出如下:

Redis

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

Redis

三、运行Redis基准测试

3.1 查看redis-server用法

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

Redis

3.2 设置overcommit_memory选项

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

Redis

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

sudo sysctl vm.overcommit_memory=1
 

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

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

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

Redis

这次全部OK了。

3.3 启动redis-server

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

Redis

3.4 查看redis-benchmark用法

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

Redis

Redis

3.5 运行redis-benchmark基准测试

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

Redis

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

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

3.6 与RK3588-Rock5B测试结果对比

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

Redis

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

四、本篇总结

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

五、参考链接

Redis官网: https://redis.io/

Redis源码仓: https://github.com/redis/redis/

Redis码云镜像仓(国内下载速度较快): https://gitee.com/mirrors/redis

树莓派OS镜像下载页面: https://www.raspberrypi.com/software/operating-systems/

树莓派OS启动分区config.txt说明:https://www.raspberrypi.com/documentation/computers/config_txt.html

树莓派OS启动分区cmdline.txt说明: Raspberry Pi Documentation - Configuration

 

 



Redis

Redis

声明:本文由电子发烧友社区发布,转载请注明以上来源。如需平台(包括:试用+专栏+企业号+学院+APP+技术直播+三方社区)合作及入群交流,请咨询15994832713(微信同号),或者发邮箱liuyong@huaqiu.com,谢谢!

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分