代码之家  ›  专栏  ›  技术社区  ›  Konstantinos Koliopoulos

Solr文件描述符计数

  •  2
  • Konstantinos Koliopoulos  · 技术社区  · 7 年前

    它运行在4核CPU、16GB RAM、120GB HD、CentOS专用机器上。

    第一个核心每天完全导入一次。

    第二个核心是完全进口每两个小时。

    第三个核心是每两小时进口一次delta。

    4rth核心每两小时完全进口一次。

    服务器也有相当数量的查询(搜索和创建、更新和删除文档)。

    每个核心都有maxDocs:100和maxTime:15000用于自动提交,maxTime:1000用于自动提交。

    系统用途为:

    1. 0MB交换空间

    2. 4096个文件描述符计数的94%左右

    3. 1.21GB JVM内存的60%到90%。

    当我重新启动机器时,文件描述符计数下降到接近0,然后在一周左右的时间内稳定地达到上述值。

    总之,我的问题是:

    1. 4096个文件描述符计数的94%正常吗?

    2. 如何计算最大和使用的文件描述符计数的理论最佳值。

    事先非常感谢!

    2 回复  |  直到 7 年前
        1
  •  3
  •   MatsLindh    7 年前
    1. 当然
    2. ulimit -n <number> . 看见 Increasing ulimit on CentOS
    3. 实际上没有一个-根据许多因素的不同,需要多少就有多少,例如您的合并因子(如果您有 许多的 文件,打开的文件数量也会很大-这对于不是完整导入的索引尤其如此。检查数据目录中的文件数量,如果同一索引变得非常零散且合并因子很大,则发出优化)、搜索者数量、同一服务器上运行的其他软件等。
    4. 它可以。是的(或者至少它不能正常工作,因为它无法打开任何新文件)。不。实际上,你会收到一条关于无法打开文件的消息,消息是“打开的文件太多”。
        2
  •  0
  •   Konstantinos Koliopoulos    7 年前

    因此,文件描述符计数(FDC)的问题,更准确地说,随着FDC的不断增加,是我在每次更新后都要提交!

    我注意到Solr并没有删除旧的事务日志。因此,一周后,FDC达到最大值,我被迫重新启动。

    我在每次更新后都停止提交,现在我的Solr统计是:

    1. 0MB交换空间
    2. 4096个文件描述符计数的4%左右

    此外,自动提交(软&硬)会删除旧的事务日志,Solr不再有性能问题!

    因此,正如本文所指出的:

    Understanding Transaction Logs, Soft Commit and Commit in SolrCloud

    “客户承诺时要非常小心!事实上,不要这样做。”