数据库
首页 > 数据库> > tendis安装教程 与 redis VS tendis(持续更新)

tendis安装教程 与 redis VS tendis(持续更新)

作者:互联网

前言

tendis是腾讯互娱根据redis改写的一个磁盘存储nosql
简单一句话总结redis和tendis就是,redis是存在内存,tendis存在磁盘,其他的啥操作、一致性协议那些基本一样


关于redis的安装配置网上一堆,不写了


tendis安装教程

github链接:https://github.com/Tencent/Tendis

切换gcc版本

tendis目前我还没找到有可用的软件元可以直接yum,只好乖乖地编译源码了
编译配置需要

g++ (required by c++17, version >= 5.5)
cmake (version >= 3.13.0

gcc如果本身就有了,可以用下面的代码来切换

yum -y install centos-release-scl     #Software Collections
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash     #切换当前gcc版本,仅仅可以在当前shell切换
下载并编译
git clone https://github.com/Tencent/tendis.git --recursive
git submodule update --init --recursive
mkdir bulid
cd build && cmake ..
make -j12

进入到tendis目录,运行tendis服务

./build/bin/tendisplus tendisplus.conf
如何运行?
  1. tendis几乎99.9%完美兼容redis,几乎可以使用所有redis的操作命令,只是tendis将数据从内存放到磁盘,以rocksDB作为存储引擎
  2. 配置位于./tendisplus.conf
  3. 运行tendis跟运行redis一毛一样,直接用redis-cli就可以,注意端口就好

运行

redis-cli -p 51002

运行后,可以结合pgrep、top,根据进程名查看进程的cpu情况, io同理

top -p $(pgrep -f -d, redis-benchmark)

利用redis-benchmark测试性能

参数说明如下:
在这里插入图片描述
主要测试的命令为lpush和rpop
tendis的测试目录在 ./tendis/performance_test_tools/tool, 测试tendis性能需使用到里面官方重新编译过的redis-benchmark。我测试主要使用的命令

./redis-benchmark -p 51002 -n 1000000 -c 600 -t rpop -d 100 -q -l
./redis-benchmark -p 51002 -n 1000000 -c 600 -t plush -d 100 -q -l
测试结果如图,配置什么的都在图里

在这里插入图片描述

测试结果总结

  1. redis毫无疑问关闭两个持久化后,读写主进程都是撑的满满的,IO永远是蛋蛋
  2. tendis的测试我以为IO会被撑得很大,然而并没有,不知道腾讯云的IO太强大还是我的配置没弄好,唉,有时间在自己虚拟机试试看,这个测试结果真的出乎我意料了

未解问题

  1. redis-server我一直以为是单线程的,原来还有这么多服务线程,当时直接top命令时cpu占比都是200到300之间的,一用 top -H查看才看到这么鬼多线程,看来还得研究下源码。。。。。。
    在这里插入图片描述

标签:gcc,devtoolset,redis,benchmark,tendis,VS,测试
来源: https://blog.csdn.net/weixin_43111232/article/details/116561418