文档背景:公司计划使用keydb应用在实际项目中.在centos服务器中安装测试集群部署
文档目的:让更多的开发快速完成相关工作,不踩坑!
keydb的用途,与redis之间的联系,在这里不做过多的阐述.
正文:
docker安装:
docker pull eqalpha/keydb
docker启动镜像:
docker run --name mykeydb -d eqalpha/keydb -p 6380:6380
查看docker IP:
docker inspect --format '{{ .NetworkSettings.IPAddress }}
启动客户端命令:
docker run -it --rm eqalpha/keydb keydb-cli -h 172.17.0.2 -p 6379
查看docker命令:
docker ps
查看docker中keydb配置文件:
docker exec -it 5eb1958d4ccb /etc/keydb
rpm安装命令
wget https://download.keydb.dev/pkg/open_source/rpm/centos7/x86_64/keydb-latest-1.el7.x86_64.rpm --no-check-certificate
sudo yum install ./keydb-latest-1.el7.x86_64.rpm
冲突卸载:
yum -y remove redis-5.0.3-1.el7.remi.x86_64
启动服务:
sudo service keydb start
查看服务状态:
sudo service keydb status
安装memtier_benchmark
1、安装基础插件
yum install -y autoconf
yum install -y automake
yum install -y make
yum install -y gcc-c++
yum install -y git
2、安装需要的依赖库
yum install -y pcre-devel
yum install -y zlib-devel
yum install -y libmemcached-devel
yum install -y openssl-devel
3、安装libevent库
yum install -y libevent-devel
4、下载、编译、安装memtier_benchmark的库
mkdir /memtier #根目录下创建文件夹,用于下载memtier_benchmark
cd /memtier
git clone https://github.com/RedisLabs/memtier_benchmark.git #下载memtier_benchmark源码
cd memtier_benchmark #进入源码目录
autoreconf -ivf
./configure
make #编译生成可执行文件memtier_benchmark
make install #安装到系统中
5、运行帮助命令查看是否安装成功
memtier_benchmark --help
keydb 性能压测
本次使用两台服务器
(1)10.0.12.77
(2)10.0.12.78
测试1:请求数set命令
memtier_benchmark -s 127.0.0.1 -p 6379 -t 4 -c 100 -n 200000 --hide-histogram --distinct-client-seed --command="set __key__ __data__" --key-prefix="kv_" --key-minimum=1 --key-maximum=10000 -R -d 128
结果:
(1)如下图
写入 ops 27.1w/s 4.4w kb/s
(2)如下图
写入 ops 26.7w/s 4.3w kb/s
测试2:mset命令请求
memtier_benchmark -s 127.0.0.1 -p 6379 -t 4 -c 100 -n 200000 --hide-histogram --distinct-client-seed --command="mset __key__ __data__" --key-prefix="kv_" --key-minimum=1 --key-maximum=10000 --hide-histogram -R -d 128
结果:
(1)如下图:
写入 ops 15.3w/s 2.5w kb/s
(2)如下图:
写入 ops 15.1w/s 2.5w kb/s
测试3:使用管道根据时间段测试
memtier_benchmark -s 127.0.0.1 -p 6379 -t 4 -c 100 -d 128 --test-time=120 --key-minimum=1 --key-maximum=200000000 --ratio 1:0 --key-pattern=P:P --pipeline=20 --hide-histogram
结果:
(1)如下图:
写入 ops 32w/s 5.5w kb/s
(2)如下图:
写入 ops 32w/s 5.5kb/s
测试4:使用管道 根据请求数测试
memtier_benchmark -s 127.0.0.1 -p 6379 -t 4 -c 100 -d 128 -n 200000 --key-minimum=1 --key-maximum=200000000 --ratio 1:0 --key-pattern=P:P --pipeline=20 --hide-histogram
结果:
(1)如下图:
连续测两次
平均 写入 ops 43w/s 7.5w kb/s
(2)如下图:
连续测两次
平均 ops43w/s 7.5w kb/s
测试5: 使用管道使用命令
memtier_benchmark -s 127.0.0.1 -p 6379 -t 4 -c 100 -n 200000 --hide-histogram --pipeline=20 --distinct-client-seed --command="set __key__ __data__" --key-prefix="kv_" --key-minimum=1 --key-maximum=10000 -R -d 128
结果:
(1)如下图:
写入 ops 61w/s 10w kb/s
(2)如下图:
写入 ops 60w/s 9.7w kb/s