Ahs*_*san 5 performance nginx web-server static-content
我需要使用 nginx 提供大约 70,000 个静态文件 (jpg)。我应该将它们全部转储到一个目录中,还是有更好(有效)的方法?由于文件名是数字,我考虑使用如下目录结构:
xxx/xxxx/xxx
操作系统为 CentOS 5.1
这实际上取决于您用来存储文件的文件系统。
当一个目录中有数千个文件时,某些文件系统(如 ext2 和较小程度上的 ext3)会非常慢,因此使用子目录是一个非常好的主意。
其他文件系统,如 XFS 或 reiserfs(*),在一个目录中有数千个文件时不会减慢速度,因此无论您有一个大目录还是许多较小的子目录都没有关系。
(*) reiserfs 有一些不错的功能,但它是一个实验性玩具,有过灾难性故障的历史。不要将它用于任何即使是非常重要的事情。
标杆、标杆、标杆!您可能会发现这两个选项之间没有显着差异,这意味着您最好将时间花在其他问题上。如果您进行基准测试并发现没有真正的差异,请选择更容易的方案 - 如果只有程序必须访问文件,那么什么是易于编码的,或者如果人们需要经常使用文件,则什么是易于人类使用的。
至于哪个更快,我相信目录查找时间与目录中文件数量的对数成正比。因此,嵌套结构的三个查找中的每一个都会比一次大查找更快,但所有三个查找的总和可能会更大。
但别相信我,我不知道我在做什么!在重要的时候衡量绩效!
归档时间: |
|
查看次数: |
1550 次 |
最近记录: |