eBay Elasticsearch性能优化实践

【Elasticsearch】eBay上的Elasticsearch性能调优实践 1.概述 翻译:eBay上的Elasticsearch性能调优实践 中文版:eBay上的Elasticsearch性能调优实践 Elasticsearch 是一个基于 Apache Lucene 的开源搜索和分析引擎,允许用户近实时地存储、搜索和分析数据。Pronto 是 eBay 托管 Elasticsearch 集群的平台,使 eBay 内部客户易于部署、运维和扩展 Elasticsearch 以进行全文搜索、实时分析和日志事件监控。今天 Pronto 管理着 60 多个 Elasticsearch . 阅读详情

原文:eBay网Elasticsearch性能优化实践
作者:Pei Wang
翻译:无阻我飞扬

摘要:Elasticsearch是基于Apache Lucene的开源搜索和分析引擎,允许用户以近乎实时的方式存储,搜索和分析数据。虽然Elasticsearch专为快速查询而设计,但其性能在很大程度上取决于用于应用程序的场景,索引的数据量以及应用程序和用户查询数据的速率。这篇文章概述了挑战和调优过程,以及Pronto团队以战略方式构建应对挑战的工具。它还以各种图形配置展示了进行基准测试的一些结果。以下是译文。

Elasticsearch是基于Apache Lucene的开源搜索和分析引擎,允许用户以近乎实时的方式存储,搜索和分析数据。Pronto是在eBay网站上托管Elasticsearch集群的平台,该平台使得eBay网内部客户易于部署,操作用于全文搜索,实时分析和日志/事件监控的大规模的Elasticsearch。当前Pronto平台管理着60多个Elasticsearch集群和2000多个节点,日采集量达到180亿份文档,日均搜索请求达到35亿份。平台提供从条款,补救以及安全到监控,报警和诊断的全方位的信息。

虽然Elasticsearch专为快速查询而设计,但其性能在很大程度上取决于用于应用程序的场景,索引的数据量以及应用程序和用户查询数据的速率。这篇文章概述了挑战和调优过程,以及Pronto团队以战略方式构建应对挑战的工具。它还以各种图形配置展示了进行基准测试的一些结果。

挑战

迄今为止所观察到的Pronto / Elasticsearch使用案例面临的挑战包括:

  1. 高吞吐量:一些集群每天摄取高达5TB的数据,一些集群每天的搜索请求超过4亿。如果Elasticsearch无法及时处理这些请求,那么这些请求将在上游累积。
  2. 搜索延迟低:对于性能关键的集群,尤其是面向站点的系统,低搜索延迟的特性是必须具有的,否则用户体验将会受到影响。
  3. 由于数据或查询是可变的,所以最佳设置总是在变化。所有情况都没有最佳设置。例如,将索引拆分成更多的分片(代表索引分片,Elasticsearch可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。)对于耗时的查询是很有好处的,但是这可能会损害其它查询性能。

解决方案

为了帮助客户应对这些挑战,Pronto团队从用户案例开始入手并持续整个集群生命周期,构建性能测试、调优和监控的战略方法。

  1. 评估集群大小:在一个新的用户案例部署之前,收集客户提供的信息,诸如吞吐量,文档大小,文档数量和搜索类型,以评估Elasticsearch集群的初始大小。
  2. 优化索引设计:与客户一起评审索引设计。
  3. 调优索引性能:根据用户场景调优索引性能和搜索性能。
  4. 调优搜索性能:使用用户真实数据/查询运行性能测试,用Elasticsearch配置参数的组合比较和分析测试结果。
  5. 运行性能测试:在案例启动以后,集群将受到监控,每当数据发生变化,查询更改或者流量增加时,用户都可以自由地重新运行性能测试。

评估集群大小

Pronto团队为每种类型的机器和每个支持的Elasticsearch版本运行基准测试,以收集性能数据,然后将其与客户提供的信息一起用于评估集群的初始大小,这些信息包括:

  • 索引吞吐量
  • 文档大小
  • 搜索吞吐量
  • 查询类型
  • 热索引文档计数
  • 保留策略
  • 响应时间要求
  • SLA级别

优化索引设计

