面试官:想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做过比较大

规模的索引设计、规划、调优。

解答:

如实结合自己的实践场景回答即可。

比如:ES 集群架构 13 个节点,索引根据通道不同共 20+索引,根据日期,每日

递增 20+,索引:10 分片,每日递增 1 亿+数据,

每个通道每天索引大小控制:150GB 之内。

仅索引层面调优手段:

1.1、设计阶段调优

1、根据业务增量需求,采取基于日期模板创建索引,通过 roll over API 滚动索

引;

2、使用别名进行索引管理;

3、每天凌晨定时对索引做 force_merge 操作,以释放空间;

4、采取冷热分离机制,热数据存储到 SSD,提高检索效率;冷数据定期进行 shrink

操作,以缩减存储;

5、采取 curator 进行索引的生命周期管理;

6、仅针对需要分词的字段,合理的设置分词器;

7、Mapping 阶段充分结合各个字段的属性,是否需要检索、是否需要存储等。……..

1.2、写入调优

1、写入前副本数设置为 0;

2、写入前关闭 refresh_interval 设置为-1,禁用刷新机制;

3、写入过程中:采取 bulk 批量写入;

4、写入后恢复副本数和刷新间隔;

5、尽量使用自动生成的 id。

1.3、查询调优

1、禁用 wildcard;

2、禁用批量 terms(成百上千的场景);

3、充分利用倒排索引机制,能 keyword 类型尽量 keyword;

4、数据量大时候,可以先基于时间敲定索引再检索;

第 82 页 共 485 页5、设置合理的路由机制。

1.4、其他调优

部署调优,业务调优等。

上面的提及一部分,面试者就基本对你之前的实践或者运维经验有所评估了。

最新文章

  1. C# 工厂模式+虚方法(接口、抽象方法)实现多态
  2. CentOS7安装mysql数据库
  3. android Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
  4. POJ 3352 Road Construction(边双连通分量,桥,tarjan)
  5. Eclipse修改编码后乱码解决
  6. 自定义SharePoint列表新增、编辑、查看页面(NewForm、EditForm、DispForm)
  7. Python多线程学习笔记
  8. 经验28--相关时间戳,C#
  9. EntityFramework 简单入个门
  10. MySQL关于check约束无效的解决办法
  11. 探索Windows命令行系列(5):几个实用的命令例解
  12. 代理模式与java中的动态代理
  13. 基于flexbox纯css框架的解析
  14. DcotrineFixtureBundle学习
  15. python实现简单二分查找
  16. Vue非父子级通信
  17. 快速了解CSS3当中的HSLA 颜色值怎么算
  18. 3、Xamarin Forms 调整安卓TabbedPage 下置
  19. XML-RPC 实现C++和C#交互
  20. 【洛谷 P3304】[SDOI2013]直径(树的直径)

热门文章

  1. 简单excel饼状图怎么做,bi工具怎么做饼状图
  2. windev中字符串分隔符的选择以及Contains使用技巧
  3. linux中docker容器安装vi命令详解
  4. FTP服务器日志解析
  5. MySQL:输入密码后闪退的解决方法
  6. tar包压缩时相对路径问题
  7. 文件IO示例程序
  8. TCP的粘包、拆包及解决方法
  9. 『现学现忘』Docker基础 — 29、Docker容器数据卷的应用
  10. Ansible的原理与配置