为什么当我使用SOLR查询所有文档时CPU使用率接近100%

2023-12-05

我有一个使用 SOLR 查询 200 万以上文档并按时间排序的应用程序。 查询 URL 参数如下/select?sort=p_review_date desc&rows=10&start=0&q=*:*,参数start为变量值,每个请求增加10。 当我进行性能压力测试时,SOLR服务器CPU使用率接近100%。

问题: 1.CPU占用率高的原因是什么? 2.有没有办法让CPU占用率降低,比如缓存或者其他配置。

这是 solrconfig.xml 中查询缓存配置的一部分 1024

<queryResultCache
    class="solr.LRUCache"
    size="40960"
    initialSize="10240"
    autowarmCount="512"/>

<documentCache
    class="solr.FastLRUCache"
    size="40960"
    initialSize="10240"
    autowarmCount="0"/>

<enableLazyFieldLoading>true</enableLazyFieldLoading>

<queryResultWindowSize>10</queryResultWindowSize>

<queryResultMaxDocsCached>500</queryResultMaxDocsCached>

我在管理像您这样的大型索引(使用 Autonomy 搜索引擎)方面的经验是,100% CPU 是正常的。因为索引存储在 RAM 中,所以没有 I/O 活动来减慢搜索操作,CPU 将尝试尽快读取 RAM,这意味着接近 100% CPU。

为什么你希望你的搜索使用 50% 的 CPU,它会花费 2 倍的时间,对吗?

AIX 有一个名为 nmon 的性能监控工具。在里面nmon常见问题解答,作者提醒我们

如果你继续使用越来越短的 你最终会看到 CPU 要么 100% 繁忙,要么 100% 闲置所有其他号码只是一个 人类思维不快的特点 足够并且必须平均 CPU 使用时间较长。

即使您没有使用 AIX 作为操作系统,nmon FAQ 中也有很多关于系统/应用程序性能监控和测量的好信息。我推荐它,或者您更多地谷歌搜索如何诊断系统中的性能问题。

另外,您可能想在您的帖子中添加一些标签。 SO 有大量的基准测试和测试活动。

