Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于Linux的应用程序中同一文件夹中的多个图像_Linux_Image_File_Directory - Fatal编程技术网

基于Linux的应用程序中同一文件夹中的多个图像

基于Linux的应用程序中同一文件夹中的多个图像,linux,image,file,directory,Linux,Image,File,Directory,我有一个基于Linux的应用程序(Drupal-PHP+Apache+MySQL),它可以快速扩展,在同一个文件夹中保存数千张图片。我现在大概快2000了。在一个文件夹中有这么多图像有什么缺点吗?它是否会对性能产生影响 我不打算浏览该文件夹中的文件,服务器只是在请求图像的URL时为其提供服务,但我想知道我将来是否会遇到问题(应用程序正在缩放,缩放的图片数量最多可能达到20000、30000张图像…)。也许我应该计划一个策略,将这个巨大的图片文件夹拆分成子文件夹,比如使用子文件夹的用户名,或者图片

我有一个基于Linux的应用程序(Drupal-PHP+Apache+MySQL),它可以快速扩展,在同一个文件夹中保存数千张图片。我现在大概快2000了。在一个文件夹中有这么多图像有什么缺点吗?它是否会对性能产生影响

我不打算浏览该文件夹中的文件,服务器只是在请求图像的URL时为其提供服务,但我想知道我将来是否会遇到问题(应用程序正在缩放,缩放的图片数量最多可能达到20000、30000张图像…)。也许我应该计划一个策略,将这个巨大的图片文件夹拆分成子文件夹,比如使用子文件夹的用户名,或者图片上传的年份和月份

简言之,问题是:对于Linux服务器来说,在同一个文件夹中有数千个图像是否不好(不确定我的应用程序使用的是哪种风格,它实际上是在共享托管环境中)?我是否应该采取措施避免这种做法,并将这些项目拆分为子文件夹?对于每个文件夹的文件数或每个文件夹的最大文件数,是否有任何建议


感谢您分享您的想法。

这在很大程度上取决于文件系统(以及装载选项)

最近的文件系统(,..)能够处理包含大量文件的大型目录(因此可能可以处理包含50万个文件的目录)

然而,在极少数情况下,您需要一个多TB的文件系统,您不会高兴的

然而,shell(和globbing函数-read等)可能对包含数千个条目的目录不满意。(考虑在交互式shell中可能需要扫描目录)。如果
ls
需要一分钟来回答数千行,那么人类用户(例如一些系统管理员)可能会发疯

我建议每个目录不超过几千个文件(包括子目录)。考虑组织你的图像,比如“代码> A0/001。PNG < /代码>…<代码>a0/999.png
a1/001.png
<代码>a1/999.png<代码>b9/等

如果你有大量的文件,你可能需要为它们使用不同的文件系统(例如一个磁盘上的
a0/
a9/
,另一个磁盘上的
b0/
b9/
)。。。。或使用,或可能使用Swift对象存储或煤渣块存储等

还可以查看数据库

顺便说一句,如果你的目标是扩展到PB级存储,事情就会变得不那么容易


您可能希望在某个数据库中至少存储文件名。

谢谢,我想我不会存储到PB。如果我这样做了,那么到那时我将转向更强大的领域。但是谢谢你的提示,为未来做计划是很重要的。