【ElasticSearch系列(三)】性能優化之bootstrap.memory_lock: true

es中的/home/es/elasticsearch-6.3.0/config/elasticsearch.yml配置文件,如果bootstrap.memory_lock這項使用默認配置,會導致硬盤頻繁讀,IOPS變高。

因此bootstrap.memory_lock需要設置成bootstrap.memory_lock: true
在這裏插入圖片描述

這個配置的意義:鎖定物理內存地址,防止es內存被交換出去,也就是避免es使用swap交換分區,頻繁的交換,會導致IOPS變高。

設置好後,啓動es會報錯:

ERROR: [1] bootstrap checks failed
[1]: memory locking requested for elasticsearch process but memory is not locked

解決辦法:

需要設置下系統配置文件,首先要切換到root用戶,接着做以下修改:

1、修改/etc/security/limits.conf

文件最後添加以下內容:

* soft nofile 65536

* hard nofile 65536

* soft nproc 32000

* hard nproc 32000

* hard memlock unlimited

* soft memlock unlimited

2、修改/etc/systemd/system.conf

分別修改以下內容:

DefaultLimitNOFILE=65536

DefaultLimitNPROC=32000

DefaultLimitMEMLOCK=infinity

3、執行以下操作,立即生效

/bin/systemctl daemon-reload

對於小系統應用es的優化和建議:

  • 建議用SSD,提高性能;
  • 新建索引的時候,分片設置成1,備份設置成0,能有效的降低IOPS;

可以參考以下配置:

put http://localhost:9200/test/
{
“settings”: {
“number_of_shards”: 1,
“number_of_replicas”: 0,
“index.analysis.analyzer.default.type”: “ik_max_word”
},
“mappings”: {
“my”: {
“properties”: {
“id”: {
“type”: “long”
},
“name”: {
“type”: “text”
},
“content”: {
“type”: “text”
}
}
}
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章