43.1 Index 写调优
- 批处理
- 批处理把多个index操作请求合并到一个batch中处理
- 但每次批处理多少个doc文件效率更高,受很多因素影响, 如doc的大小,字段类型、分词器等
- document的路由处理
- 当对一批中的docs进行index操作时, 该批index操作所需的线程的个数由要写入的shard的个数决定。如下图:
- document的路由处理
- 图中, 有2批docs写入ES, 每次需要写入4个shard, 所以共需要8个线程, 如果能减少shard数, 那么消耗的线程数也会减少。 如果两批中每批的shard个数都只有2个, 总共线程消耗个数4个, 减少一半, 如下图:
- 默认的routing就是id, 也可以在发送求时,手动指定一个routing value, 如:
put /index/doc/id?routing=user_id
- 注意: 线程数降低,但单批的处理耗时可能增加, 和提高刷新时间间隔类似,有可能会牺牲数据的实时性
- 存储
- 使用 SSD
- 使用 RAID 0
- 使用多块硬盘,并允许 Elasticsearch 通过多个 path.data 目录配置把数据条带化分配到它们上面
- 不要使用远程挂载的存储,比如 NFS 或者 SMB/CIFS
大数据视频推荐:
CSDN
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通