在开始摄取数据并运行查询之前,请三思而后行。索引代表着什么?Elastic的官方回答是“具有相似特征的文档集合”。那么下一个问题是“应该使用哪些特征来对数据进行分组?应该把所有文件放入一个索引还是多个索引呢?”答案是,这取决于所使用的查询。下面是关于如何根据最常用的查询分组索引的一些建议。

  • 如果查询有一个过滤字段并且它的值是可枚举的,那么把数据分成多个索引。例如,有大量的全球产品信息被摄取到Elasticsearch中,大多数查询都有一个过滤子句“region”(区域),并且很少有机会运行跨区域查询。查询主体可以优化为:
    {
        "query": {
            "bool": {
                "must": {
                    "match": {
                        "title": "${title}" }
                },
                "filter": {
                    "term": {
                        "region": "US" }
                }
            }
        }
    }

在这种情况下,如果索引按照美国,欧洲等地区分成几个较小的索引,就可以获得更好的性能。然后可以从查询中删除过滤子句。如果需要运行一个跨区域查询,可以将多个索引或通配符传递给Elasticsearch。

  • 如果查询具有过滤字段并且其值不可枚举,请使用路由。可以通过使用过滤字段值作为路由键来将索引拆分成多个分片,然后删除过滤条件。关于ElasticSearch里的路由功能请参见这篇文章。

    例如,Elasticsearch有数以百万计的订单,大多数查询需要通过买家ID查询订单。为每个买家创建索引是不可能的,所以不能通过买家ID将数据拆分成多个索引。一个合适的解决方案是使用路由将具有相同买家ID的所有订单放入同一个分片中,然后几乎所有的查询都可以在匹配路由键的分片内完成。

  • 如果查询具有日期范围过滤条件,则按日期分组数据。这适用于大多数日志记录或监控场景。可以以每天,每周或每月分组索引,然后可以在指定的日期范围内获得索引列表。Elasticsearch只需要查询一个较小的数据集而不是整个数据集。此外,当数据过期时,很容易缩小/删除旧的索引。

  • 明确地设置映射。Elasticsearch可以动态地创建映射,但可能并不适用于所有场景。例如,Elasticsearch 5.x中默认的字符串字段映射是“关键字”和“文本”类型,这在很多场景下是没有必要的。

  • 如果文档使用用户定义的ID或路由索引,请避免不平衡分片。 Elasticsearch采用随机ID生成器和哈希算法来确保文档均匀地分配给分片。当使用用户定义的ID或路由时,ID或路由键可能不够随机,并且一些分片可能明显比其它分片更大。在这种情况下,在这个分片上的读/写操作将比在其它分片上慢得多。可以优化ID /路由键或使用index.routing_partition_size (在5.3和更高版本中可用)。

  • 使分片均匀分布在节点上。如果一个节点比其它节点有更多的分片,则会比其它节点承担更多的负载,并很有可能成为整个系统的瓶颈。

调优索引性能

用于索引诸如日志和监控之类的重场景,索引性能是关键指标。这里有一些建议:

  • 使用批量请求。
  • 使用多个线程/工作来发送请求。
  • 增加刷新间隔。每次刷新事件发生时,Elasticsearch都会创建一个新的Lucene段,并在稍后进行合并。增加刷新间隔将降低创建/合并的成本。请注意,只有在刷新事件发生后才能进行文件搜索。
    这里写图片描述

    性能和刷新间隔之间的关系

从上图可以看出,随着刷新间隔的增大,吞吐量增加,响应时间变快。可以使用下面的请求来检查有多少段以及刷新和合并花费了多少时间。

Index/_stats?filter_path= indices.**.refresh,indices.**.segments,indices.**.merges
  • 减少副本数量。Elasticsearch需要为每个索引请求将文档写入主要和所有副本分片。显然,一个大的副本数会减慢索引速度,但另一方面,增加副本数量将提高搜索性能。这个话题将在本文后面讨论。副本的作用一是提高系统的容错性,当某个节点某个分片损坏或丢失时可以从副本中恢复;二是提高Elasticsearch的查询效率,Elasticsearch会自动对搜索请求进行负载均衡

    这里写图片描述

    性能和副本数量之间的关系

