对于 MongoDB,有人可以分享使用安全写入或非常短的同步延迟的经验以及这对性能有何影响吗?

对于 MongoDB,有人可以分享使用安全写入或非常短的同步延迟的经验以及这对性能有何影响吗?

我正在构建一个实时*(5 秒延迟)分析服务器。在使用约 600 个并发连接进行负载测试时,我注意到已知测试文档的数量与报告的文档数量之间存在严重差异。也就是说,我知道应该有 600 条“当前活跃”记录,但在 find() 上,mongo 报告的数量要少得多。

这似乎是由于 mongo 的“写入并忘记”特性以及默认 syncdelay 设置为 60 秒造成的。这是正确的吗?

我相信我可以通过安全写入或使用 5 秒的同步延迟来解决这个问题。这两种方法肯定会降低性能,但我很好奇每种方法会如何影响性能。

答案1

我并不是想刁难你,但就像你之前关于系统负载的问题一样,在这种情况下没有“最佳”的答案。它完全、完全、彻底、100% 取决于你的应用程序。

如果您的应用程序及其用户不会受到一点同步延迟的不利影响,那么按照您之前的方式运行就没问题了。但是,如果延迟会导致问题,那么您就需要尝试您提出的解决方案之一。我们不知道您的应用程序是什么,它在什么硬件上运行,也不知道性能下降会对其产生什么影响。只有您才能通过测试您的应用程序来判断。

相关内容