Elasticsearch常用配置及性能参数_es设置并发读取数的参数

indices.recovery.concurrent_streams: 8 同时读取数据文件流线程

discovery.zen.ping.multicast.enabled: false 禁用多播 
discovery.zen.ping.unicast.hosts:[“192.168.169.11:9300”, “192.168.169.12:9300”]

discovery.zen.fd.ping_interval: 10s 节点间存活检测间隔 
discovery.zen.fd.ping_timeout: 120s 存活超时时间 
discovery.zen.fd.ping_retries: 6 存活超时重试次数

http.cors.enabled: true 使用监控

index.analysis.analyzer.ik.type:”ik” ik分词

thread pool setting

threadpool.index.type: fixed 写索引线程池类型 
threadpool.index.size: 64 线程池大小(建议2~3倍cpu数) 
threadpool.index.queue_size: 1000 队列大小

threadpool.search.size: 64 搜索线程池大小 
threadpool.search.type: fixed 搜索线程池类型 
threadpool.search.queue_size: 1000 队列大小

threadpool.get.type: fixed 取数据线程池类型 
threadpool.get.size: 32 取数据线程池大小 
threadpool.get.queue_size: 1000 队列大小

threadpool.bulk.type: fixed 批量请求线程池类型 
threadpool.bulk.size: 32 批量请求线程池大小 
threadpool.bulk.queue_size: 1000 队列大小

threadpool.flush.type: fixed 刷磁盘线程池类型 
threadpool.flush.size: 32 刷磁盘线程池大小 
threadpool.flush.queue_size: 1000 队列大小

indices.store.throttle.type: merge 
indices.store.throttle.type: none 写磁盘类型 
indices.store.throttle.max_bytes_per_sec:500mb 写磁盘最大带宽

index.merge.scheduler.max_thread_count: 8 索引merge最大线程数 
index.translog.flush_threshold_size:600MB 刷新translog文件阀值

cluster.routing.allocation.node_initial_primaries_recoveries:8 并发恢复分片数 
cluster.routing.allocation.node_concurrent_recoveries:2 同时recovery并发数

使用bulk API 增加入库速度 
初次索引的时候,把 replica 设置为 0 
增大 threadpool.index.queue_size 1000 
增大 indices.memory.index_buffer_size: 20% 
index.translog.durability: async –这个可以异步写硬盘,增大写的速度 
增大 index.translog.flush_threshold_size: 600MB 
增大 index.translog.flush_threshold_ops: 500000

复制代码

curl -XPOST '127.0.0.1:9200/\_cluster/settings' -d '{
    "transient" : 
 {
 "index.indexing.slowlog.threshold.index.warn": "10s",
 "index.indexing.slowlog.threshold.index.info": "5s",
 "index.indexing.slowlog.threshold.index.debug": "2s",
 "index.indexing.slowlog.threshold.index.trace": "500ms",
 "index.indexing.slowlog.level": "info",
 "index.indexing.slowlog.source": "1000",
 "indices.memory.index\_buffer\_size": "20%"
 }

}'

复制代码

复制代码

curl -XPOST '127.0.0.1:9200/\_cluster/settings' -d '{
    "transient" : 
 {
 "index.search.slowlog.threshold.query.warn": "10s",
 "index.search.slowlog.threshold.query.info": "5s",
 "index.search.slowlog.threshold.query.debug": "2s",
 "index.search.slowlog.threshold.query.trace": "500ms",
 "index.search.slowlog.threshold.fetch.warn": "1s",
 "index.search.slowlog.threshold.fetch.info": "800ms",
 "index.search.slowlog.threshold.fetch.debug": "500ms",
 "index.search.slowlog.threshold.fetch.trace": "200ms"
 }

}'

复制代码

–节点下线时,把所有后缀为 -2的从集群中排除

curl -XPUT   http://127.0.0.1:9200/\_cluster/settings
{ "transient" : 
 {"cluster.routing.allocation.enable" : "all",            "cluster.routing.allocation.exclude.\_name":".\*-2"}
 }

复制代码

curl -XPUT ip:9200/_cluster/settings -d
'{
    "transient": {
 "logger.discover": "DEBUG" 
 }
 "persistent": {
 "discovery.zen.minimum\_master\_nodes": 2
 }
}'