我希望这有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么当我使用SOLR查询所有文档时CPU使用率接近100% 的相关文章

  • 对 solr 搜索结果进行排序。给出错误无法对多值字段进行排序:名称

    我对 Apache Solr 搜索比较陌生 我正在尝试对 Solr 查询中的结果集进行排序 查询 名称 abc AND 隐藏 false sort name desc 它显示错误 无法对多值字段进行排序 名称 Solr版本是 7 2 1 如
  • Solr 4.0 中的 BaseTokenFilterFactory 去哪儿了?

    用于创建您自己的标记和字符过滤器的 Solr 文档说明如下 http wiki apache org solr AnalyzersTokenizersTokenFilters Specifying an Analyzer in the sc
  • 复杂的 SOLR 查询,包括 NOT 和 OR

    我对 SOLR 搜索有一些相当复杂的要求 我需要针对标记内容的数据库执行这些搜索 我需要首先过滤数据库以获取与我的过滤器标签匹配的结果 任何具有黑名单中的标签的结果都应被删除 除非它们也包含白名单中的标签 假设我想检索所有标记为 森林 或
  • 无限循环消耗 100% CPU

    我陷入了需要生成某个 Hz 的定义频率的情况 我尝试过多媒体计时器和互联网上提供的所有其他东西 但到目前为止 带有一些 if else 条件的无限循环给了我最好的结果 但这种方法的问题是它消耗了几乎所有的CPU 没有空间让其他应用程序正常工
  • 在solr中获取pdf搜索结果的页码

    我正在构建一个 Web 应用程序 用户可以在其中搜索 pdf 文档并使用 pdf js 查看它们 我想显示搜索结果 其中包含找到搜索词的段落的简短片段以及用于在右侧页面打开文档的链接 所以我需要的是每个搜索结果的页码和简短的文本片段 我正在
  • 客户端断开连接后 Solr 查询继续吗?

    我对 Solr 长期运行查询遇到的问题有一个理论 但我不知道它是否正确 也不知道如何测试它 我正在使用 cURL 从应用程序查询 Solr cURL 的配置方式是 如果 Solr 在 3 秒内未发送响应 它将放弃并断开连接 从而允许托管 c
  • 我们可以同时使用拼音标记和同义词吗?

    我正在尝试同时启用语音分析器和同义词 这似乎不起作用 它们一起使用有错吗 在下面的实现中 我希望使用同义词转换搜索查询 然后使用语音分析器来检索结果 但我的同义词在这里完全被忽略了 如果我在创建索引时删除语音分析器 那么同义词就可以正常工作
  • Solr 动态价格范围和组

    跟进问题 如何获取 solr 结果中的方面范围 https stackoverflow com questions 33956 how to get facet ranges in solr results SolR 查询 价格范围 htt
  • 在 solr 8 中的 fl 中使用父过滤器时获取“当架构嵌套时不应发送父过滤器”

    我正在尝试使用子文档获取父文档 但得到 当模式嵌套时不应发送父过滤器 error 附上下面我尝试过但无法得到解决方案的查询 q parent which content type person fl child parentFilter c
  • PerformanceCounter 报告的 CPU 使用率高于观察到的值

    我目前正在这样做 PerformanceCounter cpuUsage new PerformanceCounter Processor Processor Time Total cpuUsage NextValue System Thr
  • 用于标签搜索的数据存储解决方案

    我已经按照预先计算的分数订购了数百万件商品 每个项目都有许多布尔属性 假设总共有大约一万个可能的属性 每个项目有十几个 我希望能够请求实时 几毫秒 给定任意属性组合的前 n 个项目 您会推荐什么解决方案 我正在寻找可扩展性极强的东西 我们目
  • 为什么乘法比除法便宜?

    我最近编写了一个 Vector 3 类 并将我的 normalize 函数提交给朋友审阅 他说这很好 但我应该尽可能乘以倒数 因为在 CPU 时间上 乘法比除法便宜 我的问题很简单 这是为什么 从硬件可以更轻松地实现的基本运算的角度来考虑
  • 自定义存储库的 Spring Data Solr 优先级

    我需要在 Spring Data Solr 自定义存储库中实现以下内容 X 或 Y 和 Z 我当前的代码如下 Criteria criteria new Criteria x is X VALUE criteria criteria or
  • Solr 增量导入不起作用

    我使用的是solr 4 2 请注意 完全导入有效 但增量导入却无效 增量导入不会给出任何错误 但不会获取任何更改 这是数据配置文件
  • 是否可以检索与 Solr 中的查询匹配的字段名称?

    我想动态地向用户显示哪个字段与发送到 Solr 的查询相匹配 例如 如果我有一个文档 document field1 yay field2 nay dynamic field hurr one yay two nay 我查询 yay 我是否
  • 如何知道 Solr Optimize 何时完成?

    我正在使用 Solr php client 通过 php 与 Solr 进行通信 这段代码触发solr优化命令 solr gt optimize 请问有没有什么方法可以确定优化完成了 这都是因为我的网站上有一个管理页面 我每天必须手动优化
  • 在 solr 的类路径中找不到资源“solrconfig.xml”

    problem 我无法访问 solr 管理页面 当我在本地系统上运行 url 时 response
  • 使用 dismax 处理程序进行通配符搜索?

    我已成功索引文件 并且希望能够使用通配符进行搜索 我目前正在使用 dismaxRequestHandler QueryType dismax 进行搜索 以便我可以搜索查询的所有字段 像 computer 这样的常规搜索会返回结果 但 com
  • solr 不标记受保护的单词

    我在 Solr Lucene 3 x 中有一个文档 其中有一个特殊的复制字段facet headline 以便有一个用于分面的未词干字段 有时两个或以上的单词属于在一起 这应该被处理 算作一个单词 例如 kim jong il 因此标题 星
  • 安装solr并索引mysql

    任何人都可以帮助我安装 solr 并将其配置到 mysql 表 我已经尝试了几乎所有教程 我尝试了 Jetty 也尝试了 tomcat 仍然收到诸如数据处理程序未定义或找不到 solr 之类的错误 已经一周了 我我一整天都在努力 为了让 s

