Welcome to WebmasterWorld Guest from 22.214.171.124 , register , free tools , login , search , pro membership , help , library , announcements , recent posts , open posts Pubcon Platinum Sponsor 2014
Is it not a good idea to store all user profile images in one folder? NeedExpertHelp
Hi, In a social networking site where each user has a profile image, is it not a good idea to store all the thousands of profile images in the same folder on your server? What are the pros and cons? If the answer is no, then what is a better method? Thanks!
It's not a good idea to store a lot of files of any kind in the same directory. Most file systems use a list as the main internal structure. So the more files you have in a directory, the more resources it takes to match a file name to an inode. Instead, use a nested directory structure.
bcc1234, thanks for your reply. In the case of profile images on a social networking site, how would you recommend organizing the profile pics and why?
If you had all your files using randomaly generated names, allowing a-z0-9, you could just drop them into a directory structure based on the first two characters of the filename like so ./a/b/ab23asdfaw3os49087sd.jpg ./s/d/sdw3sx0d7f30s9derfh3.jpg And so on. that would give you 1296 directories, with files evenly spread throughout. So with 1,296,000 users, you would only have 1000 files per directory. There's an interesting read on the web about how Flickr scales to serve billions of images up. Balanced clusters for MySQL servers that hold user information and paths to the actual images which are served up of file servers and which can be addressed directly with the right URL. [ ...] highscalability.com It's from 2007, but it's an interesting read if you think you'll scale to 40 million users and 2 billion images :-)