Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >redis替代品:ssdb性能压测实战~

redis替代品:ssdb性能压测实战~

作者头像
测试开发囤货
发布于 2021-08-11 07:20:02
发布于 2021-08-11 07:20:02
2.6K00
代码可运行
举报
文章被收录于专栏:测试开发囤货测试开发囤货
运行总次数:0
代码可运行

背景

因业务需要,需要将redis换成ssdb,我们需要做一次压测,对两个数据库做一个简单的性能测试对比。

  • ssdb,它的特点是基于文件存储系统所以它支撑量大的数据而不因为内存的限制约束.从官网的测试报告来看其性能也非常出色和redis相当,因此可以使用它来代替redis来进行k-v数据业务的处理.

实施

  • 幸好ssdb是兼容redis的部份协议,所以直接用redis client库就可以进行一个压力测试.以于针对Redis和ssdb的几个读操做,进行一个简单的性能测试对比,这个测试不是直接在本机调用Redis和ssdb. 而是通过一个程序在别的服务器上调用.测试指令(get,hget,lregion)以下是测试过程。
  • 压测: 使用自带的redis-benchmark工具,使用简单。

参考资料

「一个高性能的支持丰富数据结构NoSQL 数据库, 用于替代 Redis.」

  • https://ssdb.io/docs/zh_cn/commands/index.html

安装SSDB

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
unzip master
cd ssdb-master
make
# optional, install ssdb in /usr/local/ssdb
sudo make install

启动SSDB

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# start master
./ssdb-server ssdb.conf

# or start as daemon
./ssdb-server -d ssdb.conf

开始压测

  • 使用自带的redis-benchmark工具,使用简单。
  • 压测需要一段时间,因为它需要依次压测多个命令的结果,如:get、set、incr、lpush等等,所以我们需要耐心等待
  • 全量压测命令
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000
  • 全量压测结果
  • 如果只需要压测某个命令,如:get,那么可以在以上的命令后加一个参数-t:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -t get
  • 如果只需要压测某个命令,如:set
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -t set

汇总压测

  • 这样看起来数据很多,如果我们只想看最终的结果,可以带上参数-q,完整的命令如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -q

结论

  • 性能数据使用 redis-benchmark(Redis) 来获取.
  • 以上测试结果仅仅是一些情况下的性能测试对比,不能完全表述出两者在应用的差距的结果,如果需要用到这些产品的同学不防在实施前进行一些测试为实施选择提供一个更可靠的结果.

