Welcome to WebmasterWorld Guest from 188.8.131.52 , register , free tools , login , search , subscribe , help , library , announcements , recent posts , open posts Subscribe to WebmasterWorld
Is it not a good idea to store all user profile images in one folder? NeedExpertHelp msg:4194210 11:07 pm on Aug 30, 2010 (gmt 0) 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!
bcc1234 msg:4194212 11:09 pm on Aug 30, 2010 (gmt 0)
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.
NeedExpertHelp msg:4194216 11:19 pm on Aug 30, 2010 (gmt 0)
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?
ergophobe msg:4194237 12:06 am on Aug 31, 2010 (gmt 0)
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 :-)