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
如何运行?
- tendis几乎99.9%完美兼容redis,几乎可以使用所有redis的操作命令,只是tendis将数据从内存放到磁盘,以rocksDB作为存储引擎
- 配置位于./tendisplus.conf
- 运行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
测试结果如图,配置什么的都在图里
测试结果总结
- redis毫无疑问关闭两个持久化后,读写主进程都是撑的满满的,IO永远是蛋蛋
- tendis的测试我以为IO会被撑得很大,然而并没有,不知道腾讯云的IO太强大还是我的配置没弄好,唉,有时间在自己虚拟机试试看,这个测试结果真的出乎我意料了
未解问题
- redis-server我一直以为是单线程的,原来还有这么多服务线程,当时直接top命令时cpu占比都是200到300之间的,一用 top -H查看才看到这么鬼多线程,看来还得研究下源码。。。。。。
标签:gcc,devtoolset,redis,benchmark,tendis,VS,测试 来源: https://blog.csdn.net/weixin_43111232/article/details/116561418