从上面的图中,可以看到随着副本数量的增加,吞吐量下降,响应时间也变慢。

  • 如果可能,使用自动生成的ID。 Elasticsearch自动生成的ID可以确保是唯一的,以避免版本查询。如果客户真的需要使用自定义的ID,建议选择一个对Lucene友好的ID,比如零填充顺序ID,UUID-1或者Nano time。这些ID具有一致的顺序模式,压缩良好。相比之下,像UUID-4这样的ID本质上仍旧是随机的,它提供了较差的压缩比,并降低了Lucene的速度。

调优搜索性能

使用Elasticsearch的主要原因是其支持通过数据进行搜索。用户应该能够快速地找到所需要查找的信息。搜索性能取决于很多因素:

  • 如果可能的话,使用过滤语境而不是查询语境。一个查询子句用于回答“这个文档如何与查询子句匹配?” ,过滤子句用于回答“这个文档是否匹配这个过滤子句?”。Elasticsearch只需要回答“是”或“否”。它不需要计算过滤子句的相关性得分,并且可以高速缓存过滤结果。有关详细信息,请参阅查询和过滤语境。
    这里写图片描述

比较查询和过滤

  • 增加刷新间隔。正如在调优索引性能部分所提到的,Elasticsearch每次刷新时都会创建一个新的段。增加刷新间隔将有助于减少段数并降低搜索的IO成本。而且一旦发生刷新并且数据改变,缓存将无效。增加刷新间隔可以使Elasticsearch更高效地利用缓存。

  • 增加副本数量。Elasticsearch可以在主分片或副本分片上执行搜索。拥有的副本越多,搜索中涉及的节点就越多。

这里写图片描述

性能和副本数量之间的关系

从上图可以看出,搜索吞吐量几乎与副本数量成线性关系。注意在这个测试中,测试集群有足够的数据节点来确保每个分片都有一个独占节点,如果这个条件不能满足,搜索吞吐量就不会那么好。

  • 尝试不同的分片数量。“应该为索引设置多少分片?” 这可能是最常见的问题。不幸的是,所有场景都没有标准的数字,这完全取决于当时的实际情况。

太小的分片数量会使搜索无法扩展。例如,如果分片数量设置为1,则索引中的所有文档都将存储在一个分片中。对于每个搜索,只能涉及一个节点。如果有很多文件,那是很耗费时间的。另一方面,创建索引的分片太多也会对性能造成危害,因为Elasticsearch需要在所有分片上运行查询,除非在请求中指定了路由键,然后将所有返回的结果一起取出并合并。

根据经验来说,如果索引小于1G,可以将分片数设置为1。对于大多数情况,可以将分片数保留为默认值5,但是如果分片大小超过30GB,应该增加分片数量将索引分成更多的分片。创建索引后,分片数量不能更改,但是可以创建新的索引并使用reindex API转移数据。

在这里测试了一个拥有1亿个文档,大约150GB的索引,使用了100个线程发送搜索请求。

这里写图片描述

性能和分片数量之间的关系

从上图中可以看出,优化后的分片数量为11个。开始的时候,搜索吞吐量增加(响应时间减少),但随着分片数量的增加,搜索吞吐量减少(响应时间增加)。

请注意,在这个测试中,就像在副本数量测试中一样,每个分片都有一个独占节点。如果这个条件不能满足,搜索吞吐量就不会像上图所示那样好。

在这种情况下,建议尝试一个小于优化值的分片数,因为如果使用大分片数,并且使每个分片都有一个独占数据节点,那么就需要很多个节点。

  • 节点查询缓存。 节点查询缓存只缓存正在过滤语境中使用的查询。与查询子句不同,过滤子句是“是”或“否”的问题。Elasticsearch使用一个位设置机制来缓存过滤结果,以便后面的查询使用相同的过滤条件进行加速。请注意,只有保存超过10,000个文档的分段(或文档总数的3%,以较大者为准)才能启用节点查询缓存。有关缓存的更多详细信息,请参阅关于缓存。

可以使用下面的请求来检验一个节点查询缓存是否有效。

