大IO操作引起ksearch性能波动的问题分析

本文分析了log分析及大log文件删除对系统的影响,log分析会加重系统缓存负担,导致内存交换至硬盘并引发超时;大文件删除进入内核态并长时间占用CPU资源,造成搜索服务堵塞与超时。提出了通过负载均衡或临时关闭服务等解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. log 分析

主要是影响了系统cache,读log文件导致searcher的mmap内存被swap到硬盘,引起超时。侧重于IO层面


2. 大log文件 删除

主要是kernel整理硬盘快,进入了内核态,而且执行时间较长;导致用户态的searcher操作发生堵塞,引起超时。侧重于CPU和锁层面。


merge分发query给两行search是RR方式,一台search的超时,导致merge链接发生堵塞,从而影响了对所有列的服务,最终导致大范围超时。


解决方法:

总体应该是个链式反应,search单机的io操作影响了这台search的服务能力;merge跟search之间走的kfc,query在两行中round-robin分发,一台search慢就导致merge链接堆积,进而影响了merge对其他列的服务。

可以考虑在query分发时做负载均衡,这个涉及到kfc层面,有难度;或者io操作时,直接把这台search kill掉,另一台search完全可以扛得住流量。现在线上运维脚本,在做log清理,或其他大io操作时,都是把search下线的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值