我正在寻找构建一个服务器,其中包含许多由XML API提供的小文件.它不会对顺序文件的目录或块进行大量迭代 - 我们正在讨论大量不连续的数据.
对于单个文件的请求,是否会在BSD UFS上寻找时间随着时间的推移而降级?我知道文件系统的inode限制是基于分区/片的大小,但是硬盘驱动器必须在每个文件请求之前逐步执行inode表,然后才能发现数据的位置.什么文件系统为寻道时间带来最佳性能?
另一种方法是设置2-4GB"blob"文件,并有一个单独的系统,可以从软件中查找包含在其中的文件.该软件的"inode表"可以根据当前登录的用户等进行优化以进行交付......这些"inode表"可能会缓存在RAM中,并且只与当前登录的用户有关,因此浪费的资源更少.
这两种解决方案在可扩展性和维护方面的优势在哪里?通过使用第二种解决方案,我可以期待什么样的性能提升?
最明显且经过时间验证的缓解技术是对目录(和路径名搜索策略)使用良好的分层设计,并且每个目录中包含更少文件的目录.