Closed
Description
假设目录d下只有n个文件f,ls d
会触发1 opendir + 1 read dir + n getattr
fuse调用。 当n很大时,getattr会导致严重的性能问题。
可以从以下两方面优化:
- 通过
-omax_stat_cache_size=xxx
参数增大stat cache的size,这样第一次ls会较慢,但是后续的ls就快了,因为文件的元数据都在本地cache中。默认这个值是1000,大约消耗4MB内存,请根据您机器内存大小调整为合适的值。 - 使用
ls -f
命令,这个命令会消除n次getattr调用,提高性能。
注:上述数据在centos7.0,fuse2.9.2版本下测得。
Metadata
Metadata
Assignees
Labels
No labels