Solr服务器内存和磁盘空间

pie*_*rot 1 linux solr

语境:

\n\n

我有一个 AWS EC2 实例

\n\n
    \n
  • 8Gb 内存
  • \n
  • 8GB 磁盘空间
  • \n
\n\n

它运行Solr 5.1.0

\n\n
    \n
  • 2048Mb 的 Java 堆
  • \n
  • -Xms2048m -Xmx2048m
  • \n
\n\n

额外:(更新)

\n\n
    \n
  • 日志是在服务器上生成的
  • \n
  • 导入每隔 10 秒发生一次(始终是增量)
  • \n
  • 从数据库导入 ( JdbcDataSource)
  • \n
  • 我认为我现在没有配置任何优化策略
  • \n
  • 气相色谱分析?我不知道。
  • \n
  • 我怎样才能知道字段有多大..以及什么是大?
  • \n
\n\n

情况:

\n\n

Solr 上的索引有 200.000 个文档,每秒查询次数不超过一次。然而,大约10天后,服务器的内存和磁盘空间达到可用空间的90% - 95%。

\n\n

在调查磁盘使用情况时,sudo du -sh /它仅返回总计2.3G. 几乎没有告诉我的那么多df -kUse% -> 92%)。

\n\n

我可以通过重新启动 Solr 服务来解决这种情况。

\n\n

我缺少什么?Solr 为什么会消耗所有内存和磁盘空间以及如何防止它?

\n\n

@TMBT 的额外信息

\n\n

抱歉耽搁了,但我\xe2\x80\x99最近几天一直在监视 Solr 生产服务器。您可以在此处查看综述:\n https://www.dropbox.com/s/x5diyanwszrpbav/screencapture-app-datadoghq-com-dash-162482-1468997479755.jpg?dl=0 \nSolr 的当前状态:https ://www.dropbox.com/s/q16dc5t5ctl32od/Screenshot%202016-07-21%2010.29.13.png?dl=0 \n我在监控开始时重新启动了Solr,现在,2天后我看到了磁盘空间以每天 1.5Gb 的速度减少。\n如果您需要更多详细信息,请告诉我。

\n\n
    \n
  • 每天删除的文档没有那么多。我们\xe2\x80\x99 每天最多谈论 50 - 250 次。
  • \n
  • Solr当前的日志目录:ls -lh /var/solr/logs->total 72M
  • \n
  • 没有主从设置
  • \n
  • 导入器每 10 秒运行一次,但每次导入的文档不超过 10 - 20 个。每天晚上都会进行 3k-4k 文档的大量导入。当时 Solr 中没有进行太多操作。
  • \n
  • 没有大字段,最大字段最多可以包含 255 个字符。
  • \n
\n\n

监控到位后,我测试了最常见的查询。它确实包含分面(字段、查询)、排序、分组、\xe2\x80\xa6 但我并没有 \xe2\x80\x99t 真正影响堆和 gc 计数的各种指标。

\n

pie*_*rot 5

我终于设法解决了这个问题。所以我正在回答我自己的问题。

log4j.properties我在位于/var/solr/(我的情况下为 Solr 根位置)的文件中更改/添加了以下行。

# log4j.rootLogger=INFO, file, CONSOLE
# adding:
log4j.rootLogger=WARN, file, CONSOLE
Run Code Online (Sandbox Code Playgroud)

降低日志记录级别。

# adding:
log4j.appender.file.Threshold=INFO
Run Code Online (Sandbox Code Playgroud)

设置日志记录阈值。

您可以从下图中看到,截至 9 月 2 日,磁盘使用情况保持稳定。服务器上的内存消耗也是如此。

solr图