热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

elasticsearch集群效果比单机效果慢几个数量级,怎么回事呢

Elasticsearch搜索引擎,集群效果比单机效果差好多,怎么回事呢配置及数据描述服

Elasticsearch 搜索引擎,集群效果比单机效果差好多,怎么回事呢


配置及数据描述
  1. 服务器配置:4C8G云服务器

  2. 集群配置:3个节点,1个主节点,2个副本

  3. 数据数量:4000W

  4. 数据模型:4个字段,极其简单的模型

  5. 查询方式:term 精确查找

  6. ES版本:2.4.6

  7. 数据初始化:通过spark读取Hbase中的数据导入到ES中,4000W一次性导入

问题出现的环境背景及自己尝试过哪些方法

我们测试了单机的情况、集群的情况、集群降低到单机的情况,单机升级到集群的情况,得到结论如下,但是不知道什么原因造成的。暂时不考虑并发,只考虑单次请求,测试数据,是上万个单次请求,不命中缓存的情况下统计的结果。


  • 初始化数据到集群,集群的响应在速度400ms

  • 初始化数据到单机,单机的相应在速度20ms

  • 初始化数据到集群,在降低成单机,单机相应速度在20ms(这个过程是一个缓慢的过程,也就是说,刚降低成单机的时候,速度由原来的400ms变成150ms,过了几个小时后响应速度成50ms,到第二天的时候达到极致速度,10ms,由于中间有测试空档期,也许不需要到第二天速度已经达到极致了)

  • 初始化数据到集群,降低成单机,再升级成集群,集群相应速度在20ms

在单次请求的情况下,集群性能比单机慢点是可以接受的,但是如果如我上面解释的那样,慢20倍,感觉是比较可疑的。


期望了解的内容:
  1. 数据初始化的时候ES的存储方式是怎么处理的?

  2. 由集群变成单机,是否触发了ES的一些内部存储结构的变化,索引数据整理之类的,导致速度猛然提升?

拓展部分 - 想讨论了解一下ES的缓存机制

在测试的过程中发现了这样几个奇怪的关于缓存的处理方式



    1. 单机情况下:我根据条件查询出来2条数据,响应是20ms,如果我再次使用当前条件查询,响应一直在2--4ms之间,也就是说命中了缓存导致的结果,那么我直接使用请求往里面写入一条数据,符合当前查询条件的,查询之后,依然是2--4ms之间,同时把我新写入的数据也给查出来了,同理,我删除数据也是,命中缓存,且数据实时更新。


    1. 集群情况下:我第一次查询速度在400ms,第二次查询速度在400ms,第三次查询速度在50ms,第四次也是50ms。猜测结论是,第三次和第四次命中了缓存,但是因为两次才命中缓存,猜测是不是第一次查询把查询结果落在了第一个机器上,数据缓存在第一个机器上;第二次查询把查询结果落在了第二个机器上,那么缓存也在第二个机器上,所以才会出现,第二次查询响应速度也很慢?


    推荐阅读
    • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
    • 58同城的Elasticsearch应用与平台构建实践
      本文由58同城高级架构师于伯伟分享,由陈树昌编辑整理,内容源自DataFunTalk。文章探讨了Elasticsearch作为分布式搜索和分析引擎的应用,特别是在58同城的实施案例,包括集群优化、典型应用实例及自动化平台建设等方面。 ... [详细]
    • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
    • 本文详细介绍了 MySQL 的查询处理流程,包括从客户端连接到服务器、查询缓存检查、语句解析、查询优化及执行等步骤。同时,深入探讨了 MySQL 中的乐观锁机制及其在并发控制中的应用。 ... [详细]
    • MySQL缓存机制深度解析
      本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
    • Hadoop入门与核心组件详解
      本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
    • 百度服务再次遭遇技术问题,疑似DNS解析故障
      近日晚间,百度多项在线服务出现加载异常,包括移动端搜索在内的多个功能受到影响。初步迹象表明,问题可能与DNS服务器解析有关。 ... [详细]
    • 深入解析Spark核心架构与部署策略
      本文详细探讨了Spark的核心架构,包括其运行机制、任务调度和内存管理等方面,以及四种主要的部署模式:Standalone、Apache Mesos、Hadoop YARN和Kubernetes。通过本文,读者可以深入了解Spark的工作原理及其在不同环境下的部署方式。 ... [详细]
    • 收割机|篇幅_国内最牛逼的笔记,不接受反驳!!
      收割机|篇幅_国内最牛逼的笔记,不接受反驳!! ... [详细]
    • 构建Filebeat-Kafka-Logstash-ElasticSearch-Kibana日志收集体系
      本文介绍了如何使用Filebeat、Kafka、Logstash、ElasticSearch和Kibana构建一个高效、可扩展的日志收集与分析系统。各组件分别承担不同的职责,确保日志数据能够被有效收集、处理、存储及可视化。 ... [详细]
    • 掌握远程执行Linux脚本和命令的技巧
      本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
    • 使用Vultr云服务器和Namesilo域名搭建个人网站
      本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
    • 近期遇到电脑网络不稳定和游戏时频繁重启的问题,寻求专业建议。网络环境为ADSL调制解调器通过路由器共享给两台电脑使用,怀疑存在ARP攻击或硬件配置问题。希望获得详细的故障排查和解决方案。 ... [详细]
    • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
    • PySpark实战:高效使用DataFrame超越RDD
      本文深入探讨了PySpark中DataFrame的使用方法及其相对于传统RDD的优势,旨在帮助开发者更好地理解和利用这一强大工具。 ... [详细]
    author-avatar
    旺仔牛叉糖
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有