KunlunBase 0.9.1 版本 Sysbench 性能测试报告
概述
kunlun-0.9.1 的性能测试主要使用 Sysbench 进行,分为 oltp 测试和 olap 测试两大部分。
对于 oltp 测试,主要包含 4 种操作:read&write、write only、update_non_index、update_index,测试目的主要是检查新推出的强一致性模式(rbr),对比 MySQL 的官方强一致性方案(mgr)性能有多大提升。由于网络不是瓶颈,主要在内网的机器中进行。
对于 olap 测试,则主要包含: point select、simple range select、sum range select, order by range select、distinct range select,主要在 AWS EC2 的机器上运行,因为某些 select 操作对网络要求很高,少量操作就能用满千兆网,需要万兆网才能测出最好性能。另一目的则是衡量 AWS 上不同配置的性能价格比。
oltp 测试
基本配置情况
本测试分为 2 个部分:
rbr: 使用 RBR 复制模式构建的集群,此为企业版独有。
mgr: 使用 MGR 复制模式构建的集群,此为开源版和企业版都有。
客户端: 测试客户端使用一台 AMD Ryzen 9 5950X + 64GB 内存的机器,其上部署 sysbench 以及 HAProxy, sysbench 将请求发往 HAProxy, HAProxy 将请求发往三个计算节点。
数据:总共为 18 个表,每个表 1000 万记录,总数据量为 36G,分到 3 个 Shard 里面,数据在 shard 间均匀分布,每个 shard 含有 6 个表,12G。
集群配置:集群使用三台机器,且做对等部署, 每台机器上部署一个元数据节点,一个计算节点, 一个 shard 的 primary 和另外两个 shards 的 replicas,三台机器配置为:
§ AMD Ryzen 9 5950X + 64G + 1TB SSD
§ AMD Ryzen 9 5950X + 128GB + 1TB SSD
§ AMD Ryzen 9 5950X + 128GB + 1TB SSD
缓存命中率: 每个数据节点 innodb_buffer_pool_size 为 12G,meta node 的 innodb_buffer_pool_size 为 512MB,缓存命中 100%,计算节点使用默认的内存配置。
测试情况:
测试线程为:300 400 500 600 700 800 900 1000。
总共测试四种操作:read&write、write only、update_non_index、update_index。
每个线程下每个操作运行时间为 5 分钟。
测试结果
总体结果:
rbr 为 0.9.1 版本新推出的,针对 mgr 复制模式的改进模式,从测试结果看,性能提升显著。
对于 read&write:中低(<=600)线程下,mgr 和 rbr 表现差不多,线程数>=700 时, rbr 对比 mgr 产生较大性能差,最高到接近 3 倍。
对于 write only:低(<=400)线程下, rbr 约为 mgr 的 1.5 倍,中高线程下,rbr 为 mgr 的 2 倍以上。
对于 update_non_index 和 update_index:rbr 平均超过 mgr 的 2 倍。
read&write
Sysbench 命令:
rbr 的结果:
mgr 的结果:
write only
Sysbench 命令:
rbr 的结果:
mgr 的结果:
update_non_index
Sysbench 命令:
rbr 的结果:
mgr 的结果:
update_index
Sysbench 命令:
rbr 的结果:
mgr 的结果:
olap 测试
olap 测试根据资源利用的情况,调整了机型的配置,以衡量不同配置下集群的整体表现,这里主要使用三种配置(仅列出不同):
配置 1:计算节点使用 3 台 C5.4xlarge, 存储节点使用 3 台 i3.4xlarge,此配置仅测了 point select 的操作,因为很快发现存储节点 CPU 成为瓶颈。
配置 2:计算节点使用 3 台 C5.4xlarge, 存储节点使用 3 台 c5d.9xlarge
配置 3:计算节点使用 3 台 C5.9xlarge, 存储节点使用 3 台 c5d.9xlarge
基本配置情况
本测试使用 RBR 复制模式构建的集群,此为企业版独有。
测试客户端采用 3 台 C5.4xlarge 来运行 sysbench, 通过 aws load balancer 做分流,将请求发向 3 个计算节点。
集群配置:
rbr: 元数据集群使用 3 台 m5.xlarge, 包含 3 个 shards, 每个 shard 都是三副本,每台存储机器上具有一个 shard 的 primary 和另外两个 shards 的 replicas.
数据:总共为 18 个表,每个表 1000 万记录,总数据量为 36G,数据在 shard 间均匀分布,每个 shard 含有 6 个表,12G。
缓存命中率:每个数据节点 innodb_buffer_pool_size 为 20G,meta node 的 innodb_buffer_pool_size 为 1G,缓存命中 100%。
测试情况:
每台 sysbench 客户端测试线程为:50 100 200 300 400 500。
总共测试 5 种操作: point selects、simple range selects、sum range selects、order by range selects、distinct range selects。
每个线程下每个操作运行时间为 5 分钟。
集群成本:
配置 1 = 3 (m5.xlarge + i3.4xlarge + c5.4xlarge) = 3 * (1.356 + 9.365 + 3.943) = 3 * 14.664 = 44 CNY / hour。
配置 2 = 3 (m5.xlarge + c5d.9xlarge + c5.4xlarge) = 3 * (1.356 + 10.721 + 3.943) = 3 * 16.02 = 48 CNY / hour。
配置 3 = 3 (m5.xlarge + c5d.9xlarge + c5.9xlarge) = 3 * (1.356 + 10.721 + 8.872) = 3 * 20.949 = 63 CNY / hour。
测试结果
总体结果分析:
通过使用 aws cloudwatch 分析 EC2 的资源利用情况,能够更好的发现性能瓶颈,以便调整配置获得更好的性能价格比。
测试的目的之一是为了衡量云上不同配置下的性能价格比,每个具体操作后面都给出了性价比的折线图,更直观的显示对比结果。从结果上看,配置 3 能够更好发挥集群各部分的整体性能,具有更高的性能价格比(qps/price per hour)。
由于存储节点基于 mysql 开发, 具有完整的 SQL 解析执行功能,存储节点比其他竞品的存储节点具有更强大的功能,但也要求更高的 CPU,在复杂查询下性能也更出色。
除 point select 外的其他聚集类查询对网络要求较高,在 AWS 上更容易展现出高性能,机房内的 1Gb/s 的网络中,网络先到瓶颈,无法测出高性能。
point selects
Sysben 命令:
rbr 模式的结果:
simple range selects
Sysbench 命令:
rbr 模式的结果:
sum range selects
Sysbench 命令:
rbr 模式的结果:
order by range selects
Sysbench 命令:
rbr 模式的结果:
distinct range selects
Sysbench 命令:
rbr 模式的结果:
END
昆仑数据库是一个 HTAP NewSQL 分布式数据库管理系统,可以满足用户对海量关系数据的存储管理和利用的全方位需求。应用开发者和 DBA 的使用昆仑数据库的体验与单机 MySQL 和单机 PostgreSQL 几乎完全相同,因为首先昆仑数据库支持 PostgreSQL 和 MySQL 双协议,支持标准 SQL:2011 的 DML 语法和功能以及 PostgreSQL 和 MySQL 对标准 SQL 的扩展。同时,昆仑数据库集群支持水平弹性扩容,数据自动拆分,分布式事务处理和分布式查询处理,健壮的容错容灾能力,完善直观的监测分析告警能力,集群数据备份和恢复等 常用的 DBA 数据管理和操作。所有这些功能无需任何应用系统侧的编码工作,也无需 DBA 人工介入,不停服不影响业务正常运行。昆仑数据库具备全面的 OLAP 数据分析能力,通过了 TPC-H 和 TPC-DS 标准测试集,可以实时分析最新的业务数据,帮助用户发掘出数据的价值。昆仑数据库支持公有云和私有云环境的部署,可以与 docker,k8s 等云基础设施无缝协作,可以轻松搭建云数据库服务。请访问 http://www.zettadb.com/ 获取更多信息并且下载昆仑数据库软件、文档和资料。
KunlunBase 项目已开源
【GitHub:】https://github.com/zettadb
【Gitee:】https://gitee.com/zettadb
版权声明: 本文为 InfoQ 作者【KunlunBase】的原创文章。
原文链接:【http://xie.infoq.cn/article/9382b9e10e25ba18ec70ddda3】。文章转载请联系作者。
评论