标签存档: 性能
您可能在之前的文章中看到过,MariaDB Vector 的预览版已经发布,供您体验。在此功能开发过程中,我们收到了来自多个方面的反馈。当然,这包括英特尔等硬件制造商。
在幕后,英特尔一直在使用 AVX512 指令集原型化点积和布隆过滤器。这两项功能都是向量搜索的一部分。如果您没听过这些术语,让我来尝试解释一下。
AVX-512 – 英特尔高级矢量扩展的 512 位扩展
AVX512 指令集本身是 CPU 特有的指令,设计用于同时对大量数字向量进行计算。
...
在过去几年中的许多论坛上,我曾谈到非代码贡献对 MariaDB Server 以及我们在 MariaDB 基金会的意义与我通常协助的代码贡献同等重要。我也曾在过去强调过英特尔提供的一些出色的非代码贡献。他们通过在其新的和未来的平台上检测性能问题来协助我们,并指导我们找到这些问题的根本原因。
结果: HammerDB 中的 NOPM 超过一百万
今天我想讨论一些英特尔协助实现的性能改进,这些改进使得 MariaDB Server 在 HammerDB TPROC-C 测试中达到了 1 百万 NOPM(每分钟新订单数)。
...
最近在 maria-developers 邮件列表上,Monty Program 的主要 MariaDB 开发者 Igor Babaev 发布了关于 MariaDB 5.3.0 针对 DBT-3 基准测试程序进行测试的一些有趣的初步结果。
DBT-3 是用于测试决策支持工作负载的基准测试,包含一组面向业务的查询和并发数据 修改。
阅读 Igor 的发现,他在一台带有 4 核(多线程 = 总共 8 个核心)、8GB RAM 和 SSD 的 SuSE 笔记本电脑上运行了这些测试,正如 Igor 所说,请享受他的数据。这是一个可重复的基准测试,包含了所有设置。
...
在我们即将发布的 MariaDB 5.3 版本中,Monty 优化了内部字符串追加代码以提升性能。我使用 sql-bench 对普通版 MariaDB 5.2 和打了补丁的 MariaDB 5.2 进行了测试,结果显示整体性能提升了约 3%。
Monty 如此描述该补丁的细节
优化字符串追加的补丁
在检查 mysql-test-run 用例的跟踪输出时,我注意到
大量重新分配(reallocation)调用。 这很奇怪,因为 MariaDB/MySQL 的设计理念是
尽可能少地进行 malloc/realloc 操作。 系统使用的方法是
首先计算需要多大的缓冲区,然后分配一个
足够大的缓冲区,以满足大多数使用场景。 …