Adventures of scaling eins.de
Patrick Lenz, founder and lead developer of freshmeat.net was also responsible for the relaunch of another website eins.de which recently moved from php to ruby. Eins.de site serves about 1.2 million dynamic pages a day. He wrote a series of articles describing how they redesigned the site to scale for growth. I found these articles very informative with a extreemly mature discussion of the colorful world of scalability.
- The adventures of scaling, Stage 1
- Questions and answers for Stage 1
- The adventures of scaling, Stage 2
- The adventures of scaling, Stage 3
- The adventures of scaling, Stage 4
Systems optimization
- Use Linux 2.6 instead of 2.4
- Use self-compiled Ruby 1.8.4 instead of all else
- Use MySQL-supplied binaries
- Use lighttpd 1.4.11 instead of all else
- Use memcache-client instead of Ruby-MemCache
- Use a smaller amount of dispatchers
- Watch your dispatchers
Code optimization
- Avoid components
- Use memcached to store expensive computations
- Use memcached for sessions
- Don’t use live-previews if your site is popular
- Use the exception notification to be aware of raised exceptions
Comments