• ElasticSearch 2 (38)


    ElasticSearch 2 (38) - 信息聚合系列之结束与思考

    摘要

    版本

    elasticsearch版本: elasticsearch-2.x

    内容

    本小节涵盖了许多基本理论以及很多深入的技术问题。聚合给 Elasticsearch 带来了难以言喻的强大能力和灵活性。桶与度量的嵌套能力,基数与百分位数的快速估算能力,定位信息中统计异常的能力,所有的这些都在近乎实时的情况下操作的,而且全文搜索是并行的,它们改变了很多组织和企业的游戏规则。

    事情通常是一旦我们开始使用它,我们就能找到很多其他的可用场景。实时报表与分析对于很多组织来说都是核心功能(它远不止商业智能或服务器日志那么简单)。

    能力越大责任也越大,对于 Elasticsearch 就是意味着内存适当的管理。在 Elasticsearch 中 内存通常是个限制因素,特别是那些高度使用聚合的节点。因为聚合数据都被加载到 fielddata 中,这是一个内存数据结构,所以对内存使用的高效管理至关重要。

    内存的管理形式可以有多种形式,这取决于我们特定的应用场景:

    • 在数据层,确保合理的 analyze(或 not_analyze)分析数据从而友好的利用内存。
    • 在索引时,对于内容很多的字段使用磁盘存储文档而不是内存里的 fielddata。
    • 在搜索时,合理利用近似聚合和数据过滤。
    • 在节点层,设置硬内存大小以及动态的断熔限制。
    • 在操作层,监控内存使用情况并控制缓慢的内存回收周期,可以给集群增加更多节点。

    大多数实施会应用到以上一种或几种方法。确切的组合方式与我们特定的系统环境高度相关。有些组织需要强劲的响应能力所以只是简单地选择增加更多节点。有的组织受限于预算,会选择使用文档值和近似聚合。

    无论采取何种方式,对于现有的选择进行评估十分重要,并同时创建短期和长期计划。先决定当前内存的使用情况和需要做的事情(如果有),再决定未来六个月到一年数据会如何增长,使用何种方式来扩展?

    最好在建立集群之前就计划好这些内容,而不是在我们集群堆内存使用 90% 的时候再临时抱佛脚。

    参考

    elastic.co:
    Closing Thoughts

  • 相关阅读:
    YXY-压测
    禅道使用
    抓https包
    数据库基本查询语句
    限制网速 制造测试条件
    测试中认识 sqlite
    Adb 命令
    jmeter 查看提取的参数
    jmeter传入字符时文本显示乱码
    nginx 访问springboot项目
  • 原文地址:https://www.cnblogs.com/richaaaard/p/5329245.html
Copyright © 2020-2023  润新知