Apache Kafka如何使用开放文件描述符?

时间:2018-03-09 06:49:01

标签: apache-kafka

我想知道Kafka如何使用开放文件描述符。为什么建议使用大量的打开文件描述符。它是否会影响生产者和消费者的吞吐量。

3 个答案:

答案 0 :(得分:3)

代理为每个日志段文件和网络连接创建和维护文件句柄。如果代理托管许多分区并且分区具有许多日志段文件,则总数可能非常大。这也适用于网络连接。

我不会立即看到设置较大file-max导致的任何可能的性能下降,但页面缓存未命中。

答案 1 :(得分:2)

Kafka为每个段文件保持一个文件描述符打开,如果限制太低,它会失败。我不知道它是否会影响消费者吞吐量,但我认为它没有,因为Kafka似乎忽略了限制,直到达到它。

段文件的数量是分区数乘以某个取决于保留策略的数字。默认保留策略是在一周后启动新段(或1GB,无论先发生什么),并在其中的所有数据都超过一周时删除段。

免责声明:这个答案适用于Kafka 1.0,基于我从一个安装中学到的东西

答案 2 :(得分:0)

我们可以通过以下方式进行检查。

如果代理托管许多分区。例如,Kafka经纪人至少需要以下数量的文件描述符才能跟踪日志段文件:

(分区数)*(分区大小/段大小)