GET index_name/_stats?filter_path=indices.**.query_cache
{
  "indices": {
    "index_name": {
      "primaries": {
        "query_cache": {
          "memory_size_in_bytes": 46004616,
          "total_count": 1588886,
          "hit_count": 515001,
          "miss_count": 1073885,
          "cache_size": 630,
          "cache_count": 630,
          "evictions": 0
        }
      },
      "total": {
        "query_cache": {
          "memory_size_in_bytes": 46004616,
          "total_count": 1588886,
          "hit_count": 515001,
          "miss_count": 1073885,
          "cache_size": 630,
          "cache_count": 630,
          "evictions": 0
        }
      }
    }
  }
}
  • 分片查询缓存。如果大多数查询是聚合查询,应该看看分片查询缓存,它可以缓存聚合结果,以便Elasticsearch直接以低成本提供请求。有几件事情需要注意:

    o 设置“size”:0。分片查询缓存只缓存聚合结果和建议。它不会缓存操作过程,因此如果将大小设置为非零,则无法从缓存中获益。

    o 有效负载JSON必须相同。分片查询缓存使用JSON主体作为缓存键,因此需要确保JSON主体不会更改,并确保JSON主体中的键具有相同的顺序。

    o Round日期时间。不要直接在查询中使用像Date.now这样的变量,Round它。否则,每个请求都会有不同的有效负载主体,从而导致缓存始终无效。建议Round日期时间为小时或天,以便更有效地利用缓存。

可以使用下面的请求来检验分片查询缓存是否有效果。

GET index_name/_stats?filter_path=indices.**.request_cache
{
  "indices": {
    "index_name": {
      "primaries": {
        "request_cache": {
          "memory_size_in_bytes": 0,
          "evictions": 0,
          "hit_count": 541,
          "miss_count": 514098
        }
      },
      "total": {
        "request_cache": {
          "memory_size_in_bytes": 0,
          "evictions": 0,
          "hit_count": 982,
          "miss_count": 947321
        }
      }
    }
  }
}
  • 仅检索必要的字段。如果文档很大,并且只需要几个字段,请使用 stored_fields 检索所需要的字段而不是所有字段。

  • 避免搜索停用词。诸如“a”和“the”这样的停用词可能导致查询命中结果计数爆炸。设想有一百万个文件,搜索“fox”可能会返回几十个结果,但搜索“the fox”可能会返回索引中的所有文件,因为“the”出现在几乎所有的文件中。Elasticsearch需要对所有命中的结果进行评分和排序,导致像“the fox”这样的查询减慢整个系统。可以使用停止标记过滤来删除停用词,或使用“和”运算符将查询从“the fox”更改为“the AND fox”,以获得更精确的结果。

如果某些词在索引中经常使用,但不在默认停用词列表中,则可以使用截止频率来动态处理它们。

  • 如果不关心文档返回的顺序,则按_doc排序。Elasticsearch使用“_score”字段按默认分数排序。如果不关心顺序,可以使用“sort”:“_doc”让Elasticsearch按索引顺序返回。

  • 避免使用脚本查询来计算不固定的匹配。在索引时存储计算的字段。例如,有一个包含大量用户信息的索引,需要查询以“1234”开头的所有用户。或许想运行一个脚本查询,如“source”:“doc [‘num’].value.startsWith(’1234’)。” 这个查询是非常耗费资源的,并且减慢整个系统。索引时考虑添加一个名为“num_prefix”的字段,然后只需要查询“name_prefix”:“1234”。

  • 避免通配符查询。

运行性能测试

对于每一次改变,都需要运行性能测试来验证变更是否适用。因为Elasticsearch是一个restful服务(基于RESTful web接口),所以可以使用诸如Rally,Apache Jmeter和Gatling等工具来运行性能测试。因为Pronto团队需要在每种类型的机器和Elasticsearch版本上运行大量的基准测试,而且需要在许多Elasticsearch集群上运行Elasticsearch配置参数组合的性能测试,所以这些工具并不能满足需求。

Pronto团队构建了基于Gatling的在线性能分析服务 ,帮助客户和我们运行性能测试并进行回归。该服务提供的功能使我们能够:

  1. 轻松添加/编辑测试。用户可以根据自己的输入查询或文档结构生成测试,而无需具有Gatling或Scala知识。
  2. 按顺序运行多个测试,无需人工干预。它可以检查状态并在每次测试之前/之后更改Elasticsearch设置。
  3. 帮助用户比较和分析测试结果分析。测试期间的测试结果和集群统计信息将保留下来,并可以通过预定义的Kibana可视化进行分析。
  4. 从命令行或Web UI运行测试。Rest API还提供了与其它系统的集成功能。

