gpt4 book ai didi

java - Solr 性能基准测试(3.6 版与 5.2 版)

转载 作者:行者123 更新时间:2023-11-28 22:41:12 26 4
gpt4 key购买 nike

我正在尝试测试 SOLR 5.2(我打算切换到)与 SOLR 3.6(目前在产品中使用)的 SOLR 性能,我正在使用 Jmeter 执行测试,测试计划中有 6 个查询,全部是简单的查询(查询固定字段值,例如:some_field:"fixed_value",或一个简单的方面)....问题是我希望在通过版本完成增强后性能会更好,但是它总是会给出更差的结果(更差的平均响应时间),所以我问:

1) 如果我在测试/测试标准中做错了导致不准确的结果,

2)或者可能是因为查询使用固定值,所以从缓存中读取或类似的东西

3)不适合在我的本地(非服务器机器)上测试

4)需要调jmeter

5)这是正常的

环境细节:

win7 - 8GB 内存 - i7

apache tomcat 7/8 - jetty(我尝试了 3.6 和 5.2 的所有三个)

java 7/8(我尝试了 3.6 和 5.2)

每个 solr 核心 30M 文档

核心使用与导入的相同版本的 solr 进行索引

*测试详情(在 jmeter 中):

60 个用户

20s ramp up period

吞吐量 20 个请求/秒(这是预期的命中率,所以我调整了延迟以达到它)

每个用户 6 个查询(无限运行)

最佳答案

您的问题是关于 solr 5.2 的性能,只有 6 个查询和简单的分面搜索。没有范围查询,没有复杂查询,也没有更新(这会清除缓存)。

我们最近也从 3.X 版本切换到 5.X。对于您的简单查询和简单方面,我们也有一个巨大的(0.8 倍)性能回归。但总的来说,搜索应用程序要快很多(1.2 倍)。

自 3.6 以来,lucene 中的许多工作都是为了近实时搜索 (NRS)。主要是 lucene-folk 减少了内存影响并从 IndexReader 开始至 LeafReader (=每个段的读者)。

另一个重大改进是 lucene 现在更了解索引中的标记类型(BytesRef 而不是 Strings)并且可以使用 Automaton遍历索引(而不是像前缀搜索那样只从一个标记跳到另一个标记)。

每个学期快速访问所有文档,是 lucene 从一开始就关注的焦点,而且还没有改进。

可以肯定的是,solr 3.X 中的简单分面是 ms 中性能的一瞥,因为大部分分面值都在主内存中。非常快但昂贵,而且只有在没有索引更新的情况下才能快速。

您可以切换编解码器以获得更好的“搜索固定字段值”性能。如果您切换到版本 5.4(因为它 speed-up faceting on doc values fields),您很可能会受益于用于分面搜索的新 DocValues。

请注意,等待分面证明的 solr-folk 现在真的很慢。如果你也可以用 5.4 证明这一点,请写一些问题 SOLR-8096:Major faceting performance regressions

关于分面的更新:

SOLR-8096 仍然开放,但 solr 5.5 似乎可以快速通过 SOLR-8466 再次分面:Uninverted field faceting is re-enabled, for higher performance on rarely changing indices

关于java - Solr 性能基准测试(3.6 版与 5.2 版),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34513027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com