近日,PlanetScale宣布推出其PostgreSQL私有测试版本(private beta)后,发布了一系列基准测试博客文章,展示了他们的“Metal”服务与其他PostgreSQL服务商的性能对比。作为同样处于私有测试阶段的新兴数据库平台,Xata对这些基准测试产生了浓厚兴趣,并决定自行运行相同测试,详细记录测试方法、结果及相关结论。本文将结合PlanetScale基准测试的内容,剖析其优劣,探讨本地存储与网络存储对PostgreSQL高性能的影响,并介绍Xata在分离存储与计算架构及高性能网络存储技术上的表现。数据库基准测试因其数据直观、对比明确,深受行业关注,但同时也常被质疑存在偏差。原因在于基准测试极容易通过选择特定用例、硬件配置或参数调优而对结果造成较大影响,存在“调色板”式的主观性。因此,面对PlanetScale的测评,Xata团队持谨慎且建设性态度,既认可基准测试对推动行业竞争的促进作用,也对其开放度和公平性提出优化建议。
公平的基准测试理想应包含完整的测试脚本、详细的配置说明及原始数据,方便社区复现与贡献。此外,PlanetScale提供了基准测试相关邮箱沟通渠道,并及时反馈详细JSON格式的原始数据,展现了一定的开放姿态。PlanetScale的基准测试主要涵盖三类场景:由Percona实现的TPCC模拟测试、OLTP只读场景以及简单查询的延迟测试。TPCC基准作为最被关注的事务型测试,其模拟的是一个1980年代的批发仓储销售,用以衡量事务处理能力与数据库系统响应综合表现,但其适用性有限,例如TPCC依赖大量写操作(约占88%),并用固定规模因子250构建约500GB数据库,而未体现数据规模持续增长时系统动态表现。此外,生成数据库所耗时间不计入测试,且测试时间仅持续5分钟,可能导致背景流程(如checkpoint和vacuum)未完成,带来潜在偏差。OLTP读写测试聚焦于大量随机索引查询,能较好反映存储层读取性能,但其数据设计和访问模式并不完全贴合现实业务需求。
因此,PlanetScale基准各维度覆盖有限,难以完整代表多样化真实场景。测试方法方面,Xata观察到部分可能导致性能未达最佳的因素。首先,数据导入完成后立即进行测试,导致数据库后台可能仍在执行清理和整理任务,从而影响响应速度。其次,PostgreSQL默认配置多未调优,未能充分利用服务器高内存和多核CPU,真正发挥硬件潜能。尤其是未统一配置,且未允许破坏持久性安全参数的调节,导致各服务商表现差异部分源自参数适配缺乏一致性。理想情况是允许服务商基于透明的规则进行合理调优,形成公开复现的公平竞赛环境。
在性能表现方面,Xata采用了基于Intel SPDK实现的NVMe over Fabrics高速网络存储,使网络附加存储具备近似本地NVMe硬盘的高IOPS能力。测试中Xata使用xata.2xlarge实例,配备8 CPU核心,经过针对性调优后,TPCC场景下平均查询每秒达到25000次,P99延迟约为250毫秒,属于测试中表现优异的区间。更进一步,Xata尝试限制内核数为4,依然获得约20000 QPS成绩,展现了其存储层与计算层分离架构的高效性和灵活性。相较于PlanetScale Metal服务,Xata网络存储方案不仅提供了极佳性能,同时保证了更好的部署弹性,使得企业用户能够根据实际需求选择最优算储资源配比,而不必强制将存储容量与计算实例紧密绑定。对比成本方面,xata.2xlarge实例月费约280美元,三副本计算部分共840美元,存储按实际使用500 GB计每月约450美元,总计约1290美元,略低于PlanetScale的M-320配置。总结来看,PlanetScale的基准测试为市场带来了重要的性能数据对比和讨论机会,但在开放性和真实性方面尚有提升空间,而Xata通过引入高速网络存储结合计算分离架构,展现了高竞争力的性能和成本效率。
未来,期待更多多方参与的联合基准测试能促进行业公正竞争和技术进步。同时,PostgreSQL服务选型应综合考量性能、功能特性(如Xata的零停机模式、数据匿名化、数据分支机制等)、部署灵活性和技术支持等多维因素,切勿仅凭单一性能指标决策。总之,基准测试只是技术评估的起点,结合实际使用需求与服务能力,选择最适合的数据库方案,才能实现业务的稳健发展和技术的长期优化。