我想要构建一个服务器,通过XML API提供大量的小文件。它不会在目录或连续文件块之间进行大量迭代——我们需要大量的不连续数据查找。
对于单个文件请求,BSD UFS的寻址时间是否会随着时间的推移而降低?我了解到,文件系统的inode限制是基于分区/切片的大小,但硬盘在发现数据位置之前必须为每个文件请求遍历inode表。哪种文件系统的寻址性能最佳?
另一种选择是设置2-4GB的“blob”文件,并且从软件内部寻找包含在其中的文件的单独系统。基于当前登录用户等因素,软件的“inode表”可以针对交付进行优化...这些“inode表”可能会被缓存在RAM中,并且只与当前已登录的用户相关联,以减少浪费的资源。
这两种解决方案在可扩展性和维护方面如何评价?如果使用第二种解决方案,可以期望获得什么样的性能收益(如果有)?
对于单个文件请求,BSD UFS的寻址时间是否会随着时间的推移而降低?我了解到,文件系统的inode限制是基于分区/切片的大小,但硬盘在发现数据位置之前必须为每个文件请求遍历inode表。哪种文件系统的寻址性能最佳?
另一种选择是设置2-4GB的“blob”文件,并且从软件内部寻找包含在其中的文件的单独系统。基于当前登录用户等因素,软件的“inode表”可以针对交付进行优化...这些“inode表”可能会被缓存在RAM中,并且只与当前已登录的用户相关联,以减少浪费的资源。
这两种解决方案在可扩展性和维护方面如何评价?如果使用第二种解决方案,可以期望获得什么样的性能收益(如果有)?