目录
es性能优化
写入性能优化
增加refresh的时间间隔
默认1s就会触发一次Refresh,然后Refresh会把内存中的数据刷新到操作系统的文件缓存系统中(buffer ——> OS cache)。每次索引的refresh会产生一个新的segment段,这会导致频繁的segment merge行为。一般在查询实时性要求不高的场景下可改为30s,甚至是“-1”(关闭refresh)。入库完之后修改回默认值是1s即可,形如:
refresh参数设置
Curl -XPUT "localhost:9200/[index_name]/_settings?pertty" -d '{
"index":{
"refresh_interval":"30s"
}
}'
减少副本
es为了保证集群的可用性,提供了Relicas(副本支持),然而每个副本也会执行分析、索引及可能的合并过程,所以Replicas的数量会严重影响索引的效率。
当写索引时,需要把写入的数据都同步到副本节点,副本节点越多,写索引的效率就越慢。
如果我们需要大批量的进行写入操作,可以先禁止Replicas复制,设置index.number_of_replicas:0关闭副本,在写入完成后,Replica修改回正常状态。
副本调整
Curl -X