聊聊数据库基准测试

​昨天的文章里最后我简单聊了聊数据库测试的事情,最近也有很多用户十分关心数据库测试的问题,因为他们都在关心信创数据库如何选型的事情。前几天我和一个客户聊到信创数据库选型的时候,我的观点是对于国产数据库选型,目前一些国测的测试报告参考价值并不大。

数据库基准测试是十分困难的,因为最近这十几年我也帮助客户组织过几次基准测试,其中的苦辣,心中自知。目前很多数据库厂商都以TPMC测试数据作为其数据库性能卓越的证据。不过事实上,TPC-C测试是十分复杂的,并不是我们在自己的测试环境中跑几下子BENCHMARK工具就能得到结果的。BENCHMARK测试是成本极高的测试,需要对软硬件,网络等环境做十分细致的优化,才能够跑出好的效果。其结果的有效性也是有一套评估标准的,延时的标准差,P90/P95/P99位置的延时都是考察某个TPC-C测试结果是否有效的重要因素。这些都不是随便某个用户或者数据库厂商自己就能够完成的。而从另外一个方面来说,用户的应用系统能够在某个基础设施上跑出好的效果,TPC-C的高低实际上占的比重并不高。比如说并发能力,我曾经和一个商业银行的主管算过一笔账,他们目前的系统高峰期平均每秒交易量大约1000笔,折算为TPMC大约是6万,哪怕未来5年提升5倍,也就是30万TPMC。现在的一台国产2路服务器,跑随便哪个国产数据库,都可以轻松达到100万TPMC左右,因此对于大多数非互联网业务,TPMC都不是问题。

数据库测试是十分复杂与高成本的事情,要想比较公正的做好基准测试并不容易。十多年前我帮助一个客户对比X86服务器与小型机的效能,做过一次至强服务器与IBM/HP/ORACLE等的小型机的对比测试。当时用的是用户自有数据与测试用例。为了保证公正性,我们允许厂家做一定程度的优化,但是也颁布了十分严格的限制,比如不能使用异步提交,不能随意篡改数据,不能把REDO放到内存文件系统等。因为涉及到随后的集采,因此各个厂商也都十分重视,我甚至在一个厂商的工作区里发现了一本我几年前写的《ORACLE优化日记》,看样子这哥们是准备现学现用了。

实际上那时候X86服务器已经表现出了极其强劲的能力了,一台10万块钱不到的服务器,基本上可以和2-300万的小型机PK性能了。INTEL的哥们也不太懂数据库优化,装好系统,调完基本参数,用了不到一天就完成了我们安排的3天的测试工作。而小型机厂商都十分小心,仔细地优化每个测试用例。在分析测试数据的时候,我发现某个厂商的一组测试用例的结果有些异常,其他测试数据,小型机的结果与X86基本相当,甚至有些用例还略差,不过这组测试数据,小型机完胜X86,也完胜其他小型机厂商。从我们的数据完整性校验脚本中,也没有发现数据被篡改的情况。我突然想起了那本《Oracle优化日记》,于是让测试小组去查一下几张核心表的索引的CLUSTER FACTORY值,发现其中一张表的索引的CLUSTER FACTORY与其他企业的测试环境不同。原来这组测试用例里大多是用了索引范围扫描,为了提高性能,这个厂商把表中的数据顺序做了重排。这实际上是《Oracle优化日记》里介绍的一个优化小技巧,看来这哥们真的活学活用了。再后来我们的测试用例里就把记录顺序也作为了校验的一项内容。

数据库基准测试是测试团队与参测团队魔高一尺,道高一丈的较量,如果测试团队的技术能力不如参测团队,那么测试数据的准确性就很难保证了。现在的数据库测试里都有代码自主率测试这一项,很多企业在做数据库选型的时候也十分看中这一点。我所知道的很多基于开源代码开发的数据库产品,在一些国测中也获得了超过90%甚至95%的代码自主率测试结果。这让我十分疑惑,直到我真正看到了一份测试报告,才恍然大悟。有个基于某开源代码开发的数据库产品,代码自主率测试结果是96.3%,不过仔细阅读报告才发现,送测代码总量为93万行,送测的模块里居然没有SQL引擎,优化器等,都是一些外围模块。但是作为一般的数据库选型的用户是看不到详细的报告的,我们只能看到公布的96.3%的代码自主率。这种测试也让这些测试变得毫无意义。当然我个人的观点,代码自主率也并不是一个十分有意义的指标。

实际上用户做数据库选型更需要了解的是某个数据库产品到底好不好用,在某个应用场景是否能够很好的支撑。比如我的财务系统要用国产数据库替换Oracle,那么我想知道用友、金蝶的产品在某个数据库上跑的效果如何。数据库厂商不会提供有价值的数据,金蝶用友官方也不会告诉你这些数据。我们的国测部门能不能组织国产数据库与国产的套装软件厂家一起,做一些这方面的测试,并把测试结果公布出来呢?如果能够公布这些测试数据,那么对于用户做国产数据库选型来说,其价值远远超出现有的所有测试。如果我们想了解数据库对于复杂SQL的支持能力,那么从ERP系统的一些关键模块的性能与Oracle的对比就可以清楚的了解某个数据库产品对于复杂的SQL的支持情况。如果要了解高并发环境下并发写入能力,那么某些物联网套装软件的测试结果就很有参考价值了。​

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/277208.html<

(0)
运维的头像运维
上一篇2025-05-11 00:38
下一篇 2025-05-11 00:39

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注