在测试wso2流处理器服务器的性能时,我在部署目录中放了更多的.siddhi文件。这导致"对于许多打开的文件"问题。
我所掌握的规则的细节是:所有规则都听取相同的kafka话题
每个规则都有自己的组ID(这样所有规则都可以同时处理流)
当部署文件夹中的.siddhi文件数超过大约100时。没有其他.siddhi文件被部署,siddhi没有响应。
任何人都可以告诉我:
我真的错了吗?答案 0 :(得分:0)
这可能是由于您的操作系统配置造成的。运行以下命令以显示所有当前限制。
ulimit -a
ulimit -n 70000
将设置文件描述符限制。
在增加限制后试用方案。
此外,验证您是否在100个文件中复制相同的规则或 它有100种不同的规则。
答案 1 :(得分:0)
这里似乎发生的事情是您用尽了打开的文件描述符。正如@pcnfernando在上一个答案中建议的那样,您可以使用ulimit -n ####
来设置描述符限制。
但是,真正的问题是为什么会这样?这可能是由于多种原因。您的siddhi文件数量,以及Kafka主题/分区的数量(因为这也可能导致太多打开的连接)。
因此,即使您使用ulimit -n ####
解决了该问题,也最好使用lsof
[1]进行一些调查,看看实际上是哪个引起问题的过程。这将帮助您解决Q1。
第二季度。定义可以在单个服务器中部署的Siddhi规则的数量没有严格的规则。在这种情况下,这全都取决于变量,例如处理能力,内存以及打开文件描述符的数量。
[1] https://www.ibm.com/developerworks/aix/library/au-lsof.html