October 2007
Mon Tue Wed Thu Fri Sat Sun
« Sep   Nov »

Month October 2007

Secrets to Fotolog’s Scaling Success

Excellent piece on Fotolog and scaling UGC sites from highscalability.com.   Lessons learned sections contains a good summary

Secrets to Fotolog's Scaling Success | High Scalability

Lessons Learned

  • Popularity is driven by a base of active users, not a rich set of cool features. 
  • The web is global and its tail is very long. By courting users outside the US with language and culturally specific design you can compete with the big boys. Some the hardest competition for Google, Yahoo, etc comes from local startups with an ear to what the locals want.·  If you want to get a lot of buzz then do what ever alpha geeks want you to do. If you want a lot of happy users do what they want you to do.
  • Constraints in web sites can, like in poetry, make something unexpectedly better. The rule that users are only allowed to post one photo per day creates an environment where people comment more on each others photos which creates a more engaged community. Who knew? ·  Protect your website with limits. Limit the size of pictures, comments, etc so your resource usage doesn't grow outrageously.
  • Have a vision. Have a strong sense of what your site is supposed to be and why, then use that vision to decide what you should build and how you should build it. Their vision of social site built around daily photographs led to a very different site than one where your goal is to store all your photos.
  • Revenue generation features can be added without destroying the integrity of your site. I really like how they give people a reasonable set of features for free and then charge for the resources they need to have more. Those features also serve to extend and reinforce the social vision of their site. It will be interesting to see how their new monetization strategies play out.

·  Making MySQL perform:
– Find the source of the problem.
– Mature systems are mostly disk bound.
– The query cache may be hurting you.
– Add RAM to help dodge the bullet.
– Stripe your disks.
– Restructure tables for optimal performance.
– Use libumem.so to find memory leaks.