Goo*_*bot 5 files performance directory hash inode
我想在我的服务器上管理大量文件(比如数百万)。需要将文件保存在两级或三级文件夹中,以保持每个文件夹中的文件数量较少。另一方面,有很多文件夹来使用inode也不好。
每个文件夹的最佳文件比例是多少?是否有确定这一点的理论方法,还是取决于服务器规格?
服务器规范的问题可能比您使用的文件系统要小。不同的文件系统有不同的方法来存储目录数据。这将影响各种尺寸的扫描速度。
另一个重要的考虑因素是文件的生命周期。如果您经常添加和删除文件,您可能希望叶目录比其他情况下可能要小。
您可能需要查看 Apache Web 服务器和 Squid 代理使用的缓存目录结构。这些是经过良好测试的缓存,可以处理相对较高的变化率,并且可以很好地扩展。
编辑:您问题的答案在很大程度上取决于文件的生命周期和访问模式。这些因素将显着影响磁盘 I/O 和缓冲内存要求。文件数量可能是一个不太重要的因素。
除了选择的文件系统之外,内存、磁盘接口、磁盘数量和raid 设置都会影响磁盘访问性能。性能需要足以满足要求并有一定的余地。
随着写入和删除的增加,磁盘设置往往变得更加重要。随着对文件的访问变得更加随机,它也可能更加重要。这些因素往往会增加对磁盘吞吐量的要求。
增加内存通常会使从磁盘缓冲区访问文件而不是从磁盘访问文件的可能性更大。这将提高大多数系统的文件访问性能。访问许多大文件可能会导致磁盘缓存较差。
对于我使用过的大多数系统,文件被访问的可能性与它上次访问的时间有关。文件被访问的时间越近,它被再次访问的可能性就越大。在这些情况下,散列算法在优化检索方面往往很重要。如果文件访问是真正随机的,这就不那么重要了。
删除文件所需的磁盘 I/O 可能明显高于添加文件。许多系统在从大目录中删除大量文件时存在严重问题。文件添加和删除的比率越高,这变得越重要。考虑这些因素时,文件生命周期是一个重要因素。
备份是另一个问题,可能需要进行安排,以免导致磁盘缓冲问题。较新的系统允许对 IO 进行优化,因此备份和其他维护程序对应用程序的影响较小。
归档时间: |
|
查看次数: |
984 次 |
最近记录: |