1、合作背景
万里开源软件有限公司
北京万里开源软件有限公司,是专注于国产自主可控数据库产品研发超 20年的国家高新技术企业,参与多个国家级的数据库行业标准制定工作。本次用于测试的 GreatSQL 开源数据库是适用于金融级应用的国内自主 MySQL 版本,专注于提升 MGR 可靠性及性能,支持 InnoDB 并行查询等特性,可以作为 MySQL 或 Percona Server 的可选替换,用于线上生产环境,且完全免费并兼容 MySQL 或 Percona Server。
大普微电子科技有限公司
深圳大普微电子科技有限公司(DapuStor),是国内领先的企业级 SSD 主控芯片设计、SSD 产品及存储方案定制专家。本次用于测试的 Roealsen5 企业级 SSD 基于自研控制器 DP600 和固件,搭载 KIOXIA 112层 3D Enterprise TLC,为客户提供业界领先的高性能、高可靠、低延时的 SSD,为企业 IT 及云设施提供更高能效和更优 TCO 的解决方案。DapuStor R5 产品广泛适用于企业IT、运营商、互联网、金融、智能制造、AI及大数据分析等行业的核心存储场景。
2、测试目的
此次测试的目的主要在于:
针对 GreatSQL 在 DapuStor Roealsen5 NVMe SSD(以下简Roealsen5)上的性能进行测试验证,并与S公司同规格的一款主流 NVMe SSD 做对比,检验 GreatSQL 在 Roealsen5 SSD 上运行是否能获得性能更佳、稳定性更强的效果。
3、测试用例设计
sysbench测试:
- 数据库的 InnoDB Buffer Pool size 通常最高设置为物理内存的75%,但实际生产服务器实际内存大小存在差异,导致生产环境的 InnoDB Buffer Pool size 大小存在差异,并且理论上 InnoDB Buffer Pool size 设置的越小,会有更多的 IO 请求落到 SSD 上,可以通过设置不同的 InnoDB Buffer Pool size 的性能影响;
- 针对数据库常用的数据模型分析,混合读写是数据库占比最多的应用场景;
- Linux 系统上比较常用的文件系统为 ext4 和 xfs ;
- 针对以上几点设计测试用例如下:
- 文件系统格式:ext4 、xfs
- 并发线程数:1、4、8、16、32、64、128
- 测试事务模型:oltp_read_write(混合读写场景)
- 数据量:64张表,每张表1250万行数据,约191G
- InnoDB Buffer Pool size大小:48G、96G、144G、196G
4、测试详细数据
sysbench测试数据:
ext4文件系统:
图1:Roealsen5和友商在ibp=48G 混合读写场景QPS对比(越高越好)
图2:Roealsen5和友商在ibp=48G 混合读写场景平均时延对比(越低越好)
图3: Roealsen5和友商在ibp=96G 混合读写场景QPS对比(越高越好)
图4:Roealsen5和友商在ibp=96G 混合读写场景平均时延对比(越低越好)
图5:Roealsen5和友商在ibp=144G 混合读写场景QPS 对比(越高越好)
图6:Roealsen5和友商在ibp=144G 混合读写场景平均时延对比(越低越好)
图7:Roealsen5和友商在ibp=192G 混合读写场景QPS 对比(越高越好)
图8: Roealsen5和友商在ibp=192G 混合读写场景平均时延对比(越低越好)
Xfs文件系统:
图9:Roealsen5和友商在ibp=48G 混合读写场景QPS 对比(越高越好)
图10:Roealsen5和友商在ibp=48G 混合读写场景平均时延对比(越低越好)
图11:Roealsen5和友商在ibp=96G 混合读写场景QPS 对比(越高越好)
图12:Roealsen5和友商在ibp=96G 混合读写场景平均时延对比(越低越好)
图13:Roealsen5和友商在ibp=144G 混合读写场景QPS 对比(越高越好)
图14:Roealsen5和友商在ibp=144G 混合读写场景平均时延对比(越低越好)
图15: Roealsen5和友商在ibp=192G 混合读写场景QPS 对比(越高越好)
图16:Roealsen5和友商在ibp=192G 混合读写场景平均时延对比(越低越好)
5、测试结论
sysbench测试结论:
-
数据库分别运行在 Roealsen5 和友商 NVMe SSD盘上,无论是ext4 还是 xfs 文件系统, InnoDB Buffer Pool size 是否充足, Roealsen5 作为GreatSQL数据盘的性能都优于友商 NVMe SSD。作为GreatSQL 数据盘, Roealsen5 会给用户带来更高的吞吐的同时带来更短的响应时延。
-
在InnoDB Buffer Pool size 不足的情况下(分别为 48G、96G 时),对比1~128并发下 Roealsen5和友商 NVMe SSD 的 QPS 和平均时延, Roealsen5 的 QPS 有 9.7% ~ 126.7% 不等的提升,平均时延最多降低了 55.6% 。
-
在 InnoDB Buffer Pool size 充足的情况下(分别为 144G、196G 时),对比 1~128 并发下 Roealsen5 和友商 NVMe SSD 的 QPS 和平均时延, Roealsen5 的 QPS 最多提升了40% 左右,平均时延最多降低了 40% 左右。
从以上测试数据可以明显看出,GreatSQL 数据库搭载DapuStor Roealsen5 NVMe SSD 后,性能实现大幅提升,尤其在混合读写的场景,在增大数据的吞吐量的同时,大幅度降低时延,解决数据库的高效访问、方便共享等问题。
作为分别在数据库领域和数据存储领域的国内领先企业,万里数据库和 DapuStor 在本次合作的应用探索,希望能为用户带来更加流畅、高效的体验。未来,万里数据库将推动 GreatSQL 协同 DapuStor 探索更多基于 DapuStor Roealsen5 NVMe SSD 在数据库中的结合点和创新点,打造数据库+存储软硬一体化联合解决方案,为用户创造更多价值。
Enjoy GreatSQL 😃
关于 GreatSQL
GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。
相关链接: GreatSQL社区 Gitee GitHub Bilibili
GreatSQL社区:
社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html
技术交流群:
微信:扫码添加
GreatSQL社区助手
微信好友,发送验证信息加群
。
文章评论