AntsDB在TPC-C基准测试中,再次领先业界

AntsDB在TPC-C基准测试中,再次领先业界

TPC-C基准测试是用于评测OLTP数据库事务处理性能的业界标准。它被业界ORACLE、IBM、微软等公司广泛采用。在最新的TPC-C测试中,AntsDB再次表现优异,获得领先的性能表现。

概述

TPC-C基准测试是一个在线事务处理基准。它是一个评估数据库性能的国际标准,主要由ORACLE,IBM、微软集体制定。

基准以订单输入环境的主要活动(交易)为中心。 这些交易包括输入和交付订单,记录付款,检查订单状态以及监控仓库的库存水平。 虽然基准描述了商业活动,但TPC-C不仅限于任何特定业务,而是代表必须管理,销售或分销产品或服务的任何行业。

基准测试方法

基准测试使用了100个仓库,总共有5000万条记录。 TPC-C涉及五种不同类型和复杂性的并发事务的混合,这些事务要么在线执行,要么排队等待延迟执行。 它通过运用与这种环境相关的广泛系统组件来实现。 TPC-C性能以每分钟的新订单交易来衡量。

TPC-C是行业标准。 有许多实现可用。 在此测试中,我们使用了BenchmarkSQL 4.1.1,这是PostgreSQL社区开发的一种流行的TPC-C实现。 它不仅支持PostgreSQL,还支持MySQL和其他几个数据库。 因此它可以作为一个公平的比较。

测试设置

本次基准测试时建立在亚马逊AWS i3.4xlarge实例上的。以下是系统配置:

CPU Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz, 8 cores, 16 threads
Memory 122 GiB
Storage 1.7T * 2 NVMe SSD
Operating System CentOS 7.4.1708
Comparing Database MySQL 5.5.56, PostgreSQL 9.2.23, Database O 12.2.0.1.0, AntsDB 18.05.02
Java 1.8.0_161-b14

数据库配置

AntsDB humpback.space.file.size=256
humpback.tablet.file.size=1073741824
MySQL innodb_file_per_table=true
innodb_file_format=Barracuda
innodb_buffer_pool_size=50G
innodb_flush_log_at_trx_commit=0
max_connections=200
PostgreSQL shared_buffers = 30GB
bgwriter_delay = 10ms
synchronous_commit = off
effective_cache_size = 60GB
Database O MEMORY_TARGET=50g

结果

以下是基准测试结果。单位:每分钟事务处理数量

结论

TPC-C是比YCSB更复杂的基准。 虽然YCSB模拟简单的原始读取和写入,但TPC-C在复杂事务中的权重更高。 它模拟真实世界的购买工作流程。 为此,TPC-C实现需要使用行锁和手动事务来确保数据完整性。 再次,该测试证明AntsDB具有非常有效的锁定和事务算法。

由于资源限制,数据库服务器和测试软件都在相同的硬件上运行,因此基准程序消耗了部分系统资源。 它不太完美,因为实际上应用程序和数据库可能在不同的机器上运行。 但是,我们期望使用专用数据库服务器获得更好的性能。

Xinwei