即使是不成熟的尝试,也胜于胎死腹中的策略。

单节点ES文件句柄数问题

Elasticsearch | 作者 yeziblo | 发布于2020年09月11日 | 阅读数:2464

请教下各位老哥,我有一个单节点的ES,总共有将近一千万条数据,索引有42个。

然后最近测试的同事反映ES占用文件句柄数太大:

123.png

 
但是我执行 /_nodes/stats/process 后,发现打开的文件数又很少:
 
"open_file_descriptors" : 1447,
"max_file_descriptors" : 1024000
 
1447对比70万,也差了太远了吧……
 
究竟哪一个才是正确的呢?
 
另外如果70万是正确的,单节点ES为什么会有这么大的文件句柄占用呢?请教下各位有没有什么可以考虑优化的点。
 
segments的数量我有定期合并,目前看segements的数量大概200多个。
已邀请:

yeziblo

赞同来自:

自己解答一下吧…
 
使用lsof -n命令获得的结果是非常不准确的,它会把一些并没有占用句柄数的文件也一并计算在内。
 
使用ES API查到的数据是准确的。
 
再补充一下在linux查询进程占用fd比较准确的方法吧:ls -l /proc/<pid>/fd | wc -l

要回复问题请先登录注册