寫的雖然是寫調優,除了一些index的設置外,其他平時都可以用...
安裝配置階段:
快速記錄,忽略格式..
1.調整內存占用.
修改config/jvm.options里的默認1g增大.自己看情況改
# Xms represents the initial size of total heap space # Xmx represents the maximum size of total heap space -Xms4g -Xmx4g
關於用到的垃圾回收器等等,分析gc日志前,建議先默認就可以里.默認也是配置CMS和G1這種高效的收集器.
2.在config/elasticsearch.yml添加一些設置.
當然也是要看自己情況選擇設置.
indices.memory.index_buffer_size: 40% #寫入線程個數,這里還可以配其他讀查等,這也是老版本的bulk.size thread_pool.write.size: 5 thread_pool.write.queue_size: 1000
3.修改服務器一些默認參數
要能啟動,機器上的一些默認限制會報錯.
- vim /etc/security/limits.conf加:要切換用戶生效
* soft nofile 65536 * hard nofile 65536
- vim /etc/sysctl.conf 追加:
vm.max_map_count=655360
需要執行sysctl -p生效.
- 在ES的官方文檔上,要求
Disabled Swapping
執行swapoff -a
要永久的關閉swapping,需要編輯/etc/fstab
文件,將包含swap的行的注釋掉。
/dev/mapper/centos-root / xfs defaults 0 0 UUID=6a38540f-2ba9-437b-ac8b-8757f5754fff /boot xfs defaults 0 0 # /dev/mapper/centos-swap swap swap defaults 0 0
- 線程數等,如果有需要,比如你設置的es線程數超過了系統設置.還要加這些.
4.動態調整index設置.
比如這里的寫入調優,可以把刷新時間設置為不刷新:
curl -H "Content-Type: application/json" -XPUT '127.0.0.1:9500/index_name/_settings' -d '{"index" : {"refresh_interval" : "-1" }}'
設置異步同步磁盤:
"index" : {"translog.durability":"async" } #語法同第一條.就是加參數
還有磁盤刷新的間隔:
index.translog.sync_interval
5.批量插入
到這里配置信息基本上差不多了.批量插入時一定用bulk批量插入.