0

在测试 wso2 流处理器服务器的性能时,我在部署目录中放置了数百个 .siddhi 文件。这导致“到许多打开的文件”问题。

我拥有的基本规则是:

  1. 所有规则都听同一个 kafka 主题

  2. 每个规则都有自己的组 ID(以便所有规则同时处理流)

  3. 当部署文件夹中的 .siddhi 文件数量超过大约 100 时。没有部署其他 .siddhi 文件,并且 siddhi 变得无响应。

谁能告诉我:

1.我哪里出错了?

  1. 在单个 siddhi 服务器上创建规则的限制是什么?
4

2 回答 2

0

这里似乎发生的事情是您用完了打开的文件描述符。正如@pcnfernando 在上一个答案中建议的那样,您可以使用ulimit -n ####.

然而,真正的问题是为什么会这样?这可能是由于几个原因。您的 siddhi 文件数量,以及 Kafka 主题/分区的数量(因为这也可能导致打开的连接过多)。

因此,即使您使用 解决了问题ulimit -n ####,最好使用lsof[1] 进行一些调查,看看是哪个进程实际导致了问题。这将对 Q1 有所帮助。

对于第二季度。定义可以在单个服务器中部署的 Siddhi 规则的数量没有硬性规定。这完全取决于处理能力、内存等变量,当然还有在这种情况下打开文件描述符的数量。

[1] https://www.ibm.com/developerworks/aix/library/au-lsof.html

于 2018-06-20T16:29:12.453 回答
0

这可能是由于您的操作系统配置所致。运行以下命令以显示所有当前限制。

 ulimit -a

ulimit -n 70000将设置文件描述符限制。

增加限制后尝试场景。

此外,验证您是在 100 个文件中复制相同的规则,还是在 100 个不同的规则中复制。

于 2018-06-18T18:45:44.973 回答