Eureka 参数调优(4)

2020-08-23  本文已影响0人  Quillagua

Client 端

基本参数

参数 默认值 说明
eureka.client.avaliability-zones 告知 Client 有哪些 regin 和 zone,支持配置修改运行时生效
eureka.client.filter-only-up-instances true 是否滤出 InstanceStatus 为 UP 的实例
eureka.clint.region us-east-1 指定 region,当 datacenters 为 AWS 时适用
eureka.client.register-with-eureka true 是否将实例注册到 Eureka Server
eureka.client.prefer-same-zone-eureka true 是否优先使用和该应用实例处于相同 Zone 的 Eureka Server
eureka.client.on-demand-update-status-change trye 是否将本地实例状态的更新,通过 ApplicationInfoManager 实时同步到 Eureka Server(这个同步请求有流量限制)
eureka.instance.matadata-map 指定实例的元数据信息
eureka.instance.prefer-ip-address false 是否优先使用 ip 地址来代替 hostname 作为实例的 hostname 字段值
eureka.instance.lease-exporation-duration-in-seconds 90 指定 Eureka Client 间隔多久向 Server 发送心跳

定时任务参数

参数 默认值(时间单位:秒,非时间单位:个) 说明
eureka.client.cache-refresh-executor-thread-pool-size 2 刷新缓存的 CacheRefreshThread 线程池大小
eureka.client.cache-refresh-executor-exponential-back-off-bound 10 调度任务执行时,下次调度的延迟时间
eureka.client.heartbeat-executor-thread-pool-size 2 执行心跳 HeartbeatThread 的线程池大小
eureka.client.heartbeat-executor-exponential-back-off-bound 10 调度任务执行时,下次调度的延迟时间
eureka.client.registry-fetch-interval-seconds 30 CachaRefreshThread 线程调度频率
eureka.client.eureka-service-url-poll-interval-seconds 5*60 AsyncResolver.updateTask 刷新 Eureka Server 地址的时间间隔
eureka.client.initial-instance-info-replication-interval-seconds 40 InstanceInfoReplicator 将实例信息变更同步到 Eureka Server 的初始延时时间
eureka.client.instance-infi-replication-interval-seconds 30 InstanceInfiReplicator 将实例信息变更同步到 Eureka Server 的时间间隔
eureka.client.lease-renewal-interval-in-seconds 30 Eureka Client 向 Eureka Server 发送心跳的时间间隔

http 参数

Eureka Client 底层使用 HttpClient 与 Eureka Server 通信。

参数 默认值 说明
eureka.client.eureka-server-connect-timeout-seconds 5 连接超时时间
eureka.client.eureka-server-read-timeout-seconds 8 读超时时间
eureka.client.eureka-server-total-connections 200 连接池最大连接数
eureka.client.eureka-server-total-connections-per-host 50 每个 host 能使用的最大链接数
eureka.client.eureka-connection-idle-timeout-seconds 30 连接池空闲连接时间

Server 端

Server 端的参数调优分为:基本参数,Response Cache、Peer、Http 等

基本参数

参数 默认值 说明
eureka.server.enable-self-preservation true 是否开启自我保护模式
eureka.server.renewal-percent-threshold 0.85 每分钟需要收到的续约次数阈值(心跳数/client实例数)
eureka.instance.registry.expected-number-of-renews-per-min 1 指定每分钟需要收到的续约次数,实际上,在源码中被写死为 count * 2
eureka.server-renrewal-threshold-update-interval-ms 15 分钟 指定 updateRenewalThreshold 定时任务的调度频率,动态更新 expectedNumberOfRenewsMin 以及 numberOfNewsPerMinThreshold 的值
eureka.server.evication-interval-timer-in-ms 60*1000 指定 EvicationTask 定时任务调度频率,用于剔除过期的实例

Response Cache 参数

Eureka Server 为了提升自身 REST API 接口的性能,提供了两个缓存:一个是基于 ContioncurrentMapreadOnlyCacheMap,一个是基于 Guava ChahereadWriteCacheMap

参数 默认值 说明
eureka.server.use-read-only-response-cache true 是否使用只读的 Response Cache
eureka.server.response-cache-update-interval-ms 30 * 1000 设置 CacheUpdateTask 的调度时间间隔,用于从 readWriteCacheMap 更新数据到 readOnlyCacheMap。仅在 eureka.server.use-read-only-response-cache 为 true 时生效
eureka.server.response-cache-auto-expiration-in-seconds 180 设置 readWriteCacheMap 的过期时间

peer 参数

参数 默认值 说明
eureka.server.peer.eureka-nodes-update-interval-ms 10分钟 指定 peersUpdateTask 调度的时间间隔,用于配置文件刷新 peerEurekaNodes 节点的配置信息
eureka.server.peer-eureka-status-refresh-time-interval-ms 30*1000 指定更新 Peer nodes 状态的时间间隔

http 参数

参数 默认值 说明
eureka.server.peer-node-connect-timeout-ms 200 链接超时时间
eureka.server.peer-node-read-timeout-ms 200 读超时时间
eureka.server.peer-node-total-connections 1000 连接池最大连接数
eureka.server.peer-node-total-connections-per-host 500 每个 host 能使用的最大连接数
eureka.server.peer-node-connection-idle-timeout-seconds 30 连接池中链接的空闲时间
上一篇下一篇

猜你喜欢

热点阅读