随机推荐

  • 一次仅允许有一个 UITableViewCell 附件复选标记

    我有一个表格视图 其中一个部分包含用户可以 选择 的声音列表 只有当前选择的声音应该显示UITableViewCellAccessoryCheckmark 基本上我已经成功了 然而 当例如底部单元格被选中 我向上滚动表格视图 使选中的单元格
  • 如何在 python 2.6 中使用日志记录 NullHandler

    目前我的大部分代码都设计为在 python 2 76 上运行 因此 我编写的库使用以下代码 以便我的库的任何使用者都可以拥有来自该库的调试日志记录 所以在每个库文件中我都有这个 log logging getLogger name log
  • 这个插值搜索实现有什么问题?

    这是在 Internet 上找到的插值搜索算法的常见 C C 实现 然而 当与大约 100000 个整数的排序数组一起使用时 中间变量开始生成负数组索引 从而导致分段错误 问题可能是什么 include
  • 使用 boost 迭代 xml 文件

    我是 boost 和 xml 的新手 我正在尝试扫描 xml 文件并保存一些特定值 I read this文章和我的问题是 如果 xml 包含几个
  • 预测时间序列数据

    我做了一些研究 但我一直在寻找解决方案 我有一个时间序列数据 非常基本的数据框架 我们称之为x Date Used 11 1 2011 587 11 2 2011 578 11 3 2011 600 11 4 2011 599 11 5 2
  • 更改编辑控件中文本的背景

    您可以更改编辑控件区域中保持静态的文本背景吗 在编辑控件的父级中 处理WM CTLC彩色静态消息 该消息的wParam是Edit控件将要绘制的HDC 对于大多数 CTLCOLOR 消息 如果您在此 DC 中设置文本和背景颜色 则控件将使用您
  • 对象处理触摸事件但也让它通过

    我想创建一个像这样工作的对象MultiPointTouchArea 因此它将具有 touchUpdated 信号 但它也不会窃取触摸 因此放置在其下方的对象也将接收触摸事件 该解决方案可能需要创建 C 对象 有没有一种简单的方法来创建这样的
  • 在 silverlight 中单击子窗口外部即可关闭子窗口

    当我点击子窗口外部时如何关闭子窗口 如果您使用默认的silverlight子窗口样式 当它打开时 外部部分 透明的灰色部分 实际上是子窗口样式内的网格 称为覆盖 所以你需要做的是处理它的MouseLeftButtonDown事件
  • 良好的命名空间命名约定

    我正在为 CRUD 业务应用程序创建一个类库 业务对象 以及相关的数据访问层对象 的主要 类别 是 维护 用于与master一起工作 数据库中的表 主列表 事件 大多数对象与现实世界的事件相关 搜索 显而易见 到目前为止 我的命名空间设置如
  • 使用 Java 将 At 命令发送到 gsm 调制解调器

    我正在尝试编写一个发送短信的程序 我写了程序 但没有成功发送消息 我的程序向我的计算机中的 COM 端口发送一条 At 命令 但我没有从我的 gsm 调制解调器收到响应 我正在使用 COM 终端 Temp pro 通过 at 命令发送短信
  • 如何在java中将mm / dd / yyyy转换为yyyy-mm-dd [重复]

    这个问题在这里已经有答案了 我将输入日期作为字符串输入 mm dd yyyy 并希望将其转换为 yyyy mm dd 我试试这个代码 Date Dob new SimpleDateFormat yyyy mm dd parse reques
  • 如何在SPRING MVC POJO的字段中保存日文字符

    我正在使用构建网络应用程序 春季MVC 春季安全 Hibenate MySQl 我想为我的应用程序添加国际化支持 我想使用 Hibernate 将日语字符存储并检索到 mySQL 数据库 我已将数据库字符集设置为UTF 8并且还添加了属性h
  • 适用于 iOS 的 RTSP 视频流 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想在iPhone屏幕上显示视频流RTSP 可以抛出项目的源代码或如何实现它的详细信息 找到2个项目 但还没有编译 https github com mooncatventure
  • 通过 python odoo 9 自定义报告

    如何将多个模块数据传递到 QWeb 报表 在从控制器渲染 html 时是否有类似于传递字典的东西 class account model Models name account main name fields Char class acc
  • 帮助页脚始终位于底部

    我知道这个问题已经在这里讨论过很多次了 但是我在这里找到的答案似乎都没有解决我的问题 我有这个可变 高度 布局 并且希望页脚始终粘在底部 我使用了最小高度 100 到容器 div 并以某种方式让它始终位于底部 问题是 它沉得太低了 我在这里
  • 如何将 .c 和 .h 文件添加到 Atmel Studio 6?

    我知道关于这个主题有很多问题 而且我已经研究了其中相当多的问题 但是我仍然遇到问题 我开始为 PCB 原型编写测试程序 现在它已增长到近 1000 行 我正尝试将其分解为可用于特定功能的库 我以为这会很简单 为我需要的每个库制作 c 和 h
  • 屏幕高度兼容 iphone 5 和 iphone 4 [重复]

    这个问题在这里已经有答案了 可能的重复 如何支持更高的 iPhone 5 屏幕尺寸 我是 iPhone 新手 我有一个小疑问 现在iphone5的屏幕高度是568 以前的iphone的屏幕高度是480 我们如何实现iphone5的应用程序
  • 获取gridview(不是datagridview)中单击的单元格索引asp.net

    当我单击 gridview 不是 datagridview 中的单元格时 我想获取单元格索引 不是行索引 而不是行索引 我使用 asp net c Use the RowCreated注册单元格的事件 单击每个单元格并处理GridView
  • 无法使用 i 从 1 到 n 循环重复执行 shell 脚本

    这是有效的 例如 打印 3 个参数 to run argv do shell script echo count argv arguments end run 这不会 仅打印 参数 3 三 而不打印前两个参数 to run argv do
  • 为什么当我使用SOLR查询所有文档时CPU使用率接近100%

    我有一个使用 SOLR 查询 200 万以上文档并按时间排序的应用程序 查询 URL 参数如下 select sort p review date desc rows 10 start 0 q 参数start为变量值 每个请求增加10 当我