下图是架构

这里写图片描述

性能测试服务架构

用户可以查看每个测试的Gatling报告,并查看Kibana预定义的可视化图像,以便进一步分析和比较,如下图所示。

这里写图片描述

Gatling报告

这里写图片描述

Gatling报告

总结

本文概述了索引/分片/副本设计以及在设计Elasticsearch集群时应该考虑的一些其它配置,以满足摄取和搜索性能的高期望。它还说明了Pronto团队如何在战略上帮助客户进行初始规模调整,索引设计和调优以及性能测试。截至今天,Pronto团队已经帮助包括订单管理系统(OMS)和搜索引擎优化(SEO)在内的众多客户实现了苛刻的性能目标,从而为eBay的关键业务做出了贡献。

Elasticsearch的性能取决于很多因素,包括文档结构,文档大小,索引设置/映射,请求率,数据集的大小,查询命中计数等等。针对一种情况的性能优化推荐不一定适用于另一种情况。彻底地测试性能,收集遥测数据,根据工作负载调整配置以及优化以满足性能要求非常重要。

【Elasticsearch】Elasticsearch性能调优 1.概述 转载:Elasticsearch性能调优 因为总是看到很多同学在说elasticsearch性能不够好,集群不够稳定,询问关于elasticsearch的调优,但是每次都是一个个点的单独讲,很多时候都是case by case的解答,今天简单梳理下日常的elasticsearch使用调优,以下仅为自己日常经验之谈,如有疏漏,还请大家帮忙指正。 一、配置文件调优 elasticsearch.yml 内存锁定 bootstrap.memory_lock:true 允许 JVM 锁住内存,禁止操作系统交 阅读详情

相关推荐

Gartner 2025 中国网络安全成熟度曲线深度解读:AI 安全如何重构防御逻辑

2025 年 Gartner 中国网络安全技术成熟度曲线的发布,标志着国内网络安全领域正式进入 “AI 原生防御” 时代。这份聚焦中国市场特性的报告清晰揭示:网络安全的核心命题已从 “防御 AI 驱动的攻击” 演进为 “保障 AI 系统自身安全与业务协同”,AI 安全技术正成为重构企业防御体系的核心引擎。

KKKlucifer的博客 1387

Elasticsearch-33.诊断集群的潜在问题 he 解决集群Yellow与Red的问题

Elasticsearch 诊断集群的潜在问题 集群运维所面临的挑战 用户集群数量多,业务场景差异大 使用与配置不当, 优化不够 如何让用户 更加高效和正确的使用ES 如何让用户更全面的了解自己的集群的使用状况 发现问题滞后,需要防患于未然 需要“有迹可循”,做到“有则改之,无则加勉” Elastic 有提供Support Diagnostics Tool - https://gi thub. com/e lastic/ support-diagnostics 集群绿色,是否意味着足

飘然渡沧海的博客 810

DVWA靶场实战:手把手教你绕过文件上传限制,用蚁剑连接一句话木马

本文详细介绍了在DVWA靶场中如何绕过文件上传限制并利用蚁剑连接一句话木马的实战技巧。通过分析文件上传漏洞原理、创建一句话木马、使用Burp Suite拦截修改请求以及配置蚁剑连接WebShell的全过程,帮助安全研究人员深入理解Web安全防护与攻击技术。

weixin_30335575的博客 90

Elasticsearch中查询性能优化

需要读取多个小块进行查询时,它并不会一次性将所有的小块全部加入内存中,而是采用分批读取的方式,以避免内存不足的情况发生。会首先从磁盘中读取一部分小块到内存中,以进行排序、过滤和组合等操作,然后将处理过的结果再与后面的小块进行组合。会从磁盘中读取这些小块,并在内存中对它们进行排序、过滤和组合,然后返回查询结果。中,文本内容被拆分成多个小块并不是保存在磁盘中的,而是保存在内存中的。无法将整个文本读入到内存中,因此会将文本拆分为多个小块,并将它们存储在磁盘上的多个。文档,可以通过分片和文档段来存储和管理。

醉鱼的博客 1379

