Percona Server for MongoDB 8.0 已经推出一个多月了。我们在之前的博客文章中,介绍了最重要的 MongoDB 新功能 。
早期版本的 MongoDB 在每个主要版本发布后都有变慢的历史 ,这在大多数数据库中很常见。随着功能的增加,代码路径会变得更长,复杂性会增加,会添加额外的锁定,并且出现更多资源争用场景,和其他并发问题的可能性也会增加。
MongoDB 8.0 附带了一些架构优化,有望带来巨大的性能优势。官方演示显示了使用 YCSB 基准测试的一些令人印象深刻的数字。在这里,我们将看到 mongo-perf (性能测试)的表现如何,因此让我们继续运行一些测试。
测试过程
我们在 GCP 上部署了单独的客户端和服务器计算机,规格如下:
客户端:n2-standard-2(2 个 vCPU,8 GB RAM)
服务器:n2-standard-8(8 vCPU, 32 GB RASM, 4 TB 通用 SSD)
这里的(测试)想法是将最新的两个主要 MongoDB 版本相互比较:Percona Server for MongoDB 8.0.4 与 7.0.15。像往常一样,Percona 监控和管理被用来监视资源利用率和 MongoDB 指标随时间的变化。
我们对每个服务器进行了多次测试,并计算了结果的平均值。我们测量了 1/4/8 个线程的场景,以了解随着争用和资源利用率的增长而发生的行为。
执行了以下测试场景:“simple_insert”“simple_multi_update”“simple_query”“simple_remove” “simple_text”“simple_update” “simple_update_mms” “simple_geo”
如果你对每个的细节感到好奇,可以查看 mongo-perf 测试用例代码.
结果
当支持 MongoDB 8 的差异超过 5% 时,我以绿色突出显示。当 MongoDB 7.0 在特定测试中速度提高 5% 以上时,将使用红色。以下是原始数字( 您可能希望在新的浏览器页面上打开每张图像以提高可读性 ):
平均而言,MongoDB 8 的单线程速度提高了 12%。在某些测试中,支持 MongoDB 8 的差异高达 20-30%。这些数字非常可观,与承诺的性能提升一致。

.
.
.
平均而言,MongoDB 8 的四线程速度提高了 7%。一些测试显示 MongoDB 8 的性能较慢;但是,这些测试执行的 OPS 数量非常少,因此它们不是代表性示例。
结论
对于单线程场景,MongoDB 8.0 的平均速度比 MongoDB 7 快 12%。当使用 4 个并发线程时,平均差异约为 7%。当使用更多线程时,其他因素也会起作用,但差异仍然约为 9%。
少数测试显示 MongoDB 8 的性能较慢,但这些测试执行的 ops/s 数量非常少,因此它们不是一个非常具有代表性的示例。在大多数测试中,MongoDB 8.0 比 MongoDB 7.0 更快,在某些情况下差异高达 20-30%。
最终,MongoDB 8 似乎没有辜负性能提升的炒作。
上一条:MongoDB简介
下一条:mongodb是哪个公司的