本文首先介绍Redis是什么,然后介绍如何在VisionFive2上编译Redis源码,以及从源码安装Redis,最后介绍如何在VisionFive2上运行Redis基准测试,并在树莓派4B上运行同一版本的Redis服务和Redis基准测试。测试结果显示,VisionFive2上Redis性能明显由于树莓派4B,这一定程度上说明——VisionFive2的CPU、内存综合性能优于树莓派4B。
维基百科的介绍是:
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.
数以百万计的开发人员用作数据库、缓存、流式处理引擎和消息代理的开源内存数据存储。
VisionFive官方维护了Debian版本的镜像,基本上每个月都会发布新版本。
国内使用Debian更新,需要修改apt软件源,可以在debian官网找到国内镜像:
https://www.debian.org/mirror/list.zh-cn.html
例如,我找到的:
http://ftp.cn.debian.org/debian/
可以将原来 /etc/apt/source.list 文件中的链接全部替换为 http://ftp.cn.debian.org/debian/
之后,再使用 apt update 更新本地包索引,下次 apt install 速度就会更快了。
# 安装 git 和编译工具链
sudo apt install git build-essential
安装完git之后,就可以使用git下载Redis源码了:
git clone https://github.com/redis/redis.git
下载完成后,使用如下命令切换到稳定版本的tag,例如最近的 7.2.3:
git checkout 7.2.3
使用如下命令编译Redis源码:
make MALLOC=jemalloc -j 4
编译命令最后输出如下:

可以看到,最后提示链接(LINK)的有三个可执行程序,分别为:
使用如下命令将Redis可执行程序安装到系统目录:
sudo make install
命令输出如下:

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

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

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

提示打开overcommit_memory选项,需要执行:
sysctl vm.overcommit_memory=1
或者将该配置写入到配置文件中,重启之后依然能够生效:
echo 'vm.overcommit_memory = 1' | sudo tee -a /etc/sysctl.conf
使用redis目录下的配置文件,启动redis-server服务:

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


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

(-q选项进输出query/sec,不输出其他统计信息)
可以看到大部分命令的QPS(Query per second)能达到26000左右。
如果需要单独测试一个测试用例,则可以通过-t选项指定。
测试set命令100000次,使用命令:
redis-benchmark -t set -n 100000
输出结果为:


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

可以看到,大部分QPS在16000,显著低于VisionFive2的26000左右。
Redis基准测试成绩主要取决于CPU、内存、缓存的综合性能,VisionFive2成绩高于树莓派4B,说明在CPU、内存、缓存综合性能方面VisionFive2并不比树莓派4B差。
更多回帖