背景
近來es查詢很慢瓮顽,kibana的discover界面偶爾還會因為查詢請求超時而無法顯示數(shù)據(jù)。/_cat/indices?v
等對es的查詢也慢的出奇围橡,需要1暖混、2分鐘才返回結果。
排查
top命令看了es的java進程翁授,發(fā)現(xiàn)cpu一直很高儒恋,130%左右,一直沒有下降過黔漂。查看es的日志诫尽,發(fā)現(xiàn)gc.log中幾乎每秒都要觸發(fā)一次GC Full GC (Allocation Failure)
。內(nèi)存不夠用炬守,又沒有內(nèi)存可回收牧嫉,所以GC也不斷。怪不得CPU這么高减途,大部分時間都用在gc上面了酣藻。
處理
調(diào)整es可使用的內(nèi)存大小。編輯config/jvm.options
鳍置,調(diào)整了Xms和Xmx的大小辽剧,由原來默認的1g調(diào)整為10g。(官方建議這個值不要超過物理內(nèi)存的50%税产,也不要超過32G怕轿。詳見官網(wǎng)說明)接著重啟es就好了。觀察cpu辟拷,雖然偶爾也會彪上130%撞羽,但總體來說正常了,查詢也變得很快衫冻。
ps:es重啟后诀紊,需要觀察logstash是否退出了。如果退出隅俘,需要重新把logstash拉起來邻奠。
pss:這次是小坑,后面可能還有很多大坑需要踩为居。后續(xù)有cpu高碌宴、查詢慢的問題也一并歸類到該文。
- 本文固定鏈接: http://zoufeng.net/2018/07/16/cpu-of-elasticsearch-high-search-slow/
- 轉(zhuǎn)載請注明: foam 2018年07月16日于 foam 發(fā)表