资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

MongoDB访问超时

MongoDB版本:3.2.6

我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、台前ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的台前网站制作公司

cacheSizeGB: 32

引擎:WiredTiger

架构:副本集

业务请求MongoDB出现超时现象。

查看MongoDB日志,存在大量的慢更新语句,通过netdata查看服务器监控,排除io问题,发现单核CPU持续出现100%

MongoDB 访问超时

通过pidstat查看MongoDB进程的CPU使用情况

[root@127-0-0-1 ~]# pidstat -t -p ALL |grep mongod

MongoDB 访问超时

怀疑mongodb自身刷脏页,通过perf查看mongod进程

[root@127-0-0-1 ~]# perf top -p pid

MongoDB 访问超时

再选择 Annotate,找出热点(可以精确到 CPU 指令):(忘记截图,随便截一个)

MongoDB 访问超时

为了保证线上业务的可用和稳定性,先切换primary为业务提供正常的服务。

解决方法:

1、将版本升级到3.2.10,官方修复了该问题

2、eviction 参数调优:降低eviction_target 或 eviction_dirty_target,让evict 尽早将数据从 wiredtiger 的 cache 刷到操作系统的 page cache,以便提早刷盘。

db.runCommand({setParameter: 1, wiredTigerEngineRuntimeConfig: "eviction_dirty_target=5,eviction_target=80"})

    


网页名称:MongoDB访问超时
路径分享:http://www.cdkjz.cn/article/pphcjo.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220