查看原文
其他

不要让数据库“跑分”变成一门丑陋的生意

李布衣 InsideMySQL 2024-01-05

首先恭喜达梦国产数据库

因为其上市已正式通过证监会的批准,必将成为国产数据库第一股。

达梦数据库这么多年的耕耘,这样的成绩实至名归。

接着,来谈谈最近数据库圈的一个乱象:”跑分“

话说,有某大厂员工创业的公司,对各个云数据库厂商的云数据库服务做了一个跑分测试。

测试所采用是较为传统的 sysbench 基准测试工具。

本来这也无可厚非。

但最后,这位大聪明把每家云数据库厂家的测试分数汇总到了一张图。

最后,得出这些云数据库性能的排名结论。

然而,以上全错。

这是一件非常荒谬的事情,请问您这创业是想整点啥呢?


sysbench 测试


大多数人都知道 sysbench 测试在数据库行业中非常普遍。

但他是一种非常落后的测试标准。

测试的表仅有4个字段,且每行记录固定188字节。

CREATE TABLE `sbtest` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`k` int(10) unsigned NOT NULL DEFAULT '0',`c` char(120) NOT NULL DEFAULT '',`pad` char(60) NOT NULL DEFAULT '', PRIMARY KEY (`id`),KEY `k` (`k`));

索引也不多,1个主键索引,1个二级索引。

这和实际生产环境的数据库使用,完全不匹配。

如果拿手机的跑分软件安兔兔作为对比,sysbench 显得较为”业余“。

当然,sysbench 本来也不是一个专业的数据库测试工具。

他是一个系统测试工具,可以测试 CPU、Memory、I/O、数据库等。

相较之下, TPC-C 是相对更为专业的数据库测试工具。

库表结构和使用也更贴近真实业务场景。

所以,sysbench 成为数据库行业较为普及的标准工具,本身就有些诡异。

要说原因,大概率的原因可能是上手容易。


不公正的排行


用 sysbench 做数据库压测,稍显有些不够专业。

不过,由于每家云数据库服务都用这个工具压测,所以这也不算太大的问题。

最重要的问题是最后将测试结果进行了汇总,并进行了排名

这里最重要的问题是硬件规格无法统一。

请问 4 vCPU 16G 的规格是一致的么?

当提出这个问题,请问阁下该如何粉饰这个排行的目的?

Intel 和 AMD CPU的性能不一样。

Intel 第 14 代和前代的性能不一样。

内存 DDR4 和 DDR5 的性能不一样。

DDR5 4800MHz 和 DDR5 6400 MHz 性能不一样。

不同厂家的 NVME 磁盘的性能也不一样。

即使同一厂家,同一品牌,不同批次的性能可能都会有些差异。

所以,4 vCPU 16G 后面表示的具体硬件规格无从得知。

在测试结果中,所谓第1名 18% 的领先会不会仅仅只是本身 CPU 、内存、硬盘等硬件性能差异所导致的呢?

这样简单的汇总,做排行,和耍流氓有区别么?


软件优化


前面小节讲的是硬件规格不一致,所以导致排行的结果存在不公正性。

除此之外,还有软件层面的不一致。

比如最简单的一点,这个云数据库版本是否启用了 PGO 的编译优化?

PGO 编译优化具体说明见:MySQL数据库性能提升竟达30%~50%?!原来这个优化这么厉害!

若开启了 PGO 编译优化,则在 sysbench 的基准测试中可以有至少 20% 的性能提升。

江湖传言,榜单中排名第一的云数据库厂商已经使用了编译优化的版本。

这个 18% 的领先,又会不会是编译优化所致?

要知道 PGO 编译优化虽好,但由于其是基于 profile 的优化手段,对非 sysbench 的 profile 场景,可能存在负优化。

所以,并不是所有云数据库厂家都会选择激进的方式开启。

此外,每家的数据库的配置参数也不相同。

当然,这和前一小节所说的硬件会有一定的关联关系。

所以,硬件不一致,软件也不一致,把各个测试成绩汇总到同一张图,意欲何为?


专家创业


作为在这个行业待了这么久,又是顶级大厂背景的专家,会不明白上述这么浅显易懂的道理么?

是不是不应该呀?

原来文章的最后,他才写到限制与补充说明:

原来专家并不是不知道,而是无视。

既然知道其中这么大的差异,还非要做个折线图,说谁第一,谁好,这又是为啥呢?

直到打开这位专家所创业公司的首页,貌似一切就豁然开朗了:

到这,倏地想起了姜老师之前和数据作假的 PG 创业者辩论中提及的诚信问题。

脑中更是想起了老罗对王自如说的那句:

国产数据库赛道,百年一遇的的信创机遇。

为什么不像达梦学习,安安心心做产品,非要搞这些幺蛾子?

对于国产数据库,真心不希望这样的跑分变成一种常态。

更不要把手机测评那套手段,拿到数据库产品上,真心丑陋

BTW:本文观点仅代表IMG社区成员李布衣的观点,不代表IMG社区观点。


往期推荐



DTCC 2023,Oracle DBA 时代正式落幕!

这个前阿里 P5 架构师,竟然说 OceanBase 打榜 TPC-C 是傻X行为

MySQL:这个星球最成功的数据库

MySQL数据库性能提升竟达30%~50%?!原来这个优化这么厉害!

MySQL 9.0要来了,这些新特性,你期待么?

2023年了,还有人在谈分布式数据库是不是伪需求

程序员,按45%交税,算什么水平?

特斯拉刹不住车?MySQL性能差?你们的良心不会痛吗?


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存