The author describes several steps they took to scale their early stage startup as traffic increased:
1) They initially misconfigured their web server and database to use too much RAM, slowing performance, but easily fixed it.
2) As traffic increased, keeping HTTP connections open for a long time ("keepalive") exhausted server resources, so they disabled it.
3) Caching database data and rendered HTML on disk with Perl's Cache::FileCache helped improve performance.
4) Switching from MySQL to flat file storage using Perl's Tie::File improved performance for small data. BerkeleyDB was even faster.
5) Separating static content like images onto a different server improved concurrency.