standby 节点的page faults爆表了

昨天凌晨两点多,Zabbix 监控突然给我发了一条告警:“MongoDB的Page Faults爆表了”。这玩意儿一般都是内存不够用,瞬间读取磁盘数据导致的内存缺页,可我看了眼日志,这台明明是个Standby节点,根本没什么人在查询。这事儿挺奇怪,大清早我就赶过去看看。 一开机先查了下系统的page_faults值,好家伙,比新机器高了三倍多,而且内存都开始往SWAP区里写了。再用mongostat看了一圈系统状态,指标也没啥大问题,那就只能去看日志了。日志里反反复复在报“advisoryHostFQDNS”错误,执行一个命令居然要80秒。 顺着线索一查,发现集群里所有机器的域名解析都指向了OPS Manager。我在这个Standby节点上试了下dig -t SRV \_mongodb.\_tcp.advisoryHostFQDN,结果直接超时了。原来DNS解析这块被拖慢了。 为了快速解决问题,我干脆在这个Standby节点还有OPS Manager那台机器的/etc/hosts文件里直接写死所有IP和主机名的映射关系,然后清空DNS缓存重启服务。这招真管用,page_faults立马掉回正常区间,命令执行速度也快得像闪电。 事后我翻了翻圈子里的消息:Red Hat Satellite说以后只支持PostgreSQL了;Oracle数据库被国家电网和四大行直接换成国产的了;Oracle还因为和Google的Java版权官司被投资者集体告上法庭;Red Hat还说他们以后不用Oracle了。 你看现在不管是手机、汽车还是电影特效,中国产业链都在加速前进;数据库这块肯定也不能落下。等到性能、兼容性和政策红利三管齐下的时候,传统的大厂商要是再不快点降本增效,市场份额肯定得让后来者给抢去。 咱们运维干的活也就剩看告警、修BUG了。但想真正保住饭碗还得提前拥抱变化,赶紧把技术迭代和国产替代这股浪潮给接住才行。