elasticsearch性能因素总结
一:硬件方面
在条件允许下,尽量使用一些高性能io的硬盘,SSD
在高并发的情况下,cpu的计算能力要求就很高了。cpu配置尽量高。
二:OS 系统优化。
CentOS6.5/6.6/6.7 7以上系统有很大改变,建议稳定后采用。
ulimit -a 查看
ulimit -SHn 65535 s 代表软件资源,n代表硬件资源 系统重启之后恢复默认
/etc/security/limits.conf 添加 * - nofile 65535
查看当前TCP连接数:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘
三:软件层面
1)优化GC,减少GC时间。
解决方法:
(1)设置es的缓存类型为Soft Reference,它的主要特点是据有较强的引用功能。只有当内存不够的时候,才进行回收这类内存,因此在内存足够的时候,它们通常不被回收。另外,这些引 用对象还能保证在Java抛出OutOfMemory 异常之前,被设置为null。它可以用于实现一些常用图片的缓存,实现Cache的功能,保证最大限度的使用内存而不引起OutOfMemory。在es的配置文件加上index.cache.field.type: soft即可。
(2)设置es最大缓存数据条数和缓存失效时间,通过设置index.cache.field.max_size: 50000来把缓存field的最大值设置为50000,设置index.cache.field.expire: 10m把过期时间设置成10分钟。
- 一般情况下。尽量使用filter。。
- 过滤器不影响评分,而query得分查询会让搜索变的更加复杂,需要更多的cpu资源。
- 过滤查询相对于比较简单的操作,由于过滤应用整个索引的内容上,过滤器很容易被缓存
- 尽量使用filtered查询,可以把整个query都套在filtered中,这种效率会更快。(过滤发生在查询之前!!)
- 复杂的组合过滤查询尽量用bool查询,不带bool的查询 不能利用缓存
- 设置search_type 类型:
# 嵌套查询
# SELECT document FROM products WHERE productID = "SD1002136" OR ( productID = "SD4535233" AND price = 30 )
- {
- "query": {
- "filtered": {
- "query": {
- "match_all": {
- }
- }"filter": {
- "bool": {
- "should": [{
- "term": {
- "productID": "SD1002136"
- }
- },
- {
- "must": [{
- "term": {
- "productID": "SD4535233"
- }
- },
- {
- "term": {
- "price": 30
- }
- }]
- }]
- }
- }
- }
- }
}
转载:http://blog.csdn.net/hu948162999/article/details/51381717
elasticsearch性能因素总结的更多相关文章
- ElasticSearch性能优化策略【转】
ElasticSearch性能优化主要分为4个方面的优化. 一.服务器部署 二.服务器配置 三.数据结构优化 四.运行期优化 一.服务器部署 1.增加1-2台服务器,用于负载均衡节点 elasticS ...
- UI 性能因素考虑
浏览器的最大并发连接数一般在4到6之间,首先了解影响加载的性能因素: (1)下载的文件太大 (2)发出的请求太多 (3)请求相应不及时 针对这些因素,一般会考虑减少请求次数: (1)对静态文件设置缓存 ...
- ElasticSearch 2 (12) - Shard数调优(ElasticSearch性能)
ElasticSearch 2 (12) - Shard数调优(ElasticSearch性能) 摘要 当创建一个索引的时候,我们经常会面对一个问题:要为索引分配多少个shard?多少个replica ...
- ElasticSearch 2 (11) - 节点调优(ElasticSearch性能)
ElasticSearch 2 (11) - 节点调优(ElasticSearch性能) 摘要 一个ElasticSearch集群需要多少个节点很难用一种明确的方式回答,但是,我们可以将问题细化成一下 ...
- 亿级 Elasticsearch 性能优化
前言 最近一年使用 Elasticsearch 完成亿级别日志搜索平台「ELK」,亿级别的分布式跟踪系统.在设计这些系统的过程中,底层都是采用 Elasticsearch 来做数据的存储,并且数据量都 ...
- elasticsearch性能调优
转载 http://www.cnblogs.com/hseagle/p/6015245.html 该es调优版本可能有低,但是思想主体不变,不合适的参数可以自己找最新的版本相应的替代,或者增删 ela ...
- ESRally压测ElasticSearch性能 CentOS 7.5 安装 Python3.7
1,CentOS 7.5 安装 Python3.7 1.安装开发者工具 yum -y groupinstall "Development Tools"2.安装Python编译依赖包 ...
- 分布式搜索引擎Elasticsearch性能优化与配置
1.内存优化 在bin/elasticsearch.in.sh中进行配置 修改配置项为尽量大的内存: ES_MIN_MEM=8g ES_MAX_MEM=8g 两者最好改成一样的,否则容易引发长时间GC ...
- ElasticSearch性能优化官方建议
ES 手册 如何提高ES的性能 不要返回较大的结果集 ES是设计成一个搜索引擎的,只擅长返回匹配查询较少文档,如果需要返回非常多的文档需要使用Scroll. 避免稀疏 因为ES是基于Lucene来索引 ...
随机推荐
- Tomcat中配置MySQL数据库连接池
Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...
- 【LeetCode】81. Search in Rotated Sorted Array II (2 solutions)
Search in Rotated Sorted Array II Follow up for "Search in Rotated Sorted Array":What if d ...
- DataTable转List,转对象
DataTable转List public static List<T> ToListModel<T>(this DataTable table) where T : new( ...
- redis配置master-slave模式
由于云服务器存在闪断现象,项目线上会存在基于redis的功能在闪断时段内出现异常,所以redis需要做master-slave模式.直接上代码: 原单机redis,RedisConnectionFac ...
- unity, 用脚本创建mesh
创建一个空gameObject,添加Mesh Filter和Mesh Renderer两个component,再添加一个脚本createMeshScript: using UnityEngine;us ...
- Spring Boot中使用Spring-data-jpa
在实际开发过程中,对数据库的操作无非就“增删改查”.就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑. 为了解决这些大量枯燥的数据操作语句 ...
- 点滴积累【JS】---JS实现动画闪烁效果
效果: 思路:首先获得图片数组,然后做JS定时用setTimeout和setInterval在用显示隐藏实现闪烁效果. 代码: <!DOCTYPE html PUBLIC "-//W3 ...
- [原]零基础学习SDL开发之移植SDL2.0到Android
在[原]SDL开发教程我们知道了如何在pc下使用SDL进行开发,在android上面是否一样可以使用呢?答案是肯定的. 下面我们进行移植SDL到Android,这里都是基于SDL最新版进行移植的,在E ...
- js 控制不同客户端 访问不同CSS js
function loadCSS(flag) { var t='.css'; if((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios ...
- lnmp服务器的目录信息
LNMP状态管理命令: LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}Nginx状态管理:/etc/init.d/nginx ...