前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用vire-benchmark压测Redis及其替代版

使用vire-benchmark压测Redis及其替代版

原创
作者头像
保持热爱奔赴山海
发布2023-11-23 15:47:14
1750
发布2023-11-23 15:47:14
举报
文章被收录于专栏:饮水机管理员饮水机管理员

选择vire-benchmark而不是redis-benckmark,是因为vire-benchmark支持多并发压测。

vire-benchmark 是vire里面带的工具

源码仓库:https://github.com/vipshop/vire/tree/master

编译的方法参考git上就行,make后,会生成 vire 文件,此外在 tests目录下还有3个二进制文件( viretest、 vireabtest 、vire-benchmark)生成。

下面是我在本机二进制或者docker-compose方式启动的3个kv实例:

redis7 端口 6379 (本机二进制部署)

keydb6.3.0 端口 6389 (本机docker部署)

dragonfly latest 端口 6499 (本机docker部署)

下面只压测了最常见的几种操作指令

(因为压测工具和被压实例都部署在一台机器上,所以下面的指标仅供参考,正式压测请分开独立部署)

代码语言:javascript
复制
压测redis7
$ ./vire-benchmark -h 192.168.31.181 -p 6379 -n 100000 -c 100 -T 16 -t set,get,hset,hget | egrep "====|requests"
        ====== SET ======
        100000 requests completed in 2.49 seconds
        40080.16 requests per second
        ====== GET ======
        100000 requests completed in 2.41 seconds
        41476.57 requests per second
        ====== HSET ======
        100000 requests completed in 2.62 seconds
        38109.75 requests per second
        ====== HGET ======
        100000 requests completed in 2.60 seconds
        38491.14 requests per second

压测keydb6.3
$ ./vire-benchmark -h 192.168.31.181 -p 6389 -n 100000 -c 100 -T 16 -t set,get,hset,hget | egrep "====|requests"
        ====== SET ======
        100000 requests completed in 1.67 seconds
        59952.04 requests per second
        ====== GET ======
        100000 requests completed in 1.62 seconds
        61538.46 requests per second
        ====== HSET ======
        100000 requests completed in 1.76 seconds
        56947.61 requests per second
        ====== HGET ======
        100000 requests completed in 1.68 seconds
        59488.40 requests per second

压测dragonfly
$ ./vire-benchmark -h 192.168.31.181 -p 6499 -n 100000 -c 100 -T 16 -t set,get,hset,hget | egrep "====|requests"
        ====== SET ======
        100000 requests completed in 0.93 seconds
        107296.14 requests per second
        ====== GET ======
        100000 requests completed in 0.86 seconds
        116279.07 requests per second
        ====== HSET ======
        100000 requests completed in 0.94 seconds
        106837.61 requests per second
        ====== HGET ======
        100000 requests completed in 0.87 seconds
        115606.94 requests per second

可以看到dragonfly的性能最强,主要是因为它原生的多线程, keydb也是多线程模式(keydb 6.3.0 在我压测过程中出现内存bug自动重启了)。而这里redis测出来最弱是因为单机的,对此redis官方也发过博客提到这个测试的不公平性。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com