I have directory that contains 400,000+ files. Potentially the directory could easily contain ~30,000,000 files.Is that a good idea or should I rather chop it up in smaller directories like this:/images/1//images/2//images/3//images/4/etc.What size should I make the smaller directories? Would 100,000 files in each directory be a good idea?
What is a recommended maximum number of files in a directory on your webserver?
ftp;files
I am going to give this a shot.From a filesystem point of view:FAT32:Maximum number of files: 268,173,300Maximum number of files per directory: 216 - 1 (65,535)Maximum file size: 2 GiB - 1 without LFS, 4 GiB - 1 with  NTFS:Maximum number of files: 232 - 1 (4,294,967,295) Maximum file size    Implementation: 244 - 26 bytes (16 TiB - 64 KiB)Theoretical: 264 - 26 bytes (16 EiB - 64 KiB)Maximum volume size    Implementation: 232 - 1 clusters (256 TiB - 64 KiB)Theoretical: 264 - 1 clustersext2:Maximum number of files: 1018Maximum number of files per directory: ~1.3 × 1020 (performance issues past  10,000)Maximum file size    16 GiB (block size of 1 KiB)256 GiB (block size of 2 KiB)2 TiB (block size of 4 KiB)2 TiB (block size of 8 KiB)Maximum volume size    4 TiB (block size of 1 KiB)8 TiB (block size of 2 KiB)16 TiB (block size of 4 KiB)32 TiB (block size of 8 KiB)ext3:Maximum number of files: min(volumeSize / 213, numberOfBlocks) Maximum file size: same as ext2Maximum volume size: same as ext2ext4:Maximum number of files: 232 - 1 (4,294,967,295)Maximum number of files per directory: unlimitedMaximum file size: 244 - 1 bytes (16 TiB - 1)Maximum volume size: 248 - 1 bytes (256 TiB - 1)Reference:https://stackoverflow.com/questions/466521/how-many-files-can-i-put-in-a-directoryFrom a functionality point of view:Keep in mind that on Linux if you have a directory with too many  files, the shell may not be able to expand wildcards. I have this  issue with a photo album hosted on Linux. It stores all the resized  images in a single directory. While the file system can handle many  files, the shell can't.From a server speed point of view:Too many files in one directory can cause load times to increase by seconds. Having too many directories can also increase load times. (Your server specs play a role in this)From an SEO point of view.I can understand not having proper image names for security reasons (assuming a user uploads photos and you have a rewrite in place) But you really should give a content relevant (sub)directory names for better search ranking and the ability to partially remove URL's to get to another spot on your server. (ie photos/outdoor/landscape/mountains)In the end there is no one fits all but you can make a better informed decision based on the aforementioned.