即使似乎存在一些重复的问题,我认为这个问题是独一无二的。我不是在问是否有任何限制,只是关于Apache的上下文中的性能缺陷。或者unix文件系统。
让我们说如果我从Apache服务器请求文件
http://example.com/media/example.jpg
同一目录“media”中有多少个文件是否重要?
我问的原因是我的PHP应用程序动态生成图像。
创建后,它会将其放在PHP脚本因ModRewrite而触发的相同位置。如果该文件存在,Apache将跳过整个PHP执行并直接提供静态图像。如果您想以这种方式调用它,可以使用某种网关缓存。
Apache基本上有两件事要做:
到目前为止,我在这个目录中有大约25.000个大约8 GB的文件。我希望它在未来几年至少增长10倍。
虽然我没有遇到任何管理这些文件的问题,但我有一种轻微的感觉,当它通过HTTP请求时它会变慢。所以我想知道这是真的发生了什么,还是只是我的主观印象。
答案 0 :(得分:0)
由于多个间接级别,大多数基于Berkeley FFS的文件系统会因一个目录中的大量文件而降低性能。
我不知道其他文件系统,如HFS或NTFS,但我怀疑他们可能会遇到同样的问题。
我曾经不得不处理类似的问题,最后使用了地图来处理文件。
我认为这就像md5 myfilename-00001
屈服(例如):e5948ba174d28e80886a48336dcdf4a4
然后我将其放入名为e5/94/8ba174d28e80886a48336dcdf4a4
的文件中。然后映射文件将'myfilename-00001'映射到'e5 / 94 / 8ba174d28e80886a48336dcdf4a4'。这个不太优雅的解决方案适用于我的目的,它只需要一些代码。