从监控系统中发现某集群的load很高,分析到最后发现是大量的disk io引起的。
于是优化了上传的组件不写临时文件 ,发现io还是很高。
再测试,竟然是apache的默认filter被改变后触发了mod_proxy的写临时文件的条件,由于apache是写死在代码中的无法配置,于是将filter
重新注册为apache默认的protocol类型,临时文件没有了,dosk io直接下降n倍。
然后参断的几个人说YGC高,然后去研究为什么高。我上了其中某台机器直接就jps|jstat -gcutil 1000 100,发现根本不高,然后直接发现是监控系统在数据合并时只累加值没有除以累加次数。狗血!
本文详细阐述了如何通过优化Apache配置,解决集群负载高、DiskIO负担过重及垃圾回收(YGC)频繁的问题。首先,通过调整上传组件策略避免临时文件的大量生成;接着,发现并解决了Apache默认filter导致的mod_proxy写临时文件问题;最后,通过重新注册filter为默认协议类型,成功消除了DiskIO问题,同时降低了YGC频率。整个过程涉及监控系统的误报修正,展示了从问题发现到解决的完整路径。
2127

被折叠的 条评论
为什么被折叠?