SpringBoot整合海康SDK实战:从设备初始化到PS流录像转MP4全流程(附避坑指南)

本文详细介绍了SpringBoot整合海康SDK的完整实战流程,涵盖设备初始化、通道管理、录像检索与下载。针对海康设备生成的PS流录像文件无法直接播放的痛点,重点解析了如何利用FFmpeg高效、无损地将其转换为通用的MP4格式,并提供了关键的避坑指南和性能优化建议。

chair的专栏 764

STM32 USART高级功能全解析:IrDA、DMA、硬件流控与低功耗唤醒

USART是嵌入式系统中最基础的串行通信外设,其核心原理在于同步/异步时序控制与数据帧收发机制。现代MCU如STM32通过深度集成IrDA调制解调、DMA直传通道、RS232/RS485硬件流控及Stop模式唤醒等扩展能力,显著提升通信可靠性、吞吐效率与能效比。其中,IrDA SIR采用RZI编码实现抗干扰红外传输,DMA通过TXE/RXNE事件驱动实现零CPU干预的连续数据流,而硬件流控(RTS/CTS/DE)和低功耗唤醒(WUF+UESM)则分别保障工业现场鲁棒性与电池级超长待机。本文围绕STM32平台

weixin_28922227的博客 211

Elasticsearch 性能调优指南

​ es的默认配置是一个非常合理的默认配置,绝大多数情况下是不需要修改的,如果不理解某项配置的含义,没有经过验证就贸然修改默认配置,可能造成严重的后果。比如max_result_window这个设置,默认值是1W,这个设置是分页数据每页最大返回的数据量,冒然修改为较大值会导致OOM。ES没有银弹,不可能通过修改某个配置从而大幅提升ES的性能,通常出厂配置里大部分设置已经是最优配置,只有少数和具体的业务相关的设置,事先无法给出最好的默认配置,这些可能是需要我们手动去设置的。

qq_35067694的博客 4097

极路由 极1s J1S hc5661 刷padavan固件

极路由1S刷机指南 准备工作: 下载Breed不死固件 通过WinSCP上传或直接wget获取 执行mtd命令写入Breed 关键步骤: 进入Breed控制台(按住Reset键开机) 备份原厂固件和密钥 下载Padavan固件(RT-N14U-GPIO-12-xiaodu-ji1S-128M.trx) 刷机过程: 在Breed控制台更新固件 等待自动重启完成 初始设置: 管理地址:192.168.123.1 默认账号:admin/admin 无线名称:PCDN 无线密码:1234567890 注意事项:切勿

SimonLiu的博客 1302

elasticsearch 性能调优(转载)

转载:eBay的Elasticsearch性能调优实践

weixin_34245169的博客 103

vue3 - 详细实现视频/图片/图文“响应式瀑布流“列表布局示例代码,手机移动端H5或PC端电脑网页根据屏幕宽度自适应响应式瀑布流效果,支持数据列表动态懒加载,仿小红书图文视频div容器的瀑布流方案

vue3,nuxt3,瀑布流,响应式,图片瀑布流,视频瀑布流,图文瀑布流,手机移动端,H5瀑布流,电脑PC网站,手机电脑都能用的瀑布流布局,屏幕自适应,最好用的瀑布流组件插件,滚动分页加载瀑布流列表,瀑布流效果,自适应瀑布流布局详细教程,动态加载数据,懒加载,小红书,图文列表,视频列表,列表容器高度不一致怎么排列,整个屏幕全是宽高不固定的div容器列表怎么办,移动端和pc端双端实现瀑布流,vue3实现图片瀑布流布局以及响应式,滚动条触底懒加载,组件插件,vue3瀑布流 电脑手机都能用,解决卡顿不流畅,对不齐

✅ 精选推荐文章 4340

【Java基础知识 19】Java接口的作用和意义

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

学Java,找哪吒 2万+

eBay Elasticsearch 性能优化实战-中文篇

原文:Elasticsearch Performance Tuning Practice at eBay Elasticsearch是基于Apache Lucene并具有近实时存储、搜索、分析数据的开源搜索和分析引擎。虽然Elasticsearch是为快速查询而设计,但其性能主要取决于应用场景、索引数据量和用户查询数据的频率。本文总结了Pronto团队应对的挑战的策略。并展示了不同配置的基准测试