关注「测试开发囤货」公众号回复「AI」,送你一套 Python机器学习 电子书。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SSDB 状态详解(1)
SSDB 是一个高性能支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis
franket
2021/10/19
6960
高性能NoSql数据库 SSDB
今天在看一个开源项目的时候,发现作者使用一个ssdb的数据库,第一反应是ssd硬盘,当时很诧异。后面了解后才知道,原来是 nosql数据库。 ssdb介绍 一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis. SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sorted set) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据.SSDB 具有和 Redis 相似的 API,
若与
2018/04/25
2.2K0
高性能NoSql数据库 SSDB
让Redis突破内存大小的限制
Redis虽然可以实现持久化存储,也是基于数据内存模型的基础之上,单机内存大小限制着Redis存储的数据量,有没有一种替代方案呢?本文介绍一款笔者使用的采用New BSD License 许可协议的软件——SSDB。
MavenTalker
2019/07/19
2.1K0
让Redis突破内存大小的限制
SSDB:高性能数据库服务器
SSDB是一个开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 作为Redis的替代方案. 因为SSDB的最初目的是替代Redis, 所以SSDB会经常和Redis进行比较. 我们知道, Redis是经常的”主-从”架构, 虽然可以得到负载均衡以及数据跨地域备份的功能, 但无法实现高可用性. 考虑这种情况, Redis的主和从分别在两个IDC机房, 当主所在的机房出现故
张善友
2018/01/29
3.3K0
Linux下Redis主从复制以及SSDB主主复制环境部署记录
前面的文章已经介绍了redis作为缓存数据库的说明,本文主要说下redis主从复制及集群管理配置的操作记录: Redis主从复制(目前redis仅支持主从复制模式,可以支持在线备份、读写分离等功能。) 1)Redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master),一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动 将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数
洗尽了浮华
2018/01/22
2.4K0
Linux下Redis主从复制以及SSDB主主复制环境部署记录
SSDB基础
ssdb 是一个高性能支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.
franket
2022/04/23
1.2K0
如何迁移SSDB数据到Tendis解决方案
SSDB是一个高性能的KV存储数据库,个人开发作品,已开源。凭借其兼容redis协议、支持数据硬盘存储、简单易用等特性在业界有一定知名度。SSDB主要解决场景是Redis的存储问题,底层基于LevelDB作存储,可以大幅降低数据存储成本,具体产品介绍可查看其官网介绍。
温球良
2020/09/29
2.8K2
如何迁移SSDB数据到Tendis解决方案
SSDB 状态详解(3)
数据库预估的大小(可能和硬盘占用差异非常大) . 如果服务器开启了压缩, 这个大小是压缩后的大小
franket
2021/10/19
8010
Redis安装及Ubuntu 14.04下搭建ssdb主从环境
在工作中接触到了redis,Redis是一个非常高效的key-value的数据库,在项目中广泛使用,但是redis很明显的缺点是对于内存的处理,在项目上线之初,必须对内存规划合理,否则很容易出现内存爆了的现象,一般较合理的内存大小为电脑物理内存的3/5。
星哥玩云
2022/07/01
3430
Redis安装及Ubuntu 14.04下搭建ssdb主从环境
SSDB安装配置记录
目录[-] SSDB的性能很突出,与Redis基本相当了,Redis是内存型,容量问题是弱项,并且内存成本太高,SSDB针对这个弱点,使用硬盘存储,使用Google高性能的存储引擎LevelDB,适合大数据量处理并把性能优化到Redis级别,具有Redis的数据结构、兼容Redis客户端,还给出了从Redis迁移到SSDB的方案。 本文是将我安装和测试的步骤记录下来,总结成文档,便于日后使用。 1、编译安装 照着官方的教程下载安装: 下载: wget --no-check-certificate
jhao104
2018/03/20
1.5K0
redis性能测试压测方案
Redis 之父 Salvatore 就说过:“通过执行GET/SET命令来测试Redis就像在雨天检测法拉利的雨刷清洁镜子的效果”。 很多时候人们跑到我这里,他们想知道为什么自己的Redis-Benchmark统计的结果低于最优结果 。 但我们必须要把各种不同的真实情况考虑进来,例如:
summerking
2022/09/19
7350
Redis 性能测试
[root@localhost ~]# redis-benchmark -n 10000 -q
子润先生
2021/07/02
8800
Redis压测
默认情况下,每个客户端都是在一个请求完成之后才发送下一个请求 (benchmark 会模拟 50 个客户端除非使用 -c 指定特别的数量), 这意味着服务器几乎是按顺序读取每个客户端的命令。Also RTT is payed as well.
iginkgo18
2021/06/21
1.8K0
Redis压测工具(redis-benchmark)
Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。(类似于 Apache ab 程序)。
wangmcn
2022/07/26
1.8K0
Redis压测工具(redis-benchmark)
Redis 性能优化
【1】ulimit 与 TCP backlog:1)、修改 ulimit:通过 ulimit 修改 open files 参数,redis 建议把 open files 至少设置成 10032,因为 maxclients 是10000 [客户端的数据是以文件的形式进行保存的] ,另外 redis 内部最多会使用 32 个文件描述符。
Java架构师必看
2021/04/25
1.8K0
Redis 性能优化
Redis-性能测试(redis-benchmark)
redis-benchmark是官方自带的性能测试工具,我们可以设置相关参数进行性能测试。
唔仄lo咚锵
2020/09/15
1.3K0
Redis 性能测试
特殊说明: 解决问题的光鲜,藏着磕Bug的痛苦。 万物皆入轮回,谁也躲不掉! 以上文章,均是我实际操作,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,请勿直接盗用!
收心
2022/01/19
6450
Redis 性能测试
《快学BigData》--Redis 总结(G)(32)
Redis 的消息订阅/发布(pub/sub)是一种消息的模型,Redis客户端可以订阅任意数量级的频道,一旦某频道接收到消息时,订阅他的客户端就会收到信息,接下来演示一下实例:
小徐
2023/03/06
2680
《快学BigData》--Redis 总结(G)(32)
Redis(二):Redis入门与性能测试
Redis是什么: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 免费开源!最热门的NoSQL技术之一!
栗筝i
2022/12/01
5700
Redis(二):Redis入门与性能测试
Redis学习(二)----性能测试
redis-benchmark 是 redis 官方自带的性能测试软件,通过指定参数进行测试
RAIN7
2022/09/26
3610
相关推荐
SSDB 状态详解(1)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验