复制代码

—批量指定节点下线

curl -XPUT 127.0.0.1:9200/_cluster/settings -d '{
    "transient": {
 "cluster.routing.allocation.exclude.\_name": "atest11-2,atest12-2,anatest13-2,antest14-2" 
 }

}'
curl -XPUT 127.0.0.1:9200/_cluster/settings -d '{
    "transient": {
 "cluster.routing.allocation.exclude.\_name": "test\_aa73\_2,test\_aa73" 
 }

}'
curl -XPUT 127.0.0.1:9200/_cluster/settings -d '{
    "transient": {
 "cluster.routing.allocation.exclude.\_name": "" 
 }

}'
curl -XPUT 127.0.0.1:9200/_cluster/settings -d '{
    "transient": {
 "cluster.routing.allocation.cluster\_concurrent\_rebalance": 10
 }

}'

复制代码

curl -XPUT 127.0.0.1:9200/_cluster/settings -d '{
    "transient": {
 "indices.store.throttle.type": "none",
 "index.store.type": "niofs",
 "index.cache.field.type": "soft",
 "indices.store.throttle.max\_bytes\_per\_sec": "500mb",
 "index.translog.flush\_threshold\_size": "600MB",
 "threadpool.flush.type": "fixed",
 "threadpool.flush.size": 32,
 "threadpool.flush.queue\_size": 1000
 }

}'

复制代码

curl -XPUT 127.0.0.1:9200/_cluster/settings -d '{
    "transient": {
 "index.indexing.slowlog.level": "warn" 
 }

}'

复制代码

curl -XGET 127.0.0.1:9200/_cluster/health?level=shards

curl -XGET 127.0.0.1:9200/_cluster/settings?pretty

curl -XGET 127.0.0.1:9200/_cluster/pending_tasks?pretty

curl -XGET 127.0.0.1:9200/_cat/aliases

curl -XGET 127.0.0.1:9200/_cat/plugins

curl -XGET 127.0.0.1:9200/_cat/nodes

/_cat/allocation 
/_cat/shards 
/_cat/shards/{index} 
/_cat/master 
/_cat/nodes 
/_cat/indices 
/_cat/indices/{index} 
/_cat/segments 
/_cat/segments/{index} 
/_cat/count 
/_cat/count/{index} 
/_cat/recovery 
/_cat/recovery/{index} 
/_cat/health 
/_cat/pending\_tasks 
/_cat/aliases 
/_cat/aliases/{alias} 
/_cat/thread\_pool 
/_cat/plugins 
/_cat/fielddata 
/_cat/fielddata/{fields}

复制代码

复制代码

y
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}



[外链图片转存中...(img-yNN2petJ-1726064697295)]




[外链图片转存中...(img-NjgoXxqG-1726064697295)]

Elasticsearch是一个开源的搜索引擎,它被广泛用于据分析和实时应用的搜索功能。为了优化Elasticsearch的检索性能,我们可以调整以下几个参数。 1. 分片(Shard):Elasticsearch将索引分成多个分片进行分布式处理,分片会影响搜索的并行度。较多的分片可以提高搜索的并行性能,但也会增加集群的资源消耗。因此,需要根据集群的硬件配置据量进行合理的设置。 2. 副本(Replica):副本决定了每个分片有多少个备份。增加副本可以提高搜索的可用性和负载均衡的效果,但也会增加索引的写入性能。在高并发读取场景中,合理设置副本可以提高搜索性能。 3. 查询优化:Elasticsearch提供了丰富的查询功能,可以通过查询DSL、过滤器等方式进行优化。合理的查询优化可以减少网络传输据的量,提高搜索的效率。 4. 硬件配置Elasticsearch对硬件的要求较高,包括CPU、内存和磁盘等方面。合理的硬件配置可以提高搜索的性能和并发处理能力。 5. 分片路由策略:Elasticsearch使用哈希算法将文档分配到不同的分片上。通过合理的分片路由策略,可以均衡地分配据到各个节点上,提高搜索的效率。 除了以上几个参数外,还有一些其他的性能调优技巧,如合理设置缓存、优化网络传输性能、合理设置刷新频率等。需要根据具体的场景和需求进行调优,以达到最佳的搜索性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值