首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变冲频的风险

改变冲频的风险
EN

Stack Overflow用户
提问于 2018-09-10 09:19:07
回答 1查看 386关注 0票数 1

通过iostat,我可以在每分钟一次的磁盘写入中找到尖峰。我认为这些尖峰是由fsync引起的,因为默认情况下,MongoDB每60秒将数据刷新到磁盘。我还可以发现,慢查询日志中出现了与峰值一致的慢速查询。

有一个名为storage.syncPeriodSecs的选项,但是根据文档:

不要在生产系统上设置此值。在几乎所有情况下,都应该使用默认设置。

更频繁地执行fsync可以减少峰值,所以我想知道在生产中更改这个值的风险。

如果有任何想法我会很感激的。

详细信息:

  • MongoDB版本: 3.2.16
  • 存储引擎: WiredTiger
  • 在高峰期间缓慢的查询:其中有几个,大约1秒。没有拖住服务器
  • 部署:共享集群。具有两个成员的副本集(初级+二级)
  • 规格: CPU 8核,内存64 SSD,SSD磁盘
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-17 01:36:02

WiredTiger存储引擎每60秒执行一次检查点。在这些检查点事件中,您的部署听起来很困难。这种行为是典型的,如果你做了一个沉重的硬件写负载,这是(可能)供应不足。

通常不建议在生产环境中更改syncPeriodSecs值,因为默认值被认为是内存使用、fsync事件的数量、崩溃中fsync事件之间丢失数据的可能性以及典型硬件配置中的其他考虑因素之间的适当平衡。

改变这个值可能会使货摊变得更糟。当然,您可以通过更改它(较低或更高)来进行一些实验,看看它是否能够“平滑”fsync事件。尽管如此,这是一种高级的调优机制,在其他选项不再可用时最好保留。如果可能的话,这样的延迟通常可以通过提供更好的硬件来解决,因为当前的硬件似乎在您期望它处理的负载下苦苦挣扎。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52254599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档