此页面为机器翻译。请阅读英文原文。 English

IBSurgeon 文库

Firebird 性能通讯:第 1 期

我们决定推出一份较为定期的“Firebird 性能通讯”,专门介绍性能测试、技巧、窍门、配置改进等内容。

在第一期中,我们包含以下内容:

Firebird 4 与 Firebird 3:好消息,各位!

自 2019 年我们发布了 简单 INSERT/UPDATE/DELETE 测试 的首批结果以来,许多人向我们发送了他们 Firebird 服务器的测试结果,我们已将这些结果添加到电子表格和相应的图表中。

该测试是一个简单但强大的工具,用于测量和比较不同硬件+Firebird 配置的性能,以便快速确认或否定硬件或配置问题。

最近,我们使用此测试比较了 Firebird 4.0(版本 4.0.0.2394,发布前的几个构建版本)和 3.0(版本 3.0.8.33426,快照版本,即将发布的 3.0.8 的预发布版本,根据 Firebird 自动测试 的结果,它作为次要版本是稳定的)的 INSERT/UPDATE/DELETE 性能。

测试环境为 Intel i3-10100F 3.60GHz,配备 SSD Samsung SSD 870QVO 和 RAM 驱动器(qSoft),内存大小(16、32、64)和 Page Buffers 各不相同。

以下是图表,这里是包含结果的 XLS 电子表格

如您所见,在相同条件和相同配置下,Firebird 4 在写入操作上比 3.0.8 快约 10%。这无疑是个好消息,也再次表明是时候密切关注即将发布的版本并开始为迁移做准备。

当然,最好的方法是在您自己的服务器上运行相同的测试,亲自看看实际的改进。

参见 如何操作 »

选择最佳的 AWS EC2 实例以获得最大的 Firebird 写入性能

越来越多的公司考虑“迁移到云端”,而 Amazon Web Service Elastic Cloud 是最受欢迎的“云目的地”之一。

然而,AWS 提供了许多不同的实例类型,如何选择最佳的呢?当然,进行测试!

我们对 20 种实例类型进行了简单的 INSERT/UPDATE/DELETE 测试,并发现了几个非常适合 Firebird 的选项。

请注意 - 以下计算和图表中的所有价格均针对 AWS EC2 的法兰克福区域,直接取自 aws.amazon.com,不含任何折扣,可能还需缴纳额外税费,并且可能随时间变化 - 因此请不要将以下价格视为最终价格或精确购买指南。

以下是总体图表和包含结果的 XLS 电子表格

为简化起见,我们创建了 Operations 列,本质上是 Inserts+Updates+Deletes 的总和,并将其作为统一的写入性能指标:

如您所见,以下 3 种实例类型在性能方面处于领先地位(从 Firebird 写入操作的角度来看):

实例 Linux 每小时成本 每秒操作数

| z1d.xlarge | 0.45 美元 | 45834 | | m5dn.2xlarge | 0.648 美元 | 45198 | | m5d.2xlarge | 0.544 美元 | 44150 |

有趣的是,领先者并不是最昂贵的实例类型!当然,我们需要记住,该测试是单线程的(不依赖于核心数量),并且不需要大量 RAM(因为数据库只有 3.6GB),但对于需要快速处理峰值写入操作的应用程序来说,这些实例看起来确实非常理想。

尽管这些实例类型并非(在测试中)最昂贵的,但它们仍然足够昂贵,需要三思预算问题,而且由于云的一个宣传优势是灵活性,因此从更便宜的 VM 实例类型开始是有意义的,这些类型可能足以服务我们的 Firebird 数据库,对吧?

为了找出最佳性价比的实例类型,我们在电子表格中创建了另一列:“每 1 美元的操作数”。

它的含义正如其名–您可以用 1 美元购买多少次写入操作。

公式如下:

每秒操作数 * 每小时 3600 秒 / 每小时价格

如您所见,从这个角度来看,领先者有所不同:

实例 Linux 每小时价格 每 1 美元的操作数 每秒操作数
c5d.xlarge 0.222 美元 579062087 35709
c5ad.xlarge 0.2 美元 565024995 31390
m5dn.xlarge 0.324 美元 446037216 40143

非常有趣的是第 3 名,m5dn.xlarge,峰值性能约为每秒 40K 次操作–它非常接近性能领先者 z1d.xlarge 的 45834 次操作/秒,但价格明显更低。

总的来说,我们在 AWS EC2 上的经验表明,它是一个稳定成熟的环境,具有许多良好的安全/备份/高可用性等功能,但像任何复杂平台一样,它需要经验(或外部专业知识)来做出正确的选择,避免为负载并不惊人的应用程序支付高昂账单。

INSERT/UPDATE/DELETE 测试的最新结果

因此,如您所见,这个简单测试不仅可用于比较硬件和 Firebird,还可以为您节省一些钱。

我们发布了最近收集结果的图表和一个 XLS 电子表格 供您操作,您可以自行查看 此处

以下是 3 个明显的结论:

  1. NVME 驱动器确实非常出色,因此如果您需要强大的 Firebird 服务器,请为数据库购买 NVME。
  2. 高 CPU 频率对于 Firebird 数据库的高性能非常重要。供应商经常推动您购买频率较低(<3GHz)的多核处理器,但这可能不是 Firebird 的最佳选择,而更少核心但更高频率可能带来更好的结果。
  3. 如果您的数据库负载配置严重偏向写入,请尝试减少 Page Buffers:尝试使用 DefaultDbCachePages 如 50K、100K、250K 等。如果您与我们分享结果,那就太好了!

欢迎研究测试结果,并提出任何问题或发送建议。

在下一期“Firebird 性能通讯”中

在第 2 期中,我们将展示如何配置多个 SuperClassic 实例来服务一个数据库(除其他外,这有助于在多个网络端口之间分担负载)。未来几期的计划很大:配置错误、加密数据库测试、Firebird 4 与 Firebird 3 性能的高级比较、索引优化等。

如果您感兴趣并希望收到新期刊的通知,请加入我们的 FirebirdSQL Telegram 频道

联系我们

如有任何问题或建议,请联系我们:Alexey Kovyazin:[email protected]