Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

1、64 GB 内存 的 机 器 是 非 常 理 想 的 , 但是 32 GB 和 16 GB 机器 也 是 很 常 见 的 。少于 8 GB 会适 得 其 反 。

2、如 果 你 要 在 更 快 的 CPUs 和更 多 的 核 心 之 间 选 择 , 选 择 更 多 的 核 心 更 好 。 多个内 核 提 供 的 额 外 并 发 远 胜 过 稍 微 快 一 点 点 的 时 钟 频 率 。

3、 如果 你 负 担 得 起 SSD, 它将 远 远 超 出 任 何 旋 转 介 质 。 基于 SSD 的节 点 , 查询和 索 引 性 能 都 有 提 升 。 如 果 你 负 担 得 起 , SSD 是一 个 好 的 选 择 。

4、即使 数 据 中 心 们 近 在 咫 尺 ,也要 避 免 集 群 跨 越 多 个 数 据 中 心 。绝对 要 避 免 集 群跨越 大 的 地 理 距 离 。

5、请 确 保 运 行 你 应 用 程 序 的 JVM 和服 务 器 的 JVM 是完 全 一 样 的 。 在Elasticsearch 的几 个 地 方 , 使 用 Java 的本 地 序 列 化 。

6、通 过 设 置 gateway.recover_after_nodesgateway.expected_nodes、

gateway.recover_after_time 可以 在 集 群 重 启 的 时 候 避 免 过 多 的 分 片 交 换 , 这 可能会 让 数 据 恢 复 从 数 个 小 时 缩 短 为 几 秒 钟 。

7、 Elasticsearch 默认 被 配 置 为 使 用 单 播 发 现 , 以 防 止 节 点 无 意 中 加 入 集 群 。 只有在 同 一 台 机 器 上 运 行 的 节 点 才 会 自 动 组 成 集 群 。 最 好 使 用 单 播 代 替 组 播 。

8、不 要 随 意 修 改 垃 圾 回 收 器 ( CMS)和 各 个 线 程 池 的 大 小 。

9、把 你 的 内 存 的 ( 少 于 ) 一 半 给 Lucene(但 不 要 超 过 32 GB!) , 通 过ES_HEAP_SIZE 环境 变 量 设 置 。

10、内 存 交 换 到 磁 盘 对 服 务 器 性 能 来 说 是 致 命 的 。 如 果 内 存 交 换 到 磁 盘 上 , 一 个100 微秒 的 操 作 可 能 变 成 10 毫秒 。 再想 想 那 么 多 10 微秒 的 操 作 时 延 累 加 起来。 不难 看 出 swapping 对于 性 能 是 多 么 可 怕 。

11、 Lucene 使用 了大量的文件 。 同 时 , Elasticsearch 在节 点 和 HTTP 客 端之间 进 行 通 信 也 使 用 了 大 量 的 套 接 字 。 所有 这 一 切 都 需 要 足 够 的 文 件 描 述 符 。你应该 增 加 你 的 文 件 描 述 符 , 设 置 一 个 很 大 的 值 , 如 64,000。

补充 : 索 引 阶 段 性 能 提 升 方 法

1、使 用 批 量 请 求 并 调 整 其 大 小 : 每 次 批 量 数 据 5-- 15 MB 大是 个 不 错 的 起 始 点 。

2、存 储 : 使 用 SSD

3、段和 合 并 :Elasticsearch 默认 值 是 20 MB/s,对机 械 磁 盘 应 该 是 个 不 错 的 设置 。如果 你 用 的 是 SSD,可以 考 虑 提 高 到 100-- 200 MB/s。如果 你 在 做 批 量 导 入 ,完全 不 在 意 搜 索 , 你 可 以 彻 底 关 掉 合 并 限 流 。 另 外 还 可 以 增 加index.translog.flush_threshold_size 设置 , 从 默 认 的 512 MB 到更 大 一 些 的值, 比 如 1 GB,这 可 以 在 一 次 清 空 触 发 的 时 候 在 事 务 日 志 里 积 累 出 更 大 的 段 。

4、如 果 你 的 搜 索 结 果 不 需 要 近 实 时 的 准 确 度 , 考 虑 把 每 个 索 引 的index.refresh_interval 改到 30s。

5、如果 你 在 做 大 批 量 导 入 ,考虑 通 过 设 置 index.number_of_replicas: 0 关闭 副本。

相关推荐
夏天吃哈密瓜3 小时前
Spark-core-RDD入门
大数据·分布式·spark
开开心心_Every4 小时前
手机隐私数据彻底删除工具:回收或弃用手机前防数据恢复
android·windows·python·搜索引擎·智能手机·pdf·音视频
科技小E4 小时前
国标GB28181视频平台EasyCVR安防系统部署知识:如何解决异地监控集中管理和组网问题
大数据·网络·人工智能·音视频
chat2tomorrow5 小时前
如何使用 QuickAPI 推动医院数据共享 —— 基于数据仓库场景的实践
大数据·数据仓库·人工智能·医院·sql2api
lcw_lance5 小时前
数字孪生[IOC]常用10个技术栈(总括)
大数据·运维·人工智能
星宸追风6 小时前
Git查看某个commit的改动
大数据·elasticsearch·搜索引擎
Zyxalia6 小时前
gin + es 实践 03
elasticsearch·jenkins·gin
悻运7 小时前
如何在sheel中运行Spark
大数据·分布式·spark
悻运7 小时前
Spark缓存--persist方法
大数据·缓存·spark
caihuayuan57 小时前
[数据库之十四] 数据库索引之位图索引
java·大数据·spring boot·后端·课程设计