提高ElasticSearch插入数据性能
2017-03-29 13:24
162 查看
正常的真实环境es集群都是有副本数的,如果在大量插入数据的情况下面,副本拷贝其实会使插入速度变慢的,根据业务情况,可以考虑取消replias(复制分片),等数据插入结束以后再进行更新操作,设置复制分片。此方法可使插入速度提高一倍,shard刷新间隔,以及多线程和es批插入都可以提高效率等等。
1、设置复制分片数量
curl -XPUT http://ip:9200/index/_settings -d '{
"settings" : {
"number_of_replicas" : 0
}
}'
//数据插入结束,更新复制分片为1
curl -XPUT http://ip:9200/index/_settings -d '{
"settings" : {
"number_of_replicas" : 1
}
}'
2、减少shard刷新间隔
curl -XPUT http://ip:9200/index/_settings -d '{
"index" : {
"refresh_interval" : "-1"
}
}'
//完成插入后再修改为初始值
curl -XPUT http://ip:9200/index/_settings -d '{
"index" : {
"refresh_interval" : "20s"
}
}'
3、适当增大节点threadpool参数
curl -XPUT http://ip:9200/_cluster/settings -d '{"transient":{"threadpool.bulk.queue_size": 100000}}'
后续继续补充,继续实验。
如果读完觉得有收获的话,欢迎点赞、关注、加公众号【匠心零度】,查阅更多精彩历史!!!
1、设置复制分片数量
curl -XPUT http://ip:9200/index/_settings -d '{
"settings" : {
"number_of_replicas" : 0
}
}'
//数据插入结束,更新复制分片为1
curl -XPUT http://ip:9200/index/_settings -d '{
"settings" : {
"number_of_replicas" : 1
}
}'
2、减少shard刷新间隔
curl -XPUT http://ip:9200/index/_settings -d '{
"index" : {
"refresh_interval" : "-1"
}
}'
//完成插入后再修改为初始值
curl -XPUT http://ip:9200/index/_settings -d '{
"index" : {
"refresh_interval" : "20s"
}
}'
3、适当增大节点threadpool参数
curl -XPUT http://ip:9200/_cluster/settings -d '{"transient":{"threadpool.bulk.queue_size": 100000}}'
后续继续补充,继续实验。
如果读完觉得有收获的话,欢迎点赞、关注、加公众号【匠心零度】,查阅更多精彩历史!!!
相关文章推荐
- 如何提高Oracle存储过程批量插入或者更新数据的性能
- influxdb入门,批量插入数据提高性能
- 提高abap数据访问性能的几篇文章的连接
- 提高abap数据访问性能的几篇文章的连接
- 插入10000条数据测试DB性能
- 使用 SqlDependency 对象缓存数据以提高性能
- 使用多结果集读取数据减少服务器往返,提高性能
- 使用标准数据绑定语法代替 DataBinder.Eval 方法以提高性能
- 使用多结果集读取数据减少服务器往返,提高性能
- 提高abap数据访问性能的几篇文章的链接
- 使用SqlBulkCopy提高导入数据的性能
- 利用数据缓存机制提高智能设备应用程序的数据访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 如何提高C#中将数据导入到Excel的性能
- 如何在数据层分页以提高性能
- ADO.net下几个提高数据访问性能的方法
- 利用数据缓存机制提高智能设备应用程序的数据访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 提高abap数据访问性能的几篇文章的连接
- 利用Cache缓存数据DataTable数据提高大数据量访问性能