本文原文地址:?https://bbs.elecfans.com/jishu_2490618_1_1.html?
作者:@xusiwei1236
本文首先介紹Redis是什么,然后介紹如何在Omni3576上編譯Redis-8.0.2源碼,以及從源碼編譯、安裝Redis,最后介紹如何在Omni3576上運(yùn)行Redis性能測試,并與樹莓派5上的結(jié)果進(jìn)行對比。
一、Redis是什么
維基百科的介紹是:
Redis是一個使用ANSI C編寫的開源、支持網(wǎng)絡(luò)、基于內(nèi)存、分布式、可選持久性的鍵值對存儲數(shù)據(jù)庫。
Redis官網(wǎng)的介紹是:
The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.
數(shù)以百萬計(jì)的開發(fā)人員用作數(shù)據(jù)庫、緩存、流式處理引擎和消息代理的開源內(nèi)存數(shù)據(jù)存儲。
二、源碼編譯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參數(shù)用于指定版本,--depth參數(shù)用于指定只下載一條提交記錄(這樣下載的數(shù)據(jù)更少,耗時更短)。
2.3 編譯Redis源碼
使用如下命令編譯Redis源碼:
make MALLOC=jemalloc -j 4
編譯命令最后輸出如下:

可以看到,最后提示鏈接(LINK)的有三個可執(zhí)行程序,分別為:
redis-server Redis服務(wù)程序,用于提供服務(wù);
redis-benchmark Redis基準(zhǔn)測試程序,用于進(jìn)行性能測試;
redis-cli Redis命令行程序,用于操作Redis服務(wù)中的數(shù)據(jù);
2.4 安裝Redis
使用如下命令將Redis可執(zhí)行程序安裝到系統(tǒng)目錄:
sudo make install
命令輸出如下:

可以看到,前面提到的三個可執(zhí)行程序都安裝了,安裝目錄為/usr/local/bin,可以用which redis-cli命令驗(yàn)證:

三、運(yùn)行Redis基準(zhǔn)測試
3.1 查看redis-server用法
初次使用之前,使用redis-server --help命令,可以查看redis-server命令行選項(xiàng)用法:

3.2 設(shè)置overcommit_memory選項(xiàng)
直接運(yùn)行redis-server --check-system命令,檢查Redis所需系統(tǒng)環(huán)境:

提示必須打開Memory overcommit配置,打開overcommit_memory選項(xiàng),需要執(zhí)行的命令也給出了提示:
sudo sysctl vm.overcommit_memory=1
或者將該配置寫入到配置文件中,重啟之后依然能夠生效:
echo 'vm.overcommit_memory = 1' | sudo tee -a /etc/sysctl.conf
設(shè)置完成后,重啟,再次檢測:

這次全部OK了。
3.3 啟動redis-server
使用redis目錄下的配置文件,啟動redis-server服務(wù):

3.4 查看redis-benchmark用法
使用redis-benchmark --help命令,可以查看redis-benchmark命令行選項(xiàng)用法:


3.5 運(yùn)行redis-benchmark基準(zhǔn)測試
默認(rèn)參數(shù)執(zhí)行redis-benchmark,將會連接到本地主機(jī)的redis服務(wù),并執(zhí)行所有基準(zhǔn)測試用例:

(-q選項(xiàng)僅輸出query/sec,不輸出其他統(tǒng)計(jì)信息)
可以看到大部分命令的QPS(Query per second)能達(dá)到39000多。
3.6 與RK3588-Rock5B測試結(jié)果對比
在RK3588-Rock5B開發(fā)板上,使用同樣的操作,運(yùn)行同樣版本的redis-server和redis-benchmark,得到的測試結(jié)果如下:

可以看到,大部分QPS在79000,成績好于RK3576,主要是內(nèi)存速度更快、Cache更大的原因.
四、本篇總結(jié)
本文首先介紹Redis是什么,然后介紹如何在Omni3576上編譯Redis-8.0.2源碼,以及從源碼編譯、安裝Redis,最后介紹如何在Omni3576上運(yùn)行Redis性能測試,并與樹莓派5上的結(jié)果進(jìn)行對比。Redis單機(jī)基準(zhǔn)測試成績主要取決于CPU、內(nèi)存、緩存的綜合性能。
五、參考鏈接
Redis官網(wǎng):https://redis.io/
Redis源碼倉:https://github.com/redis/redis/
Redis碼云鏡像倉(國內(nèi)下載速度較快):https://gitee.com/mirrors/redis
樹莓派OS鏡像下載頁面:https://www.raspberrypi.com/software/operating-systems/
樹莓派OS啟動分區(qū)config.txt說明:https://www.raspberrypi.com/documentation/computers/config_txt.html
樹莓派OS啟動分區(qū)cmdline.txt說明:Raspberry Pi Documentation - Configuration


聲明:本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請注明以上來源。如需平臺(包括:試用+專欄+企業(yè)號+學(xué)院+APP+技術(shù)直播+三方社區(qū))合作及入群交流,請咨詢15994832713(微信同號),或者發(fā)郵箱liuyong@huaqiu.com,謝謝!
-
源碼
+關(guān)注
關(guān)注
8文章
685瀏覽量
31312 -
性能測試
+關(guān)注
關(guān)注
0文章
236瀏覽量
22366 -
Redis
+關(guān)注
關(guān)注
0文章
392瀏覽量
12182
發(fā)布評論請先 登錄
【新品體驗(yàn)】幸狐Omni3576邊緣計(jì)算套件免費(fèi)試用
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】開箱與系統(tǒng)安裝
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】Debian系統(tǒng)安裝和性能測試
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】資源傳輸與 Home Assistant 連接
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】RKNN 推理測試與圖像識別
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】DeepSeek 部署及測試
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】車牌識別
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】人臉識別
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】測試USB 攝像頭
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】幸狐Omni3576開發(fā)板移植YOLOV10和推理測試
【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】Redis最新8.0.2版本源碼安裝及性能測試
【昉·星光 2 高性能RISC-V單板計(jì)算機(jī)體驗(yàn)】Redis源碼編譯和性能測試以及與樹莓派4B對比
【愛芯派 Pro 開發(fā)板試用體驗(yàn)】Redis源碼編譯和基準(zhǔn)測試
幸狐Omni3576邊緣計(jì)算套件開箱與系統(tǒng)體驗(yàn)
幸狐Omni3576開發(fā)板移植YOLOV10和推理測試
【經(jīng)驗(yàn)分享】在Omni3576上編譯Redis-8.0.2源碼,并安裝及性能測試
評論