SSD等高速なストレージを要している場合は以下のパラメータを変更すると良いかも
curl -XPUT 'localhost:9200/_cluster/settings' -d '
{
"persistent" : {
"indices.store.throttle.max_bytes_per_sec" : "100mb"
}
}
'
SSDの場合は100-200mbくらい
ちなみに一時的に変更したい場合はpersistentでなくtransientの方がいいかもしれない、この辺の設定の違いは以下参照
https://www.elastic.co/guide/en/elasticsearch/reference/0.90/cluster-update-settings.html
clusterの再構築など一時的にindexingパフォーマンスを上げたい場合は以下を設定し、indexing終了後 none => mergeに変更すると良いかも
curl -XPUT 'localhost:9200/_cluster/settings' -d '
{
"transient" : {
"indices.store.throttle.type" : "none"
}
}
'
その他
elasticsearch.yml
index.refresh_interval: 30
diskへの書き込みインターバルを大きくする
リカバリー関連
elasticsearch.yml
cluster.routing.allocation.node_concurrent_recoveries: 3
# Set to throttle throughput when recovering (eg. 100mb, by default 20mb):
indices.recovery.max_bytes_per_sec: 50mb
# Set to limit the number of open concurrent streams when
# recovering a shard from a peer:
indices.recovery.concurrent_streams: 5
参考