kimichen123的专栏 1685

2025_NIPS_Truthful Aggregation of LLMs with an Application to Online Advertising

大型语言模型(LLMs)生成内容的 revenue 变现是在线广告的下一个前沿领域。我们考虑这样一种场景:广告商旨在影响LLM的回复,而平台则寻求最大化广告商价值并确保用户满意度。核心挑战在于,广告商的偏好通常与用户偏好存在冲突,且广告商可能误报其偏好。为解决这一问题,我们提出MOSAIC——一种拍卖机制,它确保真实申报是广告商的占优策略,并使每个广告商的效用与其对社会福利的贡献保持一致。重要的是,该机制无需LLM微调或访问模型权重,且随着计算资源的增加,可证明收敛到最优微调LLM的输出。

c_cpp_csharp的专栏 81

从Druid到ClickHouse | eBay广告平台数据OLAP实战

供稿 |eBay Ads Team作者 | 吴寒思周路余何编辑 | 顾欣怡本文5272字,预计阅读时间17分钟导读INTRODUCTION本文介绍eBay广告数据平台的基本情况...

大数据星球-浪尖 951

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Elasticsearch 从入门到精通

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎。它可以从海量数据中快速找到相关信息,在同领域内几乎没有...

easylife206的专栏 817

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

带你最佳实践世界上最流行的开源搜索引擎

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎。它可以从海量数据中快速找到相关信息,在同领域内几乎没有...

非著名程序员 779

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Elasticsearch 的使用,看这一篇就够了!

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎。它可以从海量数据中快速找到相关信息,在同领域内几乎没有竞...

HollisChuang's Blog 1772

终于有人把 Elasticsearch 原理讲透了!

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎。它可以从海量数据中快速找到相关信息,在同领域内几乎没有...

大数据星球-浪尖 1259

我所了解的 京东、携程、eBay、小米 的 OpenStack 云

参加过几次 OpenStack meetup 活动,听过这几家公司的Architect 讲他们公司的 OpenStack产品。本文试着凭借影响加网络搜索,按照自己的理解,对这些公司的 OpenStack 产品和使用做个大概的比较。一家之言而已。 1. 京东的 OpenStack 云 京东在其多个数据中心中是用 OpenStack 部署其私有云。 特点如下: 1、部署在多个数据中心,物理...

weixin_33790053的博客 157

连 Elasticsearch 都不会,你还好意思说你是搞技术的?

众所周知,百度是一个搜索引擎,但是在我们日常工作生活中,它常常不是用来搜索的。想象这么一个场景,程序员大蕉一脸正气坐在位置上,眼睛看着天花板,好像在思考些什么。今天是公司...

u010459192的博客 1261

终于有人把 Elasticsearch 原理讲透了。

上个世纪末,我在广州做 PHP 程序员,那会儿程序员的门槛真低啊。我的上司是技术经理,非常照顾我。有个客户是开律所的,过来提了一个私活的需求,要做个法律查询的网站。上司让...

caoz的梦呓 5183

终于有人把 Elasticsearch 原理讲透了

上个世纪末,我在广州做 PHP 程序员,那会儿程序员的门槛真低啊。我的上司是技术经理,非常照顾我。有个客户是开律所的,过来提了一个私活的需求,要做个法律查询的网站。 上司让我赚点外块,说干就干,整个 Mysql,把内容导入进去,写个搜索查询语句,用不了多久,搞定。客户觉得,这开发效率,牛,没谁了。 于是,问题来了。搜索一个关键词,要等好半天,SQL 的 like 语法么,当时就会这个,更不用说...

勇往直前的专栏 4180

2019 年最新 Elasticsearch 7.1 版本使用教程

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎。它可以从海量数据中快速找到相关信息,在同领域内几乎没有...

u010889990的专栏 1468

查询亿级数据毫秒级返回!Elasticsearch 是如何做到的?

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎。它可以从海量数据中快速找到相关信息,在同领域内几乎没有...

xmt1139057136的专栏 512
上一篇: 编写高性能Java代码的最佳实践
下一篇: 2017年30个惊艳的Python开源项目
csdn研发技术
博客等级 码龄9年 1381粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值