Es性能优化
1. Es中10亿级别的数据量,如何提高查询效率
(1) 性能优化关键:file system cache
a. 不要期待随手挑一个参数,就可以万能的应对所有性能慢的场景
b. es依赖于底层的file system cache,如果给file system cache更多的内存,尽量让内存容纳所有的idx segment file索引数据文件,则搜索时均走内存,性能很高。如果内存较少,其他索引将存入磁盘,从磁盘搜索的性能可能是数秒。
c. 生产环境的最佳情况,是仅仅在es中存少量属性字段,即需要用于搜索的那些索引,额外的属性存入其他数据库中,如mysql/mongo/hbae。
d. 如果内存确实是瓶颈,可以采用数据预热,即单独做一个专门的缓存预热子系统,存储比较热门的数据到file system cache。
e. 也可以采用冷热分离,i将冷数据写入一个索引,热数据写入另一个索引,确保热数据在被预热之后,尽量留在file system cache中,别让冷数据给冲刷掉。
f. 不要让es做数据关联查询等数据,在document模型设计时考虑,将关联后的数据存入es中
g. 分页查询性能较差,因此不允许深度分页,可以用scroll api不断下拉一页一页展示, scroll一次性生成所有数据的一个快照,缺点是不适于随意跳到任何一页的情景
Es性能优化的更多相关文章
- ELK 性能优化实践
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI5MTU1MzM3MQ==&mid=2247489814&idx=1&sn=6916f8b7 ...
- ES的性能优化
ES的性能优化 es在数据量很大的情况下(数十亿级别)如何提高查询效率? 在es里,不要期待着随手调一个参数,就可以万能的应对所有的性能慢的场景.也许有的场景是你换个参数,或者调整一下语法,就可以搞定 ...
- 【前端构建】WebPack实例与前端性能优化
计划把微信的文章也搬一份上来. 这篇主要介绍一下我在玩Webpack过程中的心得.通过实例介绍WebPack的安装,插件使用及加载策略.感受构建工具给前端优化工作带来的便利. 壹 | Fisrt 曾几 ...
- Android客户端性能优化(魅族资深工程师毫无保留奉献)
本文由魅族科技有限公司资深Android开发工程师degao(嵌入式企鹅圈原创团队成员)撰写,是degao在嵌入式企鹅圈发表的第一篇原创文章,毫无保留地总结分享其在领导魅族多个项目开发中的Androi ...
- Android性能优化典范第一季
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
- [数据库]漫谈ElasticSearch关于ES性能调优几件必须知道的事(转)
ElasticSearch是现在技术前沿的大数据引擎,常见的组合有ES+Logstash+Kibana作为一套成熟的日志系统,其中Logstash是ETL工具,Kibana是数据分析展示平台.ES让人 ...
- [转]Android性能优化典范
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
- [Android Pro] Android性能优化典范第一季
reference to : http://www.cnblogs.com/hanyonglu/p/4244035.html#undefined 2015年伊始,Google发布了关于Android性 ...
- Android优化—— Google 发布 Android 性能优化典范
阅读目录 0)Render Performance 1)Understanding Overdraw 2)Understanding VSYNC 3)Tool:Profile GPU Renderin ...
随机推荐
- 微信小程序 getSystemInfoSync
getSystemInfoSync 获取用户设备的相关信息 示例代码: 使用位置:在 JS文件的任意函数中使用 const res = wx.getSystemInfoSync(); console. ...
- fsLayuiPlugin单页面操作
概述 单页面处理新增.修改.查看详情 共用同一个弹出的页面.在线demo数据表格2 使用 提供2种处理方式(主要区别区弹出窗口的html配置),根据实际情况选择使用那种方式. 新增.修改功能共用一个按 ...
- 微雪的stm32学习资料
http://www.waveshare.net/wiki/Main_Page里面有很多资料 STM32开发软件 目录 编译软件 Keil MDKSTM32CubeMX 下载软件 STM32 ISP ...
- mongodb命令---创建数据库,插入文档,更新文档记录
创建数据库----基本就是使用隐式创建 例如 use 你定义的数据库名, use dingsmongo 如果你使用的是studio 3T软件,那直接选中右侧的地址栏点击右键选择Add Databas ...
- 基于蓝图的完整的Flask项目
其一Flask_Script 安装: pip3 install flask_script flask_script作用: -改变flask的启动方式:python manage.py runserve ...
- ACM-ICPC 2018 南京赛区网络预赛 K. The Great Nim Game(博弈)
题目链接:https://nanti.jisuanke.com/t/31000 题意:有N堆石子(N为大数),每堆的个数按一定方式生成,问先手取若干堆进行尼姆博弈,必胜的方式有多少种. 题解:因为 k ...
- sqlite3-python
官网资料 https://sqlite.org/lang_createtable.html 操作参考: https://www.runoob.com/sqlite/sqlite-insert.html ...
- parseInt parseFloat isNaN Number 区别和具体的转换规则及用法
原文链接:https://blog.csdn.net/wulove52/article/details/84953998 在javascript 我经常用到,parseInt.parseFloat.N ...
- 016_linuxC++之_多重继承
(一)代码 #include <iostream> #include <string.h> #include <unistd.h> using namespace ...
- 数据结构实验之链表九:双向链表(SDUT 2054)
#include <bits/stdc++.h> using namespace std; typedef struct node { int data; struct node *nex ...