valkey的部署學習
背景
因為Redis labs說自己被大廠薅羊毛薅的太猛了.
所以修改了 Redis 的開源協議.
並且收回了很多外部commiter的提交許可權.
導致開源社群很混亂.
Linux基金會基於這種修改行為.
自己fork了redis 7.2.4的分支建立了
valkey 7.2.5 的版本
又是一出 mariadb和mysql應分支的故事.
所以想總結和簡單測試一下. valkey的使用.
下載與編譯
https://github.com/valkey-io/valkey
直接release 下載就可以了.
安裝方式也很簡單.
編譯
tar -zxvf valkey-7.2.5.tar.gz
cd valkey-7.2.5
make 就可以安裝了.
可以複製部分檔案過去.
命令為:
mkdir -p /opt/redis/
然後再當前目錄下執行.
for i in `find -iname valkey-* |egrep -v "c$|d$|o$|tcl$"`; do scp $i /opt/redis/ ; done
scp valkey.conf /opt/redis/
安裝與簡單驗證
./valkey-server valkey.conf
2969729:C 18 Apr 2024 11:14:10.969 # WARNING Memory overcommit must be enabled! Without it,
a background save or replication may fail under low memory condition.
Being disabled, it can also cause failures without low memory condition, s
ee https://github.com/jemalloc/jemalloc/issues/1328.
To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf
and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2969729:C 18 Apr 2024 11:14:10.970 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo
2969729:C 18 Apr 2024 11:14:10.970 * Valkey version=7.2.5, bits=64, commit=00000000, modified=0, pid=2969729, just started
2969729:C 18 Apr 2024 11:14:10.970 * Configuration loaded
2969729:M 18 Apr 2024 11:14:10.970 * monotonic clock: POSIX clock_gettime
.+^+.
.+#########+.
.+########+########+. Valkey 7.2.5 (00000000/0) 64 bit
.+########+' '+########+.
.########+' .+. '+########. Running in standalone mode
|####+' .+#######+. '+####| Port: 6379
|###| .+###############+. |###| PID: 2969729
|###| |#####*'' ''*#####| |###|
|###| |####' .-. '####| |###|
|###| |###( (@@@) )###| |###| https://valkey.io
|###| |####. '-' .####| |###|
|###| |#####*. .*#####| |###|
|###| '+#####| |#####+' |###|
|####+. +##| |#+' .+####|
'#######+ |##| .+########'
'+###| |##| .+########+'
'| |####+########+'
+#########+'
'+v+'
2969729:M 18 Apr 2024 11:14:10.970 # Warning: Could not create server TCP listening socket 127.0.0.1:6379: bind: Address already in use
2969729:M 18 Apr 2024 11:14:10.970 # Failed listening on port 6379 (tcp), aborting.
說明
跟redis完全一樣.. 埠和提示資訊也一樣..
關了redis之後再使用.
效能比較
伺服器資訊:
Neoverse-N1
2c/8g的虛擬機器. 阿里雲
Redis版本 7.2.3
valkey版本 7.2.5
編譯時間:
redis: 2m0.873s
valkey:2m0.984s
簡單效能對比
全部使用預設值,不做調優進行驗證.
benchmark
./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 20 -q
簡單簡單指令 Redis效能比較好
複雜一點的指令 valkey的比較好一些.
總體來說 valkey 比微軟的哪個靠譜多了..那個我們的應用啟動都啟動不起來
benchmark結果
型別 |
PING |
SET |
GET |
INCR |
HSET |
MSET |
Redis7.2.3 |
164203 |
162074 |
164203 |
162866 |
160771 |
143884 |
valkey7.2.5 |
162601 |
161030 |
162337 |
164203 |
162074 |
150375 |