elasticsearch的CPU居高不下的問題

2021-09-07 17:58:35 字數 524 閱讀 2371

最近專案中遇到乙個令人頭疼的問題,畢竟因為工作需要剛學elasticsearch,也沒有去關注elasticsearch的配置問題,安裝好預設把它當做資料庫一樣去使用,這導致接下來的專案直接掛掉......

當做壓力測試的時候,也就五十個請求url,專案突然莫名其妙掛掉...這個不知道什麼原因。去伺服器檢視程序,發現elasticsearch的cpu占有率達到接近50%(這裡指哪怕我停掉了相關的服務),甚至偶爾飆公升更高,對於部署不少專案的伺服器。。。這就是災難級別的

後來檢視elasticsearch的日誌,發現gc.log中幾乎每秒都要觸發一次gc full gc。記憶體不夠用,又沒有記憶體可以**,所以gc也不斷,導致cpu這麼高,大部分都用在gc上面了。

處理:調整elasticsearch可使用的記憶體大小。編輯config/jvm.options,調整xms和xmx的大小,由原來的預設的256m調整為4g。(官方建議這個值不要超過物理記憶體的50%,也不要超過32g。詳見官網說明)接著重啟elasticsearch。然後觀察cpu,雖然偶爾飆公升,但總體上是正常的,查詢也快了。

elasticsearch學習筆記之二(CURD)

本文介紹elasticsearch的概念和curd 2.2 建立文件 表和記錄 2.3 更新文件 2.4 刪除文件 2.5 查詢文件 2.6 刪除型別 表 例如 http localhost 9200 blog user 1 關係型資料庫 elasticsearch 資料庫 blog index 表...

ElasticSearch的工作機制

elasticsearch,和solr一樣,是底層基於apache lucene,且具備高可靠性的企業級搜尋引擎。elasticsearch中的一些概念其實和關係型資料庫都有對應關係,比如資料庫在es中被稱為索引,表在es中被稱作type。具體對應關係見下表。elasticsearch中的repli...

ElasticSearch的工作機制

elasticsearch,和solr一樣,是底層基於apache lucene,且具備高可靠性的企業級搜尋引擎。elasticsearch中的一些概念其實和關係型資料庫都有對應關係,比如資料庫在es中被稱為索引,表在es中被稱作type。具體對應關係見下表。elasticsearch中的repli...