企业网站系统功能分析与设计,店铺推广方式有哪些,网页内容,简历电子模版免费下载作者#xff1a;George Kobar, Ugo Sangiorgi 对于任何依赖快速、准确搜索数据的组织来说#xff0c;强大、快速且高效的搜索引擎是至关重要的元素。 对于开发人员和架构师来说#xff0c;选择正确的搜索平台可以极大地影响你的组织提供快速且相关结果的能力。 在我们全面的…作者George Kobar, Ugo Sangiorgi 对于任何依赖快速、准确搜索数据的组织来说强大、快速且高效的搜索引擎是至关重要的元素。 对于开发人员和架构师来说选择正确的搜索平台可以极大地影响你的组织提供快速且相关结果的能力。 在我们全面的性能测试中Elasticsearch 成为明智的选择。 Elasticsearch 比 OpenSearch 快 40%-140%同时使用更少的计算资源。
在本文中我们将在六个主要领域对 Elasticsearch 8.7 和 OpenSearch 2.7测试时两者的最新版本进行性能比较文本查询、排序、日期直方图、范围和术语包括资源利用率。 我们的目标是提供公平、实用的技术见解帮助你做出明智的决策无论你是优化现有系统还是设计新系统。 此比较还旨在清楚地突出 Elasticsearch 和 OpenSearch 之间的性能差异表明两者完全不同。
我们将首先回顾性能比较的结果然后是我们的测试方法和测试环境。 结果
使用 t-test 对性能比较结果重点关注请求的 p90第 90 个百分位数进行交叉验证以确保两种解决方案之间的延迟测量存在统计差异。 针对每种查询类型计算相对变化以百分比表示。 我们还使用箱线box plot图显示 100% 请求的延迟分布箱线图显示最小值、最大值、中值、平均值和异常值。 实际的方框显示了下四分位数和上四分位数其中分别有 25% 和 75% 的观测值落在其中。通过这种方式我们可以了解这些值的实际分布情况。 文本查询 — 速度提高 76%
“Show me all data that has janedoe.com.” Elasticsearch 表现出了显着的领先优势执行文本查询的速度比 OpenSearch 快 76%。
文本查询是全文搜索的基础和关键而全文搜索是 Elasticsearch 的主要功能。 文本字段查询允许用户搜索文本数据中的特定短语、单个单词甚至单词的一部分。 用户能够通过文本数据执行复杂的搜索 —— 它增强了整体搜索体验并支持广泛的应用程序和解决方案。 排序
Show me the most expensive products first. 在对简单文本查询结果进行排序时Elasticsearch 的性能比 OpenSearch 高出惊人的 140%。 此外Elasticsearch 的时间戳、关键字和数字排序查询的执行时间分别加快了 24%、97% 和 53%。
排序是按特定顺序例如字母顺序、数字顺序或时间顺序排列数据的过程。 排序对于基于特定条件的搜索结果非常有用可确保向客户呈现最相关的结果。 这是增强用户体验并提高搜索过程整体效率的重要功能。 日期直方图
“Show me a bar chart ordered in time for all the data.” 对于日期直方图聚合Elasticsearch 比 OpenSearch 快 81%展示了其强大能力。 处理时间的加速有利于根据时间序列数据生成有序条形图。
日期直方图聚合可用于通过将基于时间的数据划分为间隔或存储桶来聚合和分析数据。 此功能使用户能够可视化并更好地了解一段时间内的趋势、模式和异常情况。 范围查询
“Show me just the price of your products between 0-25.” Elasticsearch 在范围查询方面快了 40%在范围聚合方面快了 68%。
在测试或关键字字段上搜索范围查询是性能和可扩展性的另一个核心参数。 范围查询对于根据给定字段中的特定值范围过滤搜索结果非常有用。 此功能允许用户缩小搜索结果范围并快速找到更多相关信息。
更快的构面创建至关重要因为它涉及根据特定属性将数据分类为组分面然后在每个组内执行汇总操作。 此过程通过提供电子商务应用程序中经常使用的数据的结构化视图使分析、过滤和可视化变得更加容易。 术语查询
“Group the data by what products were bought together.” Elasticsearch 展示了其优越性与 OpenSearch 相比术语查询速度快 108%复合术语聚合速度快 103%。 这些优势使 Elasticsearch 成为涉及数据分组和过滤的任务的更有吸引力的选择。
Elasticsearch 中的 “Significant Terms” 聚合会自动排除常见或不感兴趣的术语例如停用词“and”、“the”、“a”或结果中索引中频繁出现的术语。 这是基于对索引数据中的术语频率和分布的统计分析。 资源利用率
Elasticsearch 不仅在各种与搜索相关的任务中优于 OpenSearch而且还被证明具有更高的资源效率。 默认情况下OpenSearch 对数据流使用 best_speed 编解码器优先考虑查询速度而不是存储效率而 Elasticsearch 使用 best_compression。 使用默认的开箱即用设置Elasticsearch 使用的磁盘空间减少了 37%并且当在两者上使用 best_compression用于此基准测试的编解码器时Elasticsearch 的空间效率仍然提高了 13%。 时间序列数据流 (TSDS)
我们更进一步将数据重新索引到时间序列数据流中从而进一步压缩数据 - 平均文档大小从 218 kb 下降到 124 kb减少了 54.8%如下表所示。 Average Document Size Difference from OpenSearch OpenSearch Datastream 249 kb - Elasticsearch Datastream 218 kb 13% Elasticsearch TSDS 124 kb 54.8% 第三方验证
我们的性能测试方法和结果已经过 TechTarget 的 Enterprise Strategy Group一家受人尊敬的第三方供应商的独立验证。 Tech Target 企业战略组 ESG 的验证增加了我们的调查结果的可信度和公正性确保测试方法和后续结果保持最高的准确性和完整性标准。 他们的认可重申了我们比较的稳健性和可靠性使你能够根据我们的基准测试结果做出明智的决定。 测试方法
我们如何得出这些结果
本着公平、精确比较 Elasticsearch 和 OpenSearch 的精神我们创建了两个等效的 5 节点集群每个集群配备 32GB 内存、8 个 CPU 核心、每个节点 300GB 磁盘。 对于每个产品我们提取随机生成的相同 1TB 日志文件其中包含 22 个字段更多详细信息如下。
测试是在单独的 Kubernetes 节点池中完成的确保每个产品都有专用资源。 我们遵循 Elasticsearch 和 OpenSearch 的最佳实践包括在发起查询之前强制合并索引以及防止缓存请求影响的策略从而确保测试结果的完整性。 为了保证 Elasticsearch 和 OpenSearch 比较的透明度我们将完整的基准测试流程作为开源项目提供。 可在此处访问的存储库包括用于配置 Kubernetes 集群的 Terraform 配置以及用于创建 Elasticsearch 和 OpenSearch 集群的 Kubernetes 清单。 此外存储库中还提供了基准测试中使用的查询。
你不仅可以测试自己还可以使用此存储库进行自己的研究并提高 Elasticsearch 项目的性能。 我们测试了什么
我们在 Elasticsearch 和 OpenSearch 之间进行的测试是在关键使用领域进行的包括
搜索 - 具有典型搜索栏的电子商务用例可观察性 —— 大量系统遥测数据例如日志、指标和应用程序跟踪安全——安全事件实时分析
即将进行的比较将深入分析每个平台在这些领域的表现包括文本查询、排序、数据直方图、范围和术语。 数据集和摄取
使用此开源工具生成了 1TB 数据集然后将其上传到 GCP 存储桶。 Logstash® 用于将 GCP 存储桶中的数据集提取到 Elasticsearch 和 OpenSearch 中。 存储库中还包含生成类似数据集的说明以防你想要复制基准测试。
各字段组成的所有日志如下表所示。 除 timestamp 之外所有事件的值都是随机的timestamp 是每个事件连续且唯一的。 Field Value timestamp Jan 3, 2023 18:59:58.000 agent.id baac7358-a449-4c36-bf0f-befb211f1d38 agent.name fernswisher agent.type filebeat agent.version8.8.0aws.cloudwatch.ingestion_time2023-05-01T20:49:30.820Zaws.cloudwatch.log_group/var/log/messagesaws.cloudwatch.log_streamnorthcurtaincloud.regionap-southeast-3data_stream.datasetbenchmarksdata_stream.namespaceday3data_stream.typelogsevent.datasetgenericevent.idgravecraneinput.typeaws-cloudwatchlog.file.path/var/log/messages/northcurtainmessage2023-05-01T20:49:30.820Z May 01 20:49:30 ip-106...meta.file2023-01-03/1682974095-gotext.ndjson.gzmetrics.size408metrics.tmin238process.namesystemdtagspreserve_original_event 基准测试
总共考虑了五个关键领域的 35 种查询类型总计 387,000 个请求。 在 100 个预热查询之后每个查询类型执行 100 次每个查询重复该过程 50 次。
Rally 是 Elastic® 开发的开源工具用于 Elasticsearch 和 Elastic Stack 的其他组件的基准测试和性能测试。 它允许用户针对 Elasticsearch 集群模拟各种类型的工作负载例如索引和搜索并以可重现的方式测量其性能。 虽然 Rally 是由 Elastic 开发的主要是为了对 Elasticsearch 进行基准测试而设计的但它是一个灵活的工具可以适应与 OpenSearch 一起使用。
Elastic 每天运行基准测试以确保 Elasticsearch 中的任何新代码的性能与昨天一样或更好。 我们还使用自己的机器学习来识别性能异常或资源利用效率低下。 我们以透明和公开的方式提供性能和大小测试以使使用我们产品的每个人受益。 值得注意的是其他厂商不提供此功能这可以帮助用户随着时间的推移监控他们感兴趣的变化。 结论Elasticsearch — 明显的胜利者
考虑到各种测试的结果很明显 Elasticsearch 始终优于 OpenSearch。 无论是处理简单查询、对数据排序、生成直方图、处理术语或范围查询甚至是资源优化Elasticsearch 都处于领先地位。
在选择搜索引擎平台时企业应优先考虑速度、效率和低资源利用率 —— 这些都是 Elasticsearch 所擅长的属性。 这使得它成为依赖快速准确搜索结果的组织的一个令人信服的选择。 无论你是对搜索结果进行排序的电子商务平台、识别威胁的安全分析师还是仅仅需要有效观察关键应用程序Elasticsearch 都在此次比较中成为明显的领导者。 准备好亲自测试 Elasticsearch 了吗
开始免费试用 Elastic Cloud 14 天了解 Elasticsearch 性能如何帮助你完成项目。 本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。