内容简介:Scylladb 性能测试
看到标题相信大部分同学会对scylladb这个名字比较陌生,先来简单介绍下:ScyllaDB 是用 C++ 重写的 Cassandra,官方称拥有比 Cassandra 多10x 倍的吞吐量,并降低了延迟,是性能优异的 NoSQL 列存储数据库,和hbase一样都源自Google三驾马车之一的Bigtable。如果对Cassandra也比较陌生,有兴趣可以自行补下相关的知识,这里不做展开。来张图谱:
scylladb的官方提供了和cassandra性能对比的压测结果—— http://www.scylladb.com/product/benchmarks/ycsb-cluster-benchmark/
呵呵,试问吹牛逼技术哪家强? 带着疑问和好奇,DBA组也进行了一番自测。 首先需要声明一下:压测的 工具 同样是YCSB,不过我们测的是 docker 中的单节点,硬件系统也和官方有差距,压测的指标和官方的有出入是正常的。
首先看下我们的服务器硬件
- 数据库服务器类型:Dell Inc.; PowerEdge R630; vNot Specified (Rack Mount Chassis)
- CPU:20xIntel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz RAM:64 GB
- 网络:2000Mb/s
- 系统磁盘:1T SSD
- 操作系统:CentOS Linux release 7.3.1611 (Core)
- 内核版本:3.10.0-327.el7.x86_64
- docker容器版本:Docker version 17.05.0-ce, build 89658be
- 数据库镜像版本:scylladb 1.7.0-0.20170519.25607ab对应Cassandra 2.2.8
YCSB客户端加载程序硬件
- 服务器类型:Dell Inc.; PowerEdge R630; vNot Specified (Rack Mount Chassis)
- CPU:48xIntel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz
- RAM:96 GB
- 网络:2000Mb/s
- 操作系统:CentOS release 6.7 (Final)
- 内核版本:2.6.32-573.el6.x86_64
- YCSB版本:ycsb-0.12.0
下面是我们每次迭代的基准测试步骤:
- 1.停止集群。
- 2.通过删除所有数据文件和提交日志清除数据库状态。
- 3.使用命令清除OS缓存: echo 1 > /proc/sys/vm/drop_caches
- 4.启动集群。
- 5.创建YCSB密钥空间和表用户表。
- 6.在用户表中插入1000万行。
- 7.运行OPS加载。
每个步骤对应执行的命令如下:
- 1.docker stop scylla1
- 2.rm -rf scylla/ && mkdir -p /data/scylla/scylla1/data /data/scylla/scylla1/commitlog
- 3.echo 1 > /proc/sys/vm/drop_caches
- 4.docker run --rm -p 10.10.10.36:9042:9042 --name scylla1 --volume /data/scylla/scylla1:/var/lib/scylla -d scylladb/scylla
- 5.create keyspace ycsb WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication
factor': 1 }; USE ycsb;
create table usertable (
y
id varchar primary key, field0 varchar, field1 varchar, field2 varchar, field3 varchar, field4 varchar, field5 varchar, field6 varchar, field7 varchar, field8 varchar, field9 varchar); - 6.bin/ycsb load cassandra-cql -P workloads/workload* -P cassandra.properties -s -threads 100
- 7.bin/ycsb run cassandra-cql -P workloads/workload* -P cassandra.properties -s -threads 100 >> ./results/workload*.log
结果:
1000w数据量最终存储的结果有7.4G;
结论:单节点未开启dpdk模式就能达到如此高吞吐量,同时提供低延迟,非常不错,很有深入调研的价值。
注:第一次使用Markdown写文章,非常有挫折感,不愧是给技术中心使用的。。。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 微服务测试之性能测试
- Go 单元测试和性能测试
- 性能测试vs压力测试vs负载测试
- SpringBoot | 第十三章:测试相关(单元测试、性能测试)
- Golang 性能测试 (2) 性能分析
- 随行付微服务测试之性能测试 